一种基于区块链的去中心化可验证隐匿代表方法、系统及存储介质技术方案

技术编号:23609247 阅读:24 留言:0更新日期:2020-03-28 09:07
本发明专利技术提供了一种基于区块链的去中心化可验证隐匿代表方法、系统及存储介质,该去中心化可验证隐匿代表方法包括:步骤1:区块链底层系统为每个节点ID加一层可单向验证的隐身身份ID,该隐身身份ID称为隐匿ID;步骤2:参选节点手动选择参选状态,并通知启动节点;步骤3:矿工节点打包区块时,打包一个选举交易上链,在选举交易中计算所有下一轮候选人的选举值,并将前n的候选人的隐身身份ID和选举值记入选举交易,并将选举结果进行公示;步骤4:通过单向验证算法对代表的身份进行核验。本发明专利技术的有益效果是:本发明专利技术建立了一种新型的实用选举机制,来隐藏这些代表的可见度,使得贿赂攻击失去目标,大大降低了中心化程度,但并不损失代表制原本的高效率。

A decentralized verifiable hidden representation method, system and storage medium based on blockchain

【技术实现步骤摘要】
一种基于区块链的去中心化可验证隐匿代表方法、系统及存储介质
本专利技术涉及区块链
,尤其涉及一种基于区块链的去中心化可验证隐匿代表方法、系统及存储介质。
技术介绍
缩略语和关键术语定义:POW(ProofofWork):工作量证明;POS(ProofofStake):权益证明;DPOS(DelegatedProofofStake):代表权益证明;Hash:哈希散列。关于目前区块链的共识机制主要有:工作量证明(PoW)和代表制权益证明(DPoS)。工作量证明(PoW):矿工节点对打包区块内容做哈希散列运算,对结果进行二进制数值排序,序列小于某个难度值的获胜。使用这种机制可以防止任何人对结果的预测。哈希散列的单向可验证性为公众提供了任何时间的快速核实。哈希散列的随机效果为整个共识事件提供了公平性。缺点是获得正确结果的代价太大,需要耗费大量电力资源来做没有实际效益的运算(不环保)。同时P2P网络的异步性容易导致两个不同地区接近同一时间获得的结果在网络中出现两种先后次序,导致共识分叉。为了减小分叉的影响需要将难度调大到足够安全。比特币为此付出了每10分钟出一个块,每1小时才得到充分确认(6个确认)的代价。使用PoW的主要代表有比特币和以太坊。代表制权益证明(DPoS):对于PoW的低效和不环保问题,EOS等区块链使用了新的代表值共识机制来克服。这个机制不使用哈希排序算法,而是直接由一组代表(比如EOS的21个,波场的27个)打包出块。具体的细节是由一个主代表打包,其余的做验证,达成2/3以上共识即盖戳确定。主代表每出一个块轮换一下。这些代表是预先由公众选举出来的。选举机制是通过权益证明,即参与选举的节点所持有的区块链币数量。区块链共识机制中使用的代表制(Delegate)带来了高效性,同时也带来了安全性的降低。这种机制依赖于预先明确的少数代表(21/27个)来组成记账集体,决定区块账本内容。这些成员因为工作极为重要,话语权分量很大,让整个社区变成了少数人专制的王国。这些节点身份很特殊,身价高,使其成为贿赂攻击的对象。比如EOS,其21个代表在EOS公链发布前便已成为实际上的超级节点,成为各方资源大户连横合纵的战场,成为一个强中心化的区块链。
技术介绍
1的技术方案:POW:工作量证明协议,最早是在1993年由CynthiaDwork和MoniNaor在学术论文中提出的,其是一种应对拒绝服务攻击和其他服务滥用的一种策略。而POW这个名词则是在1999年由MarkusJakobsson和AriJuels在文章中提出。2008年,在中本聪发布的比特币白皮书《比特币:一种点对点的电子现金系统》中,使用了POW工作量证明的方式作为其系统的共识机制。一个工作量证明是指满足特定条件的一个数据计算,产生正确结果比较困难,但验证正确结果比较简单。其正确结果的只能通过不断的枚举随机数来进行验证试错,从而最终找到正确答案。而这个数据计算使用hash算法来实现,hash算法是一种单向散列算法。计算数据hash值十分简单,但要根据固定hash值获取原数据,则只能通过枚举试错来进行。在比特币系统中,在进行随机散列运算时,工作量证明机制引入了对某一个特定值的扫描工作,比方说SHA-256下,随机散列值以一个或多个0开始。那么随着0的数目的上升,找到这个解所需要的工作量将呈指数增长,而对结果进行检验则仅需要一次随机散列运算。与此同时,比特币系统区块中增补了一个随机数(Nonce),这个随机数需要满足使得给定区块的hash值出现所需的那么多个0的条件。由于hash计算的不可逆特性,只能通过反复尝试来找到这个随机数,这样就构建了一个工作量证明机制。只要节点找到了能计算出满足要求的Nonce,那么该节点即完成了工作量的证明,获得了区块的打包记账权。在比特币系统中,其具体共识机制流程为:1.每个节点首先收集并选择交易,然后计算交易列表的Merkle根hash2.节点构造区块头,其中包含版本、上一个区块头的hash值、计算的交易列表Merkle根hash、时间戳、难度值和生成的随机数nonce3.然后节点会计算构造的区块头hash值,检查其hash值是否小于或等于当前难度值。如果正确,则完成工作量证明,将打包的区块提交网络中,网络中的其它节点将会检测其合法性。如果计算的hash值,大于当前难度值,则返回第二步,继续进行工作量计算。此过程即为比特币系统中的挖矿过程,而进行挖矿的相关节点被称之为矿工。在比特币POW共识机制中,只要CPU耗费的工作量能够满足该工作量证明机制,那么那么除非重新完成相当的工作量,生成的区块的信息就不可更改。由于之后的区块是链接在该区块之后的,所以想要更改该区块中的信息,就还需要重新完成之后所有区块的全部工作量。同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(theproof-of-workdifficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。比特币通过POW共识机制来在众多矿工节点中选取出拥有记账权的矿工,其舍弃了可扩展性,保证高一致性和去中心化水平。
技术介绍
1的缺点:1)由于全网中的每个节点需要通过工作量证明来获取区块打包记账权,因此使用POW共识机制时,系统中的每个矿工节点都需要不断的生成随机数试错,以求找到合适的Nonce值,这需要大量的电力支撑,也会造成大量的能源浪费。据统计,目前比特币挖矿的电力消耗,占全球总电力消耗的0.29%。2)使用POW共识机制,会导致网络性能太低,需要等待多个确认,容易产生分叉,区块的确认共识达成的周期较长(10分钟)。由于共识达成需要等待多个确认,因此共识达成的结果是不确定的,继而账本里的交易也不是确定性的。一个区块的后面跟着越多的新区快就表示他获得了越多的确认,这个区块就越难被取消。比特币网络一般建议一个交易的确认需要6个区块的时间,也就是一个小时,但是数额越大的交易需要的确认时间越长。但是即使等待了很长的确认时间,也不能百分之百的确认这个交易不会被取消,因此当用于超过50%算力时,就可以通过从新完成工作量证明来改写链上数据,著名的51%算力本文档来自技高网
...

【技术保护点】
1.一种基于区块链的去中心化可验证隐匿代表方法,其特征在于,包括如下步骤:/n步骤1,节点ID加密步骤:区块链底层系统为每个节点ID加一层可单向验证的隐身身份ID,该隐身身份ID称为隐匿ID;/n步骤2,参选步骤:参选节点手动选择参选状态,并通知启动节点;/n步骤3,隐匿集体选举步骤:矿工节点打包区块时,打包一个选举交易上链,在选举交易中计算所有下一轮候选人的选举值,并将前n的候选人的隐身身份ID和选举值记入选举交易,并将选举结果进行公示;/n步骤4,代表身份核验步骤:通过单向验证算法对代表的身份进行核验。/n

【技术特征摘要】
1.一种基于区块链的去中心化可验证隐匿代表方法,其特征在于,包括如下步骤:
步骤1,节点ID加密步骤:区块链底层系统为每个节点ID加一层可单向验证的隐身身份ID,该隐身身份ID称为隐匿ID;
步骤2,参选步骤:参选节点手动选择参选状态,并通知启动节点;
步骤3,隐匿集体选举步骤:矿工节点打包区块时,打包一个选举交易上链,在选举交易中计算所有下一轮候选人的选举值,并将前n的候选人的隐身身份ID和选举值记入选举交易,并将选举结果进行公示;
步骤4,代表身份核验步骤:通过单向验证算法对代表的身份进行核验。


2.根据权利要求1所述的去中心化可验证隐匿代表方法,其特征在于,在所述步骤1,节点ID加密步骤中,使用一个公私钥对对节点ID进行非对称加密,得到的密文成为选举结果公布的代表身份ID;隐身身份ID由代码层计算,选举得到结果后连同公钥一起上链,形成公开的不可篡改记录。


3.根据权利要求1所述的去中心化可验证隐匿代表方法,其特征在于,在所述步骤2,参选步骤中,参选节点通过命令行远程过程调用RPC接口配置自己的参选状态信息,该参选状态信息会被P2P网络读取。


4.根据权利要求1所述的去中心化可验证隐匿代表方法,其特征在于,在所述步骤3,隐匿集体选举步骤中,选举交易被打包到此时记账的区块中,然后被写入区块链,因此公示后,该选举结果不可篡改。


5.根据权利要求1至4任一项所述的去中心化可验证隐匿代表方法,其特征在于,所述步骤4,代表身份核验步骤包括:
步骤4.1,自身核验步骤:参选代表节点根据链上选举交易判断自己是否当选;
步骤4.2,相互身份验证步骤:当选代表组队时,当选代表在即将工作时通过P2P网络进行相互身份确认;
步骤4.3,对记帐代表的身份确认步骤:节点接受新帐本时,当记账代表出块后,通过P2P网络将新区块广播给其他节点,其他节点在接收到新块后会作一个验证,验证出块代表身份,将新区块加入区块链。


6.根据权利要求5所述的去中心化可验证隐匿代表方法,其特征在于,在所述步骤4.1,自身核验步骤中,参选代表节点如果发现自己的隐身身份ID出现在选举结果中,就表明自己当选,否则就是没当选;
在所述步骤4.2,相互身份验证步骤中,代表会将对方传过来的节点ID通过公钥加密后与区块链上的当选代表的隐身身份ID进行匹配,如果相同则通过,如果不同则证伪;
在所述步骤4.3,对记帐代表的身份确认步骤中,矿工出块时会...

【专利技术属性】
技术研发人员:吴刚赵亮赖宇鹏
申请(专利权)人:深圳启元信息服务有限公司
类型:发明
国别省市:广东;44

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

1