CN110288348B - 基于传播活跃度和资产证明的区块链共识方法及系统 - Google Patents
基于传播活跃度和资产证明的区块链共识方法及系统 Download PDFInfo
- Publication number
- CN110288348B CN110288348B CN201910536295.7A CN201910536295A CN110288348B CN 110288348 B CN110288348 B CN 110288348B CN 201910536295 A CN201910536295 A CN 201910536295A CN 110288348 B CN110288348 B CN 110288348B
- Authority
- CN
- China
- Prior art keywords
- block
- transaction
- transactions
- signature
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 239000011159 matrix material Substances 0.000 claims abstract description 53
- 238000012546 transfer Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims description 9
- 230000006872 improvement Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 241000287196 Asthenes Species 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 abstract description 4
- 238000000638 solvent extraction Methods 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000008094 contradictory effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供一种基于传播活跃度和资产证明的区块链共识方法及系统,共识方法包括以下步骤:对现有区块的结构进行改进,改进后的区块包括区块头、事务集和签名矩阵;对区块链上的事务类型进行拓展,拓展后区块链上的事务类型包括转账交易和惩罚交易;利用签名矩阵选择候选人群体,根据资产数量在候选人中确定最后的记账人,记账人广播获胜信息并向主链上发布一个新区块,达成一次共识。本申请能够避免因算力竞争带来的无效资源耗费,同时有能够避免记账权掌握在少数人手里;能够减少传播时延,加快分布式系统消息覆盖速度,有效降低网络分区的可能性;为系统安全提供自监控功能,能够满足高吞吐量的应用需求。
Description
技术领域
本申请属于区块链技术领域,具体涉及一种基于传播活跃度和资产证明的区块链共识方法及系统。
背景技术
自从2009年以比特币闻名的第一个区块链应用诞生以来,区块链所具备的价值交换和存储方式的特性已经为人所熟知,共识机制解决了区块链中最具挑战的难题,即在分布式环境中,在众多节点的共同维护下,达成系统状态的一致性。共识机制具体可以解释为某个变更在分布式网络中得到一致的执行结果,或者在节点出现故障时维持正常工作。随着应用场景的不段拓宽,根据节点准入门槛的不同,共识机制逐渐分化为两种类型。一种是公开匿名场景下基于概率的共识,一种是带权限管理的确定性共识。前者以PoW(Proof ofWork,工作量证明)为代表,典型应用如比特币,通过概率模型来保障共识的达成。后者以PBFT为代表,典型应用如Hyperledger Fabric,以状态机复制的形式达成确定性共识。
公开匿名场景下的共识机制大多基于PoW和PoS(Proof of Stake,权益证明)进行改进。前者依赖哈希计算竞争记账权;后者根据资产规模竞争记账权,且竞争记账权的前提是拥有更多资产的节点对系统安全性的要求越高。PoW已被证明是一种资源耗费巨大的算法,而PoS对资产规模的过度往往依赖会导致记账权掌握在少数人手中,以PoS驱动的区块链应用去中心化程度不高,并且候选人投票过程中的通信成本过高,应用的可扩展性不高。另外,共识机制通常以较长的区块确认等待时间为代价来避免双花攻击,保障系统安全性,如比特币的平均出块时间为10min/block,因此多数区块链应用为了保证较高的安全性,吞吐量不能满足现实生活中频繁的交易需求,安全性和吞吐量之间的矛盾是阻碍区块链大规模应用的重要因素。
传播活跃度最早在一项针对比特币消息传播方式的研究中被提出,研究者通过建立比特币的分叉模型,指出了消息传播与分叉概率之间的关系,最后得到了结论:传播时延是导致分叉的重要因素。分布式系统中节点通过转发与自己有物理连接的邻居节点来完成内容的分发,消息在全网的覆盖程度取决于节点的转发行为和网络情况,转发行为对消息覆盖程度的影响体现在:越多节点选择转发,消息的覆盖程度越高,分叉的概率越低,网络分区的可能性越小。网络情况即节点从收到一个新消息到完成转发所需的网络时延。为了减少消息的传播时延,目前两种改进思路:一种是试图对转发合法消息的节点予以一定奖励(原来只有记账的节点可以获得区块奖励),但这种激励方式会大大增加区块的奖励开销;另一种是从客户端的角度出发,简化节点进行消息转发时的验证步骤,缩短客观需要的网络时延,但这种方式对于减少时延收效甚微,且没有从根本上坚决传播活跃度低下的问题。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种基于传播活跃度和资产证明的区块链共识方法及系统。
根据本申请实施例的第一方面,本申请提供了一种基于传播活跃度和资产证明的区块链共识方法,其包括以下步骤:
对现有区块的结构进行改进,改进后的区块包括区块头、事务集和签名矩阵;
对区块链上的事务类型进行拓展,拓展后区块链上的事务类型包括转账交易和惩罚交易;
利用签名矩阵选择候选人群体,根据资产数量在候选人中确定最后的记账人,记账人广播获胜信息并向主链上发布一个新区块,达成一次共识。
上述基于传播活跃度和资产证明的区块链共识方法中,所述利用签名矩阵选择候选人群体时,选择公钥包含在新发布区块的签名矩阵中的节点作为候选人。
上述基于传播活跃度和资产证明的区块链共识方法中,所述根据资产数量在候选人中确定最后的记账人的过程为:
候选人根据前一个区块生成一个当前区块的空区块头;
利用随机预言机模型生成一个随机比特值;
根据幸运索引号查询包含公钥、代币和索引号的数据库,将持有该幸运索引号对应幸运代币的候选人作为下一个区块的合法记账人。
上述基于传播活跃度和资产证明的区块链共识方法中,判定所述转账交易合法的条件为:付款金额小于或等于付款方总金额;待付款的部分未被消费过;私钥是合法的。
上述基于传播活跃度和资产证明的区块链共识方法中,所述惩罚交易用于对不当行为证明向量发起惩罚事务,所述不当行为证明向量由互相矛盾的区块内的事务与传播过程中本地缓存的区块中的事务构成。
进一步地,在所述发起惩罚事务之前,还需要检查本地缓存的事务与已公布区块中包含的事务之间创建的区块是否小于预设的惩罚有效期。
上述基于传播活跃度和资产证明的区块链共识方法中,当前的所述区块头由主链上的前一个区块的内容生成。
上述基于传播活跃度和资产证明的区块链共识方法中,所述事务集由每个区块中的各事务构成,各事务的多个签名构成对应事务的签名集,所述签名集中包含所有转发过对应所述事务的节点的公钥。
进一步地,所述签名矩阵包含一个区块中所有的所述签名集。
根据本申请实施例的第二方面,本申请提供了一种基于传播活跃度和资产证明的区块链共识系统,其包括区块改进模块、事务类型拓展模块和区块生成模块;
所述区块改进模块用于对现有区块的结构进行改进,改进后的区块包括区块头、事务集和签名矩阵;当前的所述区块头由主链上的前一个区块的内容生成;所述事务集由每个区块中的各事务构成;所述签名矩阵包含一个区块中所有的签名集,所述签名集由对应事务的多个签名构成;
所述事务类型拓展模块用于对区块链上的事务类型进行拓展,拓展后区块链上的事务类型包括转账交易和惩罚交易;
所述区块生成模块用于利用签名矩阵选择候选人群体,还用于根据资产数量在候选人中确定最后的记账人,记账人广播获胜信息并向主链上发布一个新区块,达成一次共识。
上述基于传播活跃度和资产证明的区块链共识系统中,所述区块生成模块还包括设置模块、签名转发模块、候选人选择模块和记账人确定模块;
所述设置模块用于为网络中的所有节点设置相同的权重,并为各节点设置一对包含公钥和私钥的密钥;各节点的所述公钥与其电子账户存在映射关系,通过所述公钥查询其电子账户中的资产数量;
所述签名矩阵构建模块利用传播路径上的节点的签名构建签名矩阵;
所述候选人选择模块用于选择公钥包含在新发布区块的签名矩阵中的节点作为候选人;
所述记账人确定模块用于根据每位候选人的资产数量在候选人中确定最后的记账人。
根据本申请的上述具体实施方式可知,至少具有以下有益效果:本申请基于传播活跃度和资产证明的区块链共识方法将传播活跃度作为候选人竞争凭证,以资产数量决定候选人中谁能够成为最终的记账人,这样既能够避免因算力竞争带来的无效资源耗费,同时有能够缓解股权证明机制造成的权力倾斜问题。
本申请通过对候选人进行选择,使得只有积极参与消息分发的节点才有机会获得区块奖励,从而减少因经济博弈造成的传播时延,加快分布式系统消息覆盖速度,能够有效降低网络分区的可能性。
本申请通过签名矩阵记录传播路径的同时还可以记录不当行为,签名矩阵通过比较两笔交易的input付款方参数和output收款方参数,能够过滤潜在的恶意事务,为系统安全提供自监控功能,无需牺牲漫长的区块确认时间来保障安全,能够满足高吞吐量的应用需求。
应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。
附图说明
下面的所附附图是本申请的说明书的一部分,其示出了本申请的实施例,所附附图与说明书的描述一起用来说明本申请的原理。
图1为本申请具体实施方式提供的一种基于传播活跃度和资产证明的区块链共识方法的流程图。
图2为本申请具体实施方式提供的一种基于传播活跃度和资产证明的区块链共识方法中改进后的区块结构示意图。
图3为本申请具体实施方式提供的一种基于传播活跃度和资产证明的区块链共识方法中生成区块的过程示意图。
图4为本申请具体实施方式提供的一种基于传播活跃度和资产证明的区块链共识方法中ROM生成幸运索引号的过程示意图。
图5为本申请具体实施方式提供的一种基于传播活跃度和资产证明的区块链共识方法中惩罚有效期的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本申请所揭示内容的精神,任何所属技术领域技术人员在了解本申请内容的实施例后,当可由本申请内容所教示的技术,加以改变及修饰,其并不脱离本申请内容的精神与范围。
本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本申请,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以细微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的细微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
图1为本申请实施例提供的基于传播活跃度和资产证明的区块链共识方法的流程图。如图1所示,本申请基于传播活跃度和资产证明的区块链共识方法包括以下步骤:
S1、改进区块结构;
为了记录事务的传播路径,本申请改进了现有的区块结构,重点引入了签名矩阵。签名矩阵既是对传播路径的记录,进而输出记账候选人,也可以构成对不当行为的证明。
进一步地,签名矩阵通过比较两笔交易的input付款方参数和output收款方参数,能够过滤潜在的恶意事务,例如双花攻击。不当行为证明向量包含一对相互矛盾的事务,它们具有相同的input,但output不同。
改进后的区块结构如图2所示,其包括区块头、事务集和签名矩阵。
对于区块头:
当前的区块头由主链上的前一个区块的内容生成。
对于事务集:
对于签名矩阵:
一个合法的区块应该包括当前区块的ID、前一个区块的ID、签名矩阵和记账人的公钥。其他节点可以通过以下步骤判断一个区块是否合法:
检查当前记账人的公钥是否包含在前一个区块的签名矩阵中,如果包含在前一个区块的签名矩阵中,则当前记账人为记账候选人。
执行函数F(X,coin-index),将该函数的输出与记账人的电子账户进行对比,其具体过程为:
通过查询公钥-代币-索引号的数据库,找到函数F(X,coin-index)输出的幸运索引号对应的公钥,将该公钥与区块上记账候选人的电子账户对应的公钥进行对比,如果二者一致,则判定该区块合法。
S2、对区块链上的事务类型进行拓展,其中,拓展后区块链上的事务类型包括转账交易和惩罚交易。
其中,转账交易用于解决如何使用代币的问题,惩罚交易用于解决如何使系统实现安全自监管的问题。
转账交易是事务集中最常见的事务类型,其主要的参数是和公钥密切相关的账户和付款金额。转账交易的消息格式为:
Tx=sk(transfer,input,output,payment,timestamp)
式中,Tx表示消息格式,sk表示私钥,transfer表示事务类型-转账交易,input表示付款方,output表示收款方,payment表示付款金额,timestamp表示时间戳。
一个合法的转账交易应该满足以下三点:
付款金额小于或等于付款方总金额;
待付款的部分未被消费过;
私钥是合法的。
对于惩罚交易,一旦一个区块被添加到了主链,每一个节点都能够将区块内的事务与传播过程中本地缓存的区块中的事务进行比对,一旦发现互相矛盾的事务,则互相矛盾的事务可构成一个不当行为证明向量,发起一笔惩罚事务。惩罚交易的消息格式为:
Tx=sk(punishment,pk i ,pk j ,proof,timestamp)
式中,Tx表示消息格式,sk表示私钥,punishment表示事务类型-惩罚交易,pk i 表示举报者的公钥,pk j 表示收款方,payment表示被举报者的公钥,proof表示证明向量,timestamp表示时间戳。
S3、生成区块,如图3所示,其具体过程为:
S31、为网络中的所有节点设置相同的权重,其中,网络中所有节点都持有一对密钥,该密钥包括公钥和私钥。各节点的公钥与它的电子账户存在映射关系,即可以通过公钥查询到电子账户中的资产数量。
S32、各节点在接收到邻节点的事务时,使用自己的公钥对事务进行签名,并将其转发给其他节点。所有在传播路径上的节点的签名组成签名矩阵。
S33、利用签名矩阵选择候选人群体;
具体地,节点检查自己的公钥是否包含在新发布区块的签名矩阵中,如果是,则该节点成为候选人;否则,该节点为非候选人。
其中,每公布一个新的区块,即代表了新一轮的记账竞争开启。每个节点都能从第i-1轮的区块中获知第i轮的记账候选人信息,并确认自己是否获选。
S34、如图4所示,根据资产数量,在候选人中确定最后的记账人,其具体过程为:
首先,候选人根据前一个区块生成一个当前区块的空区块头;
其次,根据签名矩阵中的公钥获得每位候选人的资产数量,并在本地建立一个包含所有候选人的公钥-代币-索引号(pk-coin-index)的数据库,为候选人的代币建立索引列表,将“选人”转化为“选币”。
再次,利用ROM(Random Oracle Model,随机预言机模型)生成一个随机比特值;
最后,根据幸运索引号查询包含公钥、代币和索引号的数据库,持有该幸运索引号对应幸运代币的候选人即成为下一个区块的合法记账人。
S35、记账人广播获胜信息,并将新区块添加到主链上,达成一次共识。
上述步骤S34中,对于候选人不仅要对事务进行转发和签名还需要对事务进行存储,存储的目的是为了后续的区块打包。对于非候选人,只需要对事务进行转发和签名。
另外,非候选人检查本地缓存的事务与已公布区块中包含的事务是否有矛盾,如果有,则发起惩罚事务。
非候选人在发起惩罚事务之前,还需要检查本地缓存的事务与已公布区块中包含的事务之间创建的区块是否小于预设的惩罚有效期L。可以理解的是,如果本地缓存的事务与已公布区块中包含的事务之间创建的区块小于惩罚有效期L,则进一步检查本地缓存的事务与已公布区块中包含的事务是否有矛盾。
例如,如图5所示,当前区块的ID为i,则只有ID为i-L与i的区块之间接收到的事务会存储在缓冲区中,也就是说,参与者并非可以在无限制时间内发起惩罚事务。检查存储在缓冲区中的事务与已公布区块中包含的事务是否有矛盾,如果有,则发起惩罚事务。
参与者采用以下两种方式来增加他们的资产:
第一,赢得新“挖”的代币作为区块奖励;
第二,发起惩罚类型的事务,获得一部分罚款。
本申请基于传播活跃度和资产证明的区块链共识方法将传播活跃度作为候选人竞争凭证,以资产数量决定候选人中谁能够成为最终的记账人,这样既能够避免因算力竞争带来的无效资源耗费,同时有能够缓解股权证明机制造成的权力倾斜问题。
候选人选择机制决定了只有积极参与消息分发的节点才有机会获得区块奖励,减少了因经济博弈造成的传播时延,加快了分布式系统消息覆盖速度,能够有效降低网络分区的可能性。
以传播活跃度和资产数量为证明的共识机制,通过签名矩阵记录传播路径的同时可以记录不当行为,为系统安全提供自监控功能,无需牺牲漫长的区块确认时间来保障安全,能够满足高吞吐量的应用需求。
本申请实施例还提供了一种基于传播活跃度和资产证明的区块链共识系统,其包括:区块改进模块、事务类型拓展模块和区块生成模块。
其中,区块改进模块用于对现有区块的结构进行改进,改进后的区块包括区块头、事务集和签名矩阵。
当前的区块头由主链上的前一个区块的内容生成。
每个区块中的各事务构成事务集,各事务的多个签名构成对应事务的签名集,签名集中包含所有转发过该事务的节点的公钥。
签名矩阵包含一个区块中所有的签名集。
事务类型拓展模块用于对区块链上的事务类型进行拓展,拓展后区块链上的事务类型包括转账交易和惩罚交易。
其中,转账交易的消息格式为:
Tx=sk(transfer,input,output,payment,timestamp)
式中,Tx表示消息格式,sk表示私钥,transfer表示事务类型-转账交易,input表示付款方,output表示收款方,payment表示付款金额,timestamp表示时间戳。
惩罚交易的消息格式为:
Tx=sk(punishment,pk i ,pk j ,proof,timestamp)
式中,Tx表示消息格式,sk表示私钥,punishment表示事务类型-惩罚交易,pk i 表示举报者的公钥,pk j 表示收款方,payment表示被举报者的公钥,proof表示证明向量,timestamp表示时间戳。
区块生成模块用于利用签名矩阵选择候选人群体,还用于根据资产数量在候选人中确定最后的记账人,记账人广播获胜信息并向主链上发布一个新区块,达成一次共识。
在上述实施例中,区块生成模块还包括设置模块、签名转发模块、候选人选择模块和记账人确定模块。
其中,设置模块用于为网络中的所有节点设置相同的权重,并为各节点设置一对包含公钥和私钥的密钥。其中,各节点的公钥与其电子账户存在映射关系,可以通过公钥查询到其电子账户中的资产数量。
签名矩阵构建模块利用传播路径上的节点的签名构建签名矩阵。其中,各节点在接收到邻节点的事务时,使用自己的公钥对事务进行签名,并将其转发给其他节点。
候选人选择模块用于选择公钥包含在新发布区块的签名矩阵中的节点作为候选人。
记账人确定模块用于根据每位候选人的资产数量在候选人中确定最后的记账人。具体地,每位候选人的资产数量根据签名矩阵中的公钥获得。
本申请基于传播活跃度和资产证明的区块链共识系统还包括惩罚事务发起模块,惩罚事务发起模块由非候选人执行,其用于检查本地缓存的事务与已公布区块中包含的事务是否有矛盾,如果有,则发起惩罚事务。
需要说明的是:上述实施例提供的共识系统仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将共识系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的共识系统与共识方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请通过改进现有的区块结构,拓展区块链上的事务类型,将传播活跃度作为候选人竞争凭证,以资产数量决定候选人中谁能够成为最终的记账人,能够避免无效资源耗费,避免记账权掌握在少数人手中;通过对候选人进行选择,使得只有积极参与消息分发的节点才有机会获得区块奖励,进一步降低传播时延,加快分布式系统消息覆盖速度,有效降低网络分区的可能性。
另外,签名矩阵不仅能够对传播路径进行记录还能够对不当行为进行记录,签名矩阵通过比较两笔交易的input付款方参数和output收款方参数,能够过滤潜在的恶意事务,为系统安全提供自监控功能,无需牺牲漫长的区块确认时间来保障安全,能够满足高吞吐量的应用需求。
基于上述共识系统中各模块的硬件实现,为了实现本申请实施例提供的共识方法,本申请实施例还提供了一种基于传播活跃度和资产证明的区块链共识装置,其包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器。其中所述处理器用于运行所述计算机程序时,执行如下步骤:
对现有区块的结构进行改进,改进后的区块包括区块头、事务集和签名矩阵;
对区块链上的事务类型进行拓展,拓展后区块链上的事务类型包括转账交易和惩罚交易;
利用签名矩阵选择候选人群体,根据资产数量在候选人中确定最后的记账人,记账人广播获胜信息并向主链上发布一个新区块,达成一次共识。
在示例性实施例中,本申请实施例还提供了一种计算机存储介质,是计算机可读存储介质,例如,包括计算机程序的存储器,上述计算机程序可由共识装置中的处理器执行,以完成前述共识方法中的所述步骤。
计算机可读存储介质可以是磁性随机存取存储器(FRAM,ferromagnetic randomaccess memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read-Only Memory) 、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory)等存储器。
以上所述仅为本申请示意性的具体实施方式,在不脱离本申请的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本申请保护的范围。
Claims (11)
1.一种基于传播活跃度和资产证明的区块链共识方法,其特征在于,包括以下步骤:
对现有区块的结构进行改进,改进后的区块包括区块头、事务集和签名矩阵;当前的区块头由主链上的前一个区块的内容生成;事务集包括由每个区块中的各事务构成,事务的签名集包含所有转发过该事务的节点的公钥;签名矩阵包含一个区块中所有的签名集;
对区块链上的事务类型进行拓展,拓展后区块链上的事务类型包括转账交易和惩罚交易;
利用签名矩阵选择候选人群体,根据资产数量在候选人中确定最后的记账人,记账人广播获胜信息并向主链上发布一个新区块,达成一次共识。
2.根据权利要求1所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,所述利用签名矩阵选择候选人群体时,选择公钥包含在新发布区块的签名矩阵中的节点作为候选人。
3.根据权利要求1或2所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,所述根据资产数量在候选人中确定最后的记账人的过程为:
候选人根据前一个区块生成一个当前区块的空区块头;
利用随机预言机模型生成一个随机比特值;
根据幸运索引号查询包含公钥、代币和索引号的数据库,将持有该幸运索引号对应幸运代币的候选人作为下一个区块的合法记账人。
4.根据权利要求1或2所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,判定所述转账交易合法的条件为:付款金额小于或等于付款方总金额;待付款的部分未被消费过;私钥是合法的。
5.根据权利要求1或2所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,所述惩罚交易用于对不当行为证明向量发起惩罚事务,所述不当行为证明向量由互相矛盾的区块内的事务与传播过程中本地缓存的区块中的事务构成。
6.根据权利要求5所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,在所述发起惩罚事务之前,还需要检查本地缓存的事务与已公布区块中包含的事务之间创建的区块是否小于预设的惩罚有效期。
7.根据权利要求1或2所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,当前的所述区块头由主链上的前一个区块的内容生成。
8.根据权利要求1或2所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,所述事务集由每个区块中的各事务构成,各事务的多个签名构成对应事务的签名集,所述签名集中包含所有转发过对应所述事务的节点的公钥。
9.根据权利要求8所述的基于传播活跃度和资产证明的区块链共识方法,其特征在于,所述签名矩阵包含一个区块中所有的所述签名集。
10.一种基于传播活跃度和资产证明的区块链共识系统,其特征在于,包括区块改进模块、事务类型拓展模块和区块生成模块;
所述区块改进模块用于对现有区块的结构进行改进,改进后的区块包括区块头、事务集和签名矩阵;当前的所述区块头由主链上的前一个区块的内容生成;所述事务集由每个区块中的各事务构成;所述签名矩阵包含一个区块中所有的签名集,所述签名集由对应事务的多个签名构成;
所述事务类型拓展模块用于对区块链上的事务类型进行拓展,拓展后区块链上的事务类型包括转账交易和惩罚交易;
所述区块生成模块用于利用签名矩阵选择候选人群体,还用于根据资产数量在候选人中确定最后的记账人,记账人广播获胜信息并向主链上发布一个新区块,达成一次共识。
11.根据权利要求10所述的基于传播活跃度和资产证明的区块链共识系统,其特征在于,所述区块生成模块还包括设置模块、签名转发模块、候选人选择模块和记账人确定模块;
所述设置模块用于为网络中的所有节点设置相同的权重,并为各节点设置一对包含公钥和私钥的密钥;各节点的所述公钥与其电子账户存在映射关系,通过所述公钥查询其电子账户中的资产数量;
所述签名矩阵构建模块利用传播路径上的节点的签名构建签名矩阵;
所述候选人选择模块用于选择公钥包含在新发布区块的签名矩阵中的节点作为候选人;
所述记账人确定模块用于根据每位候选人的资产数量在候选人中确定最后的记账人。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536295.7A CN110288348B (zh) | 2019-06-20 | 2019-06-20 | 基于传播活跃度和资产证明的区块链共识方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536295.7A CN110288348B (zh) | 2019-06-20 | 2019-06-20 | 基于传播活跃度和资产证明的区块链共识方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110288348A CN110288348A (zh) | 2019-09-27 |
CN110288348B true CN110288348B (zh) | 2021-01-26 |
Family
ID=68003984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910536295.7A Expired - Fee Related CN110288348B (zh) | 2019-06-20 | 2019-06-20 | 基于传播活跃度和资产证明的区块链共识方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288348B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161059B (zh) * | 2019-11-29 | 2023-10-31 | 合肥学院 | 一种将事务处理泛化成交易的方法 |
CN113362062B (zh) * | 2021-05-21 | 2024-01-05 | 山东大学 | 一种区块链交易排序方法、存储介质及设备 |
CN113269556B (zh) * | 2021-05-25 | 2023-06-27 | 中国联合网络通信集团有限公司 | 权益证明的方法、系统、终端设备及计算机存储介质 |
CN114172913B (zh) * | 2021-11-26 | 2024-05-14 | 王树松 | 区块链共识方法、装置、设备、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107547529A (zh) * | 2017-08-21 | 2018-01-05 | 集合智造(北京)餐饮管理有限公司 | 一种基于区块链实现共享零售的方法、系统 |
CN108683630A (zh) * | 2018-04-03 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 跨区块链的认证方法及装置、电子设备 |
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10158527B2 (en) * | 2016-10-28 | 2018-12-18 | International Business Machines Corporation | Changing an existing blockchain trust configuration |
CN108124502B (zh) * | 2017-03-31 | 2021-01-05 | 北京大学深圳研究生院 | 一种基于联盟链的顶级域名管理方法及系统 |
-
2019
- 2019-06-20 CN CN201910536295.7A patent/CN110288348B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107547529A (zh) * | 2017-08-21 | 2018-01-05 | 集合智造(北京)餐饮管理有限公司 | 一种基于区块链实现共享零售的方法、系统 |
CN108683630A (zh) * | 2018-04-03 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 跨区块链的认证方法及装置、电子设备 |
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110288348A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110288348B (zh) | 基于传播活跃度和资产证明的区块链共识方法及系统 | |
US11522706B2 (en) | Method and system for publicly verifiable proofs of retrievability in blockchains | |
US10795857B2 (en) | Blockchain system and method thereof | |
Bonneau et al. | Sok: Research perspectives and challenges for bitcoin and cryptocurrencies | |
JP7319961B2 (ja) | 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法 | |
KR101827373B1 (ko) | 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법 | |
JP2023018005A (ja) | 一般的な計算のためのブロックチェーン | |
US20190279210A1 (en) | Infinitely scalable cryptocurrency system with fast, secure verification | |
US20200167770A1 (en) | Blockchain implementation across multiple organizations | |
JP2020524932A (ja) | ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム | |
CN110298641B (zh) | 区块链的规则更新方法、装置、区块链节点及网络 | |
CN110278246B (zh) | 一种针对联盟链的存证业务转移方法、装置及设备 | |
Lucas et al. | Consensus algorithm for a private blockchain | |
Tong et al. | Chchain: Secure and parallel crowdsourcing driven by hybrid blockchain | |
WO2022079431A1 (en) | Block reward management in blockchain | |
CN114372589A (zh) | 一种联邦学习方法及相关装置 | |
US11831749B1 (en) | Method and system for utilizing the infrastructure of a blockchain to enhance the degree of reliability of another blockchain | |
Lin | Proof of work vs. Proof of stake in cryptocurrency | |
Clark et al. | Research perspectives and challenges for bitcoin and cryptocurrencies | |
KR102039570B1 (ko) | 암호화폐를 사용하지 않는 법정화폐용 p2p 장부 | |
Noreen et al. | Advanced DAG-Based Ranking (ADR) Protocol for Blockchain Scalability. | |
Sharma et al. | Evaluating blockchain protocols with abusive modeling | |
Chishti et al. | Increasing TPS rate of state‐based blockchains by parallel mining | |
Wang et al. | Proof of Activity and Stake | |
US20230410102A1 (en) | Blockchain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210126 Termination date: 20210620 |