技术领域technical field
本发明涉及一种区块链一致性维护方法及装置,属于网络通信技术领域。The invention relates to a block chain consistency maintenance method and device, belonging to the technical field of network communication.
背景技术Background technique
区块链在不可靠的分布式环境中维护了一个公共的总账,这个总账由一系列的匿名参与者来维护和扩展。近年来,区块链网络吸引了越来越多的工程人员,学者和投资者的注意。伴随着大量的资本投入,区块链得到了快速部署,已经成为了一项公共基础设施。Blockchain maintains a public ledger in an unreliable distributed environment that is maintained and extended by a series of anonymous participants. In recent years, blockchain networks have attracted more and more attention from engineers, academics and investors. With a large amount of capital investment, the blockchain has been rapidly deployed and has become a public infrastructure.
由于区块链没有可信任的中心节点,这使得设计和实现去中心化的域名系统,公钥证书体系和去中心化的文件存储成为现实。Since the blockchain does not have a trusted central node, this makes the design and implementation of a decentralized domain name system, public key certificate system and decentralized file storage a reality.
然而目前基于区块链的应用,都需要在不安全的分布式环境中保持全局一致性,每一个具体的操作,都涉及了状态的转换,但是目前区块链技术并没有提供状态转换的合法性验证,因此无法实现区块链的一致性维护,此时将会导致多方面的问题:However, the current blockchain-based applications need to maintain global consistency in an insecure distributed environment. Every specific operation involves state transitions, but the current blockchain technology does not provide a legal basis for state transitions. Therefore, the consistency maintenance of the blockchain cannot be achieved, which will lead to various problems:
1)以去中心化的域名系统为例,当域名注册存在冲突,即权威机构和个人同时申请一个权威域名,权威域名的归属问题是由获得区块写入机会的单个节点决定,单个节点一旦出错,将导致此权威域名被个人注册而无法更改。1) Taking the decentralized domain name system as an example, when there is a conflict in domain name registration, that is, an authoritative organization and an individual apply for an authoritative domain name at the same time, the ownership of the authoritative domain name is determined by a single node that has the opportunity to write a block. Once a single node An error will cause this authoritative domain name to be registered by an individual and cannot be changed.
2)去中心化的文件存储系统中,有版权问题或者不合法规的资源一旦上传成功,除了上传者本身,其他人很难删除。对于广泛运行的P2P网络而言,通常是在其部署爬虫网络来检测非法资源的路径,并将其加入黑名单,从而达到保护网络的目的。爬虫软件只能检测哪些资源是非法,而无法阻止资源的上传,并且引入第三方的检测方法,会带来更多的问题。2) In the decentralized file storage system, once a resource with copyright issues or illegal resources is successfully uploaded, it is difficult for others to delete it except the uploader itself. For the widely operating P2P network, it is usually to deploy a crawler network to detect the path of illegal resources and add them to the blacklist, so as to achieve the purpose of protecting the network. Crawler software can only detect which resources are illegal, but cannot prevent the upload of resources, and the introduction of third-party detection methods will bring more problems.
因此如何实现区块链的一致性维护是目前亟待解决的技术问题。Therefore, how to realize the consistency maintenance of the blockchain is a technical problem that needs to be solved urgently.
发明内容Contents of the invention
现有技术中存在的技术问题的根源在于,区块链在写入时,只需要提供正确工作量的证明,而不对其状态转换进行合法性验证,因此本发明的提供一种具有状态合法性验证的区块链一致性维护方法及装置。The root of the technical problems in the prior art is that when the blockchain is written, it only needs to provide the proof of the correct workload, and does not verify the legality of its state transitions. Therefore, the present invention provides a state-legal A verified blockchain consistency maintenance method and device.
区块链协议能够在不依赖中心信任节点的情况下,实现全局一致性。区块链中的矿工执行的是一种基于数学难题的哈希算法,以验证产生区块的合法性。The blockchain protocol can achieve global consistency without relying on a central trust node. Miners in the blockchain execute a hashing algorithm based on mathematical puzzles to verify the legitimacy of the blocks produced.
本发明在区块链之上,引入了一个新的验证层,区块由底层区块链产生,而区块的验证则由验证层完成。区块链发生的状态变更,都需要经过这个验证层的同意。The present invention introduces a new verification layer on top of the block chain, the block is generated by the underlying block chain, and the verification of the block is completed by the verification layer. All state changes in the blockchain require the approval of this verification layer.
具有状态合法性验证的区块链协议为一系列基于区块链的上层应用,如基于区块链的比特币可疑交易监管,去中心化域名系统的域名抢注,去中心化文件系统的资源上传管理,提供了新的管理思路,确保了每一次状态转换都是经过验证的。The blockchain protocol with state legitimacy verification is a series of upper-layer applications based on blockchain, such as blockchain-based Bitcoin suspicious transaction supervision, domain name squatting in decentralized domain name system, and resources in decentralized file system Upload management provides a new management idea and ensures that every state transition is verified.
本发明将整个去中心化系统看做n个独立配置的节点,即{p1,p2,...,pn},构成的去中心化的系统。一个执行过程可以看做是一系列的状态和转换:π0,s0,π1,s1,...,πi,si,...。The present invention regards the entire decentralized system as a decentralized system composed of n independently configured nodes, namely {p1 , p2 ,...,pn }. An execution process can be seen as a series of states and transitions: π0 , s0 , π1 , s1 ,...,πi , si ,....
从状态π0到状态π1,需要经过中间状态s0,每一次状态转换与一个单调递增的时间戳对应,ri<ri+1,其中ri是一个时间增长间隔dr的整数倍,一个时间戳称为一轮(round)。每一个节点在每一轮中只能执行一次计算指令(compute指令)。假设每一个节点对于一个随机函数oracle的计算能力是给定的,即每一个节点在每一轮只调用一次oracle函数。From state π0 to state π1 , you need to go through the intermediate state s0 , each state transition corresponds to a monotonically increasing timestamp, ri < ri+1 , where ri is an integer multiple of a time growth interval dr, A timestamp is called a round. Each node can only execute a computing instruction (compute instruction) once in each round. Assume that each node has a given computing power for a random function oracle, that is, each node only calls the oracle function once in each round.
匿名的节点之间通过broadcast(m)指令来传递消息。每条消息的最大延迟为Δ,如果消息在时间r广播,那么每一个节点在不超过r+Δ的时间里执行receive(m)指令。Messages are passed between anonymous nodes through the broadcast(m) command. The maximum delay of each message is Δ, if the message is broadcast at time r, then each node executes the receive(m) instruction in no more than r+Δ time.
任何一个状态转换需要满足如下条件:Any state transition needs to meet the following conditions:
1)状态转换由Quorum中的所有节点同意1) State transition is agreed by all nodes in Quorum
一个状态转换需要经过两阶段,从状态π0到状态π1,需要经过中间状态s0,当一个节点发布了一个状态转换的消息后,收到这个消息的节点开始对这个状态转换广播自己的投票结果,同时节点开始收集其他节点的投票结果消息,如果存在一个法定人数(Quorum)集合,集合里面超过设定比例的节点同意,则网络能够被转换到状态π1。集合里的节点可以指全部节点,也可以通过选举出来的代表性节点,每一个投票节点收到的消息相同。A state transition needs to go through two stages, from state π0 to state π1 , it needs to go through the intermediate state s0 , when a node publishes a state transition message, the node that receives the message starts broadcasting its own message for the state transition At the same time, the node starts to collect the voting result messages of other nodes. If there is a Quorum set, and the nodes in the set exceed the set ratio to agree, the network can be converted to the state π1 . The nodes in the set can refer to all nodes, or representative nodes selected through elections, and each voting node receives the same message.
2)不确定性2) Uncertainty
区块链协议使用了公开的、可快速验证的谜题。每一个过程执行了一个coinflip指令产生一个随机数H:[0,1)→[0,1)是随机单向哈希函数。过程pi对某一个中间状态的投票结果也是随机的,赞成的概率为p',那么一个中间状态d的表决结果为Binom(k,n,p'),转换能够完成概率为Blockchain protocols use public, rapidly verifiable puzzles. Each process executes a coinflip instruction to generate a random number H: [0,1)→[0,1) is a random one-way hash function. The voting result of the process pi on an intermediate state is also random, and the probability of agreeing is p', then the voting result of an intermediate state d is Binom(k,n,p'), and the conversion can be completed with a probability of
3)拜占庭错误3) Byzantine error
有f个出错的过程,这些拜占庭错误节点能够共谋对其他的正常节点发送错误消息。拜占庭出错过程反对正常过程,正常过程可能会赞成拜占庭过程。正常过程提出的方案通过的概率为拜占庭错误过程提出的方案能通过的概率为There are f faulty processes, and these Byzantine faulty nodes can conspire to send faulty messages to other healthy nodes. A Byzantine error process opposes a normal process, and a normal process may favor a Byzantine process. The probability of passing the proposal proposed by the normal process is The probability that the scheme proposed by the Byzantine error process can pass is
本发明的技术方案为:Technical scheme of the present invention is:
一种区块链一致性维护方法,其特征在于,对于去中心化系统中的每一节点Pi,当节点 Pi收到新的区块时,验证该区块是否满足工作量,如果满足,则对该区块中的每一个待完成的状态转换进行投票广播,利用接收到的投票广播的投票结果验证该区块是否满足合法性验证,如果该区块中的每一个待完成的状态转换均满足合法性验证,并且该区块的区块长度大于本地区块链的长度,则将这个区块作为新的区块加入到当前区块链中;其中,A blockchain consistency maintenance method, characterized in that, for each node Pi in the decentralized system, when the node Pi receives a new block, it verifies whether the block satisfies the workload, and if so, then Vote broadcast for each state transition to be completed in the block, and verify whether the block meets the legality verification by using the voting result of the received voting broadcast. If each state transition to be completed in the block is If the legality verification is satisfied, and the block length of the block is greater than the length of the local blockchain, this block will be added to the current blockchain as a new block; among them,
所述验证区块是否满足合法性验证的方法为:接收其他节点对所述投票广播反馈的投票结果,对收到的投票结果进行统计,如果统计结果满足设定条件则验证通过。The method for verifying whether the block satisfies legality verification is: receiving the voting results fed back by other nodes to the voting broadcast, counting the received voting results, and passing the verification if the statistical results meet the set conditions.
进一步的,所述验证区块是否满足工作量的方法为:计算区块链工作量证明难题的解 nonce,根据该解nonce验证该区块是否满足工作量证明。Further, the method for verifying whether the block satisfies the workload is: calculating the solution nonce of the blockchain workload proof problem, and verifying whether the block satisfies the workload proof according to the solution nonce.
进一步的,调用coinflip过程得到区块链工作量证明难题的解nonce。Further, call the coinflip process to get the solution nonce of the blockchain workload proof problem.
进一步的,所述去中心化系统中的出错节点比例f小于或等于0.38n;其中,n为待完成的状态转换总数。Further, the error node ratio f in the decentralized system is less than or equal to 0.38n; wherein, n is the total number of state transitions to be completed.
进一步的,所述去中心化系统中的节点对于一个状态转换通过的概率至少为0.75。Further, the node in the decentralized system has a probability of passing a state transition of at least 0.75.
进一步的,所述去中心化系统中设置一个法定人数集合Quorum,该法定人数集合Quorum 内投票结果中为同意的节点达到或超过该法定人数集合Quorum内节点总数一半时,视为统计结果满足设定条件,即验证通过。Further, a quorum set Quorum is set in the decentralized system, and when the voting results of the quorum set Quorum agree with the nodes reaching or exceeding half of the total number of nodes in the quorum set Quorum, the statistical result is deemed to meet the set Set the conditions, that is, the verification is passed.
进一步的,所述去中心化系统为去中心化的域名系统、公钥证书体系或去中心化的文件存储系统。Further, the decentralized system is a decentralized domain name system, a public key certificate system or a decentralized file storage system.
一种区块链一致性维护装置,其特征在于,包括接收区块消息处理模块,用于当节点收到新的区块时,调用执行计算过程处理模块验证该区块是否满足工作量,如果满足,则对该区块中的每一个待完成的状态转换进行投票广播,调用接收投票消息处理模块验证其是否满足合法性验证,如果该区块中的每一个待完成的状态转换均满足合法性验证,并且该区块的区块长度大于本地区块链的长度,则将这个区块作为新的区块加入到当前区块链中;接收投票消息处理模块,用于接收其他节点对所述投票广播反馈的投票结果,并对收到的投票结果进行统计,如果统计结果满足设定条件则验证通过。A block chain consistency maintenance device is characterized in that it includes a receiving block message processing module, which is used to call the execution calculation process processing module to verify whether the block meets the workload when the node receives a new block, and if Satisfied, then vote broadcast for each state transition to be completed in the block, call the receiving voting message processing module to verify whether it meets the legality verification, if each state transition to be completed in the block satisfies legality verification, and the block length of the block is greater than the length of the local blockchain, this block will be added to the current blockchain as a new block; the receiving voting message processing module is used to receive other nodes’ votes Broadcast the voting results of the above voting broadcast feedback, and count the received voting results. If the statistical results meet the set conditions, the verification is passed.
进一步的,所述执行计算过程处理模块,用于计算区块链工作量证明难题的解nonce,根据该解nonce验证该区块是否满足工作量证明。Further, the execution calculation process processing module is used to calculate the solution nonce of the block chain workload proof problem, and verify whether the block satisfies the workload proof according to the solution nonce.
进一步的,所述节点对于一个状态转换通过的概率至少为0.75。Further, the node has a probability of passing through a state transition of at least 0.75.
本发明的流程如图1所示,其内容如下:Flow process of the present invention is as shown in Figure 1, and its content is as follows:
●每一个节点Pi同时执行接收区块消息on receive,接收投票消息on receive_op和执行计算on compute过程。●Each node Pi simultaneously executes the process of receiving block messages on receive, receiving voting messages on receive_op and performing calculations on compute.
●接收区块消息on receive过程当收到新的区块时,调用on compute过程验证该区块是否满足工作量,对于该区块中的每一个待完成的状态转换,执行on receive_op过程,验证其是否满足合法性验证。如果上述条件均满足,并且该区块的区块长度大于本地区块链的长度,则将这个区块作为新的区块加入当前区块链。The on receive process of receiving block messages When a new block is received, the on compute process is called to verify whether the block meets the workload. For each state transition to be completed in the block, the on receive_op process is executed to verify Whether it satisfies legality verification. If the above conditions are met, and the block length of the block is greater than the length of the local blockchain, the block will be added to the current blockchain as a new block.
●对于新增区块中与原有区块链的差集中的中间状态,对其状态转换进行投票广播。● For the intermediate state in the difference set between the new block and the original block chain, vote and broadcast its state transition.
●接收投票消息on receive_op过程对收到的投票进行统计,如果超过半数,就返回成功,否则返回失败。●The process of receiving voting messages on receive_op counts the received votes, if more than half, it returns success, otherwise it returns failure.
●执行计算on compute过程执行挖矿过程,首先调用coinflip过程(即挖矿过程)得到区块链工作量证明难题的解nonce,对于收到的待完成状态转换请求,调用onreceive_op过程,如果其返回成功,则修改其状态。随后调用on compute过程,如果满足了正确的工作量证明,则广播这个区块。●Execute the calculation on compute process to execute the mining process, firstly call the coinflip process (that is, the mining process) to obtain the solution nonce of the block chain workload proof problem, and call the onreceive_op process for the received state transition request to be completed, if it returns If successful, modify its state. The on compute process is then called, and if the correct proof of work is met, the block is broadcast.
一致性证明proof of consistency
在n个process中有f<n/2个出错节点,假设一个过程能够解决一个难题的概率为p,一个过程赞成某一个状态转换的概率为p’,那么正常过程能够完成状态转换的概率为pc=(1-(1-p)n-f)*u,u为4.1中所示。出错的过程可以联合起来解决难题,一个出错的过程能够完成的概率转换为pf=fpv,v为4.1中所示。There are f<n/2 error nodes in n processes, assuming that the probability that a process can solve a difficult problem is p, and the probability that a process agrees to a certain state transition is p', then the probability that a normal process can complete the state transition is pc =(1-(1-p)nf )*u, where u is shown in 4.1. Error processes can be combined to solve difficult problems, and the probability that an error process can be completed is transformed into pf =fpv, where v is shown in 4.1.
经过轮后正常过程完成的状态转换次数服从二项分布:go through The number of state transitions completed by the normal process after rounds follows the binomial distribution:
出错过程完成的状态转换次数服从另外一个二项分布:The number of state transitions completed by the faulty process follows another binomial distribution:
当np>5,n(1-p)>5,使用N(np,np(1-p))拟合Binom(n,p)得到:When np>5, n(1-p)>5, use N(np,np(1-p)) to fit Binom(n,p) to get:
区块链协议中每个过程只会选择最长的链,协议需要保证Each process in the blockchain protocol will only select the longest chain, and the protocol needs to ensure
Blockc-Blockf>0Blockc -Blockf >0
而对于标准正态分布有如下性质: The standard normal distribution has the following properties:
prob=P{u-kσ<X<u+kσ}prob=P{u-kσ<X<u+kσ}
当k=3时,prob=99.73%,当k=4时,prob=99.99%。When k=3, prob=99.73%, when k=4, prob=99.99%.
如果μ-kσ>0,则当k=4时,有99.99%概率满足Blockc-Blockf>0If μ-kσ>0, then when k=4, there is a 99.99% probability that Blockc -Blockf >0
为了使成立,需要满足because established, needs to be satisfied
当k=4时,当取上述值时,有99.99%的概率能够达到最终一致性。算法的可终结性由决定。因此蒙特卡洛最终一致性得证。When k=4, when When the above values are taken, there is a 99.99% probability that the final consistency can be achieved. The finality of the algorithm is given by Decide. Therefore, the final consistency of Monte Carlo is proved.
参数讨论parameter discussion
容易看到,当出错节点比例f越大时,越大,即协议需要运行更长时间才能保证一致性。It is easy to see that when the error node ratio f is larger, The larger it is, the longer the protocol needs to run to ensure consistency.
实验验证了上述协议能够在较少的运行时间内(即)能够达到最终一致性,并且通过实验数据计算出了相对确切的出错节点数目上限。Experiments have verified that the above protocol can run in less running time (i.e. ) can achieve final consistency, and the relatively exact upper limit of the number of error nodes is calculated through experimental data.
1)出错节点比例上限1) The upper limit of the error node ratio
假设正确节点和出错节点的方案是大概率通过,令p≈1/n根据公式:Assuming that the scheme of the correct node and the wrong node is passed with a high probability, let p≈1/n according to the formula:
当n=1000时,通过调整f从n/4到n/2-1,观察图2中随出错节点比例f变化的情况。当f小于0.39n时,协议在较少时间内能够达到一致性。当f大于0.43n时,协议同样在较少时间内能够达到一致性,但是此时系统的一致性是由出错节点达成的。而在f介于0.38n和 0.43n时,协议需要运行很长的时间。When n=1000, by adjusting f from n/4 to n/2-1, observe in Figure 2 Changes with the proportion of faulty nodes f. When f is less than 0.39n, the protocol can reach consensus in less time. When f is greater than 0.43n, the agreement can also achieve consistency in less time, but at this time the consistency of the system is reached by the error node. And when f is between 0.38n and 0.43n, the protocol needs to run for a long time.
本发明需要保证正常节点的转换率大于出错节点的转换率,这是系统正确达成最终一致性的必要条件。pc和pf随出错节点比例f变化曲线如图3所示,可以看出要使得pc>pf,则f<0.41n。The present invention needs to ensure that the conversion rate of normal nodes is greater than that of error nodes, which is a necessary condition for the system to correctly achieve final consistency. The variation curves of pc and pf with the error node ratio f are shown in Fig. 3. It can be seen that if pc > pf , then f < 0.41n.
由于实验假定了因此图2只有并且f<0.41n的部分是有效的,将其重新绘制如图4所示。当f=0.38n时,协议能够在相对少的时间内达到一致性。Since the experiment assumed Therefore, Figure 2 has only And the part of f<0.41n is valid, it is redrawn as shown in Figure 4. When f = 0.38n, the protocol can reach consensus in relatively little time.
2)节点投票通过概率的选择2) Selection of node voting probability
根据之前的实验,选取f=0.38n作为合理的出错节点个数。根据之前的公式:According to previous experiments, f=0.38n is selected as a reasonable number of error nodes. According to the previous formula:
将p'作为自变量,绘制u和v随其变化的曲线,如图5所示。当p'>0.75的时候,u和v差不多都趋近于1。所以,当节点对于一个状态转换通过的概率至少为0.75时,上述协议才能够有效运行。Taking p' as an independent variable, draw the curves of u and v changing with it, as shown in Figure 5. When p'>0.75, u and v almost both tend to 1. Therefore, the above protocol can only work effectively when the probability of a node passing a state transition is at least 0.75.
与现有技术相比,本发明的积极效果为:Compared with prior art, positive effect of the present invention is:
1)本发明在区块链之上,引入了一个新的验证层,区块由底层区块链产生,而区块的验证则由验证层完成,区块链发生的状态变更,都需要经过这个验证层的同意,从而本发明使得基于区块链的去中心化应用具备状态验证;1) The present invention introduces a new verification layer on top of the block chain. The block is generated by the underlying block chain, and the verification of the block is completed by the verification layer. The state changes of the block chain need to go through The agreement of this verification layer, so that the present invention enables the decentralized application based on blockchain to have state verification;
2)具有状态合法性验证的区块链协议为一系列基于区块链的上层应用,如基于区块链的比特币可疑交易监管,去中心化域名系统的域名抢注,去中心化文件系统的资源上传管理,提供了新的管理思路,确保了每一次状态转换都是经过验证的。2) The blockchain protocol with state legitimacy verification is a series of upper-layer applications based on blockchain, such as blockchain-based bitcoin suspicious transaction supervision, domain name squatting in decentralized domain name system, and decentralized file system Resource upload management provides new management ideas and ensures that every state transition is verified.
3)只需要一次两两信息交换,即能够实现38%的容错率。3) Only one two-two information exchange is required, which can achieve a fault tolerance rate of 38%.
附图说明Description of drawings
图1为本发明的方法流程图;Fig. 1 is method flowchart of the present invention;
图2为执行轮数随出错节点比例变化曲线;Figure 2 is the curve of the number of execution rounds and the proportion of error nodes;
图3为正确和出错状态转换概率随出错节点比例变化曲线;Fig. 3 is the change curve of correct and wrong state transition probability with the proportion of wrong nodes;
图4为执行轮数随出错节点比例f(f<0.38n)变化曲线;Fig. 4 is the change curve of the number of execution rounds with the error node ratio f (f<0.38n);
图5为正常和出错节点投票通过概率随赞成概率变化曲线;Figure 5 is the change curve of normal and error node voting probability with the probability of approval;
图6为域名注册交易广播到区块链;Figure 6 is the domain name registration transaction broadcast to the blockchain;
图7为节点接收区块并发起投票流程图。Figure 7 is a flowchart of nodes receiving blocks and initiating voting.
具体实施方式Detailed ways
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明。In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail together with the accompanying drawings.
基于上述具有状态合法性验证的区块链方法,能够实现去中心化的根区域文件管理。Based on the above-mentioned blockchain method with status legality verification, decentralized root zone file management can be realized.
根服务器管理机构组成了区块链,需要一些政策的支持来选择系统初始化时的区块链节点,这些初始的根服务器管理机构能够代表世界大多数国家的意见。在系统运行的过程中,只要新的根服务器管理机构能够提供正确的工作量证明来产生合法区块,这个机构就能够参与投票。参与到这个区块链网络的诚实根服务器管理机构,必须接受大多数节点的投票结果。The root server management organization forms the blockchain, and some policy support is needed to select the blockchain nodes when the system is initialized. These initial root server management organizations can represent the opinions of most countries in the world. During the operation of the system, as long as the new root server management organization can provide the correct proof of work to generate legal blocks, this organization can participate in voting. The honest root server management organization participating in this blockchain network must accept the voting results of the majority of nodes.
如图6所示。当域名申请者通过域名管理客户端软件,提出域名注册申请,将该注册申请发送到根服务器管理机构组成的区块链中,然后根服务器管理机构组成的区块链将当前注册交易处于未确认的中间状态。交易的输出项置为nulldata类型,所注册域名以及注册者信息被嵌入到交易中,接着通过注册用户提供的密钥对这个交易进行签名,随后向其他的根服务器管理机构广播这个交易,开始挖矿的过程。As shown in Figure 6. When the domain name applicant submits a domain name registration application through the domain name management client software, the registration application is sent to the blockchain composed of the root server management organization, and then the blockchain composed of the root server management organization puts the current registration transaction in an unconfirmed state. intermediate state. The output item of the transaction is set to nulldata type, the registered domain name and registrant information are embedded in the transaction, and then the transaction is signed by the key provided by the registered user, and then the transaction is broadcast to other root server management agencies to start mining mining process.
根服务器管理机构一直执行挖矿过程的同时,接收来自域名管理客户端软件的交易广播消息,每一个根服务器管理机构执行如下过程:While the root server management organization has been performing the mining process, it receives transaction broadcast messages from the domain name management client software. Each root server management organization performs the following process:
1)根据自身策略决定是否将这个中间状态的注册交易加入到区块中;1) Decide whether to add the registration transaction of this intermediate state to the block according to its own strategy;
2)获取上一轮投票中,超过半数的域名修改请求,将其设置为最终状态,加入到当前区块中。2) Obtain more than half of the domain name modification requests in the last round of voting, set it as the final state, and add it to the current block.
当节点解决了工作量证明难题,随后向区块链网络广播这个区块。如图7所示,其他根服务器管理机构验证这个工作量证明,解析出域名修改请求,执行如下过程:When a node solves the proof-of-work puzzle, it then broadcasts the block to the blockchain network. As shown in Figure 7, other root server management organizations verify the workload proof, resolve the domain name modification request, and perform the following process:
1)如果域名注册为中间状态,则向其他节点广播针对这个域名注册的投票结果,并且拒绝这个域名注册,等待后续区块;1) If the domain name registration is in an intermediate state, the voting result for this domain name registration will be broadcast to other nodes, and the domain name registration will be rejected, waiting for the subsequent block;
2)如果域名注册为最终状态,则验证本地收到的其他节点的投票结果,如果超过半数,则将其加入到本地的区块链中;否则,拒绝这个请求。2) If the domain name registration is in the final state, verify the voting results of other nodes received locally, and if more than half, add it to the local blockchain; otherwise, reject the request.
当包含此注册请求的区块经过6个区块的确认后,这个解决工作量证明难题的管理机构被授权修改DNS解析系统中的区域文件,从而完成域名注册。When the block containing the registration request is confirmed by 6 blocks, the management agency that solves the proof-of-work problem is authorized to modify the zone file in the DNS resolution system to complete the domain name registration.
以上实施仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。The above implementation is only used to illustrate the technical solution of the present invention and not to limit it. Those skilled in the art can modify or equivalently replace the technical solution of the present invention without departing from the spirit and scope of the present invention. Protection of the present invention The scope should be defined by the claims.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711171256.9ACN108173658B (en) | 2017-11-22 | 2017-11-22 | Block chain consistency maintenance method and device |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711171256.9ACN108173658B (en) | 2017-11-22 | 2017-11-22 | Block chain consistency maintenance method and device |
| Publication Number | Publication Date |
|---|---|
| CN108173658Atrue CN108173658A (en) | 2018-06-15 |
| CN108173658B CN108173658B (en) | 2020-01-21 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201711171256.9AActiveCN108173658B (en) | 2017-11-22 | 2017-11-22 | Block chain consistency maintenance method and device |
| Country | Link |
|---|---|
| CN (1) | CN108173658B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109409749A (en)* | 2018-10-30 | 2019-03-01 | 四川长虹电器股份有限公司 | A kind of IT assets management method based on block chain |
| WO2020042927A1 (en)* | 2018-08-28 | 2020-03-05 | 白杰 | Blockchain public chain |
| WO2020042933A1 (en)* | 2018-08-28 | 2020-03-05 | 白杰 | Blockchain network access method and system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106447311A (en)* | 2016-09-26 | 2017-02-22 | 北京天德科技有限公司 | Block chain block building method for Byzantine fault tolerant algorithm of quartic communication |
| CN106651332A (en)* | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | Block chain and method for generating new block in block chain |
| CN106878071A (en)* | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | A kind of block chain common recognition mechanism based on Raft algorithms |
| WO2017109140A1 (en)* | 2015-12-22 | 2017-06-29 | Bigchaindb Gmbh | Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction |
| US20170213209A1 (en)* | 2016-01-21 | 2017-07-27 | International Business Machines Corporation | Enterprise blockchains and transactional systems |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017109140A1 (en)* | 2015-12-22 | 2017-06-29 | Bigchaindb Gmbh | Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction |
| US20170213209A1 (en)* | 2016-01-21 | 2017-07-27 | International Business Machines Corporation | Enterprise blockchains and transactional systems |
| CN106447311A (en)* | 2016-09-26 | 2017-02-22 | 北京天德科技有限公司 | Block chain block building method for Byzantine fault tolerant algorithm of quartic communication |
| CN106651332A (en)* | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | Block chain and method for generating new block in block chain |
| CN106878071A (en)* | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | A kind of block chain common recognition mechanism based on Raft algorithms |
| Title |
|---|
| COWLING, JAMES, ET AL.: ". "HQ replication: A hybrid quorum protocol for Byzantine fault tolerance"", 《PROCEEDINGS OF THE 7TH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION. USENIX ASSOCIATION》* |
| 刘肖飞: ""基于动态授权的拜占庭容错共识算法的区块链性能改进研究"", 《万方数据在线出版》* |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020042927A1 (en)* | 2018-08-28 | 2020-03-05 | 白杰 | Blockchain public chain |
| WO2020042933A1 (en)* | 2018-08-28 | 2020-03-05 | 白杰 | Blockchain network access method and system |
| CN109409749A (en)* | 2018-10-30 | 2019-03-01 | 四川长虹电器股份有限公司 | A kind of IT assets management method based on block chain |
| Publication number | Publication date |
|---|---|
| CN108173658B (en) | 2020-01-21 |
| Publication | Publication Date | Title |
|---|---|---|
| US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
| CN110289966B (en) | Consortium chain consensus method against adaptive attack based on Byzantine fault tolerance | |
| CN112311735B (en) | Credible authentication method, network equipment, system and storage medium | |
| CN114139203B (en) | Blockchain-based heterogeneous identity alliance risk assessment system, method and terminal | |
| CN108769230B (en) | Transaction data storage method, device, server and storage medium | |
| CN112152778B (en) | Node management method and device and electronic equipment | |
| CN113328997B (en) | Alliance chain crossing system and method | |
| CN110445795B (en) | Block chain authentication uniqueness confirmation method | |
| WO2019004480A1 (en) | Consensus-forming method in network, and node for configuring network | |
| CN111464536B (en) | Block chain cross-chain method and device | |
| KR20200081533A (en) | Blockchain Consensus Method based Improved Dynamic Blind Voting for Internet of Things Environment | |
| CN113079215A (en) | Block chain-based wireless security access method for power distribution Internet of things | |
| Le et al. | A lightweight block validation method for resource-constrained iot devices in blockchain-based applications | |
| CN108173658B (en) | Block chain consistency maintenance method and device | |
| CN112910661B (en) | Block chain consensus method, device, equipment and medium suitable for electronic subscription | |
| CN112395113B (en) | Practical Bayesian fault-tolerant consensus method and device and readable storage medium | |
| CN115189871A (en) | A Byzantine Fault Tolerant Consensus Algorithm Based on Verifiable Random Function and Threshold Signature | |
| CN115174570A (en) | Cross-chain consensus method and system based on dynamic committee | |
| CN111222989A (en) | Transaction method of multi-channel block chain, electronic device and storage medium | |
| Chen et al. | A vehicular trust blockchain framework with scalable byzantine consensus | |
| Zhang et al. | FortunChain: EC-VRF-based scalable blockchain system for realizing state sharding | |
| CN116112506A (en) | Transaction information processing method, device, medium and equipment based on alliance chain system | |
| CN114615006A (en) | Edge layer data security protection method and system for power distribution Internet of things and storage medium | |
| CN116112215B (en) | Remote certification method, device, electronic device and storage medium based on alliance chain | |
| CN117395007A (en) | Block chain consensus method, system and terminal based on publicly verifiable random numbers |
| 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 |