一种区块链合作挖矿方法技术

技术编号:24763988 阅读:42 留言:0更新日期:2020-07-04 11:06
区块链的挖矿协议是开放,矿工可以根据具体情况选择适合自己的挖矿策略以提高收入。本发明专利技术提出了一种基于智能矿工与小功率合作矿工签订合约的合作挖矿方法,通过证明合作挖矿的可行性,分析对单个目标池上使用该策略时智能矿工的收入函数。在理论分析的基础上,设计了合作挖矿方法的具体实施步骤。本发明专利技术的有益效果为:利用本发明专利技术所述的合作挖矿方法,在特定条件下,智能矿工和合作矿工都可以获得比不合作情况下更高的预期收入;在特定条件下,智能矿工能获得比自私挖矿更高的预期收入。

A block chain cooperative mining method

【技术实现步骤摘要】
一种区块链合作挖矿方法
本专利技术涉及挖矿方法,尤其涉及一种区块链挖矿方法。
技术介绍
比特币是近年来兴起的一种加密货币,到2019年4月为止,比特币的市值已经达到723.66亿美元,并且已经形成了完整的金融生态系统。作为一种电子支付系统,比特币基于密码学而并非用户的信用。作为一种加密货币,比特币在近年来不断受到国内外学者的广泛关注,并且在交易的安全性方面,比特币要比之前的任何电子货币都有做得更加完善。比特币使用了对等网络(Peer-to-PeerNetwork)技术,任何一个用户都是一个网络级对等的节点。基于对等网络技术,比特币不需要任何第三方金融机构,如银行等中心化的机构,来实现用户的交易。比特币的安全性依赖于一个保存着过去和现在的所有交易信息的公开分类账,这被称为区块链系统。区块链的安全性是通过一系列密码难题来确立的,这些密码难题由分散在网络上的没有组织的参与者求解,这些参与者被称为矿工,求解的过程称之为挖矿。每个第一个成功求解某个包含着一系列比特币交易信息的密码难题的矿工将得到一笔比特币作为奖励。所有的矿工都在相互竞争,所以一个矿工所用于的计算资源(算力)越多,他成功解决密码学难题的可能性就越高。因此,这种奖励向矿工们提供了参与到比特币系统中的动力,并促使他们将自己的算力贡献在区块链系统中,同时这种挖矿奖励机制对于形成比特币的去中心化环境至关重要。在现在的挖矿竞争激烈的环境下,独立矿工能够发现区块的可能性已经很小了。出于现实角度的考虑,矿工们会联合起来,形成多个较大的占有着所有参与者的算力并与参与者依据某种奖励分配模式,如部分工作量证明(PartialProofofWorks,PPoWs)、完全工作量证明(FullProofofWorks,FPoWs)等,来共同分享挖矿所得奖励的矿池。通过加入一个矿池,矿工可以稳定而持续地获得矿池所得奖励的一小部分,从而降低了挖矿收入的不确定性。一个矿池由一个管理者和许多矿工组成。在每轮挖矿竞赛开始之前,管理者会将任务分派给矿工们。如果一个矿工很幸运地挖到了一个区块,管理者就会传播该区块。如果这个区块最终被加入到了主区块链中,管理者就会收到一份奖励并将之与矿池中的所有矿工分享。由于挖矿会不可避免地涉及到金钱分配的的缘故,很显然比特币以及区块链会因此而成为一些恶意智能矿工的目标。事实上,智能矿工可以通过合作获得更多的收入。
技术实现思路
专利技术目的:为了解决现有技术存在的问题,本专利技术的目的是提供一种智能矿工与小功率合作矿工通过签订合约的方式进行合作挖矿的一种新型挖矿方法。技术方案:一种区块链合作挖矿方法,令函数Len(x)表示区块链x的长度,执行以下步骤:步骤201:智能矿工在已知的公共区块链后进行挖掘,挖掘到新区块后不公布,将新区块添加入自己的私有区块链中;步骤202:令Pub为最长链,Pri为私有区块链,PPri为私有区块链中被公布的部分;步骤203:智能矿工在挖掘的过程中不断对公共区块链进行检测,如果Len(Pri)>Len(Pub)>Len(PPri),则执行步骤204,否则执行步骤201;步骤204:智能矿工公布私有区块链中的第一个未公布区块C,令Len(PPri)=Len(PPri)+1;步骤205:判断是否Len(Pub)=Len(PPri),如果是,则执行步骤206,否则执行步骤209;步骤206:如果有其他诚实矿工发现了一个新的区块B,执行步骤207,否则执行步骤1;步骤207:如果区块B的父区块为智能矿工的已公布的私有区块链PPri上,则执行步骤209,否则执行步骤208;步骤208:与合作矿工分享区块C的收入,执行步骤201;步骤209:判断私有链上是否存在未公布的区块,即,是否Len(Pri)>Len(PPri),如果是,则执行步骤204,否则执行步骤201。进一步的,还包括智能矿工和合作矿工签订合约的步骤:步骤101:智能矿工寻找到一个目标矿池,该目标矿池的算力满足然后向目标矿池中的矿工发起签订合约的邀请,该邀请中包含智能矿工自身的算力值α,其中α和β分别代表智能矿工和目标矿池的算力;步骤102:目标矿池中的每个收到邀请的矿工p确定智能矿工的身份和智能矿工的算力值α,决定是否接受邀请;如果接受邀请,则矿工p发送一个响应给智能矿工,该响应中包含矿工p的算力值τpβ,其中τp为矿工p的算力占目标矿池总算力的比例;步骤103:智能矿工将决定一个τ∈(0,1),并且从接受邀请的矿工中不断选择最低算力值的矿工,直到合作矿工的总算力达到τβ,其中τ为合作矿工算力占目标矿池总算力的比例;步骤104:智能矿工与选择的合作矿工签订合作挖矿合约。和现有技术相比,本专利技术具有如下显著进步:利用本专利技术所述的合作挖矿方法,在特定条件下,智能矿工和合作矿工都可以获得比不合作情况下更高的预期收入;在特定条件下,智能矿工能获得比自私挖矿更高的预期收入。附图说明图1是合作挖矿示意图;图2是自私挖掘三种状态图示。灰色阴影矩形代表最终被区块链主链丢弃的区块,虚线矩形代表自私矿池的未公布私有区块,箭头上的数值代表状态转换的概率,α代表智能旷工的算力;图3是合作策略的10种状态图示。其中灰色阴影矩形代表最终被区块链主链所丢弃的区块,虚线矩形代表智能矿工尚未公布的私有区块,箭头上的数值代表状态转换的概率,α代表智能旷工的算力,γ表示选择在智能矿工的分支后挖掘的概率;图4是智能矿工和合作矿工签订合约的流程图;图5是Pub,Pri和PPri的示例图。其中H1和H2是由诚实矿工挖掘的公共区块链部分;A1、A2、A3、A4是由智能矿工或者合作矿工所挖掘的智能矿工的私有区块,其中A1和A2已经被公布,A3和A4尚未被公布;图6是合作挖矿流程图。具体实施方式下面结合附图和具体实施例,详细阐述本专利技术的技术方案。首先定义三种类型的矿工:(1)智能矿工(即合作挖矿的发起者):智能矿工是一个如果发现了有效的区块时不会立即公布的自私挖掘矿池,其私有区块会根据目前区块链的状态来决定公布的策略从而产生分支。这个分支可能会让诚实矿工所挖掘的区块失效,让智能矿工获得额外收入。(2)诚实矿工:诚实矿工总是在公共区块链上以诚实挖掘策略进行挖掘并且只传播他们所接收到的第一个区块。(3)合作矿工:如果智能矿工没有发送合作请求,合作矿工如诚实矿工般挖掘;合作矿工一旦收到智能矿工传播的私有区块,他就会与智能矿工合作,只传播私有区块并在其后挖掘,忽视其他矿池所挖掘的区块。定义目标矿池为合作矿工所在的目标矿池。本专利技术扩展了自私挖掘策略,当区块链产生分叉时,智能矿工利用一些小功率的合作矿工来传播自己的私有区块。本专利技术将此挖矿策略称为合作挖矿方法。本专利技术设计了一种运行在智能矿工和合作矿工之间的合作挖矿方法,计算出针对单目标矿池场景下占优策略和纳什均衡。智能矿工更倾向于诱使本文档来自技高网
...

【技术保护点】
1.一种区块链合作挖矿方法,其特征在于:令函数Len(x)表示区块链x的长度,执行以下步骤:/n步骤201:智能矿工在已知的公共区块链后进行挖掘,挖掘到新区块后不公布,将新区块添加入自己的私有区块链中;/n步骤202:令Pub为最长链,Pri为私有区块链,PPri为私有区块链中被公布的部分;/n步骤203:智能矿工在挖掘的过程中不断对公共区块链进行检测,如果Len(Pri)>Len(Pub)>Len(PPri),则执行步骤204,否则执行步骤201;/n步骤204:智能矿工公布私有区块链中的第一个未公布区块C,令Len(PPri)=Len(PPri)+1;/n步骤205:判断是否Len(Pub)=Len(PPri),如果是,则执行步骤206,否则执行步骤209;/n步骤206:如果有其他诚实矿工发现了一个新的区块B,执行步骤207,否则执行步骤1;/n步骤207:如果区块B的父区块为智能矿工的已公布的私有区块链PPri上,则执行步骤209,否则执行步骤208;/n步骤208:与合作矿工分享区块C的收入,执行步骤201;/n步骤209:判断私有链上是否存在未公布的区块,即,是否Len(Pri)>Len(PPri),如果是,则执行步骤204,否则执行步骤201。/n...

【技术特征摘要】
1.一种区块链合作挖矿方法,其特征在于:令函数Len(x)表示区块链x的长度,执行以下步骤:
步骤201:智能矿工在已知的公共区块链后进行挖掘,挖掘到新区块后不公布,将新区块添加入自己的私有区块链中;
步骤202:令Pub为最长链,Pri为私有区块链,PPri为私有区块链中被公布的部分;
步骤203:智能矿工在挖掘的过程中不断对公共区块链进行检测,如果Len(Pri)>Len(Pub)>Len(PPri),则执行步骤204,否则执行步骤201;
步骤204:智能矿工公布私有区块链中的第一个未公布区块C,令Len(PPri)=Len(PPri)+1;
步骤205:判断是否Len(Pub)=Len(PPri),如果是,则执行步骤206,否则执行步骤209;
步骤206:如果有其他诚实矿工发现了一个新的区块B,执行步骤207,否则执行步骤1;
步骤207:如果区块B的父区块为智能矿工的已公布的私有区块链PPri上,则执行步骤209,否则执行步骤208;
步骤208:与合作矿工分享区块C的收入,执行步骤201;
步骤209:判断私有链上是否存在未公布的区块,即,是否Len(Pri)>...

【专利技术属性】
技术研发人员:徐佳纪晓俊张耿直张雨娜李振达范露露鲁蔚锋徐力杰
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1