WO2019224593A1 - Procédé et système pour générer une chaine de blocs - Google Patents

Procédé et système pour générer une chaine de blocs Download PDF

Info

Publication number
WO2019224593A1
WO2019224593A1 PCT/IB2018/057142 IB2018057142W WO2019224593A1 WO 2019224593 A1 WO2019224593 A1 WO 2019224593A1 IB 2018057142 W IB2018057142 W IB 2018057142W WO 2019224593 A1 WO2019224593 A1 WO 2019224593A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
blockchain
node
nodes
broadcast
Prior art date
Application number
PCT/IB2018/057142
Other languages
English (en)
Chinese (zh)
Inventor
陈泰元
黄伟宁
欧曜玮
Original Assignee
柯宾汉数位金融科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 柯宾汉数位金融科技有限公司 filed Critical 柯宾汉数位金融科技有限公司
Publication of WO2019224593A1 publication Critical patent/WO2019224593A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to a blockchain system, and in particular, to a blockchain system in which a plurality of nodes each produce a blockchain, and then the plurality of blockchains are compacted into a common blockchain.
  • Blockchain technology is a technical solution that does not rely on third parties to store, verify, transfer, and communicate network data through its own decentralized nodes. Therefore, from the perspective of financial accounting, some people regard the blockchain technology as a decentralized and open decentralized large-scale network book (public ledger).
  • Public ledger An organization of a blockchain
  • the public ledger used by Bitcoin is a decentralized storage scheme based on the Proof-of-Work mechanism, which usually has extremely high security and anti-attack characteristics.
  • computing power of up to thousands of TH / s is required, which has exceeded the total computing power of the top 500 supercomputers in the world by a hundred times.
  • Bitcoin has the advantages of decentralization and immutable data, there are still many shortcomings. For example, resources are wasted. Bitcoin uses the Proof-of-Work mechanism to determine who produces new blocks. This method results in a large number of computers computing a meaningless mathematical problem at the same time, resulting in resources. Waste; incomplete decentralization, Bitcoin uses the Proof-of-Work mechanism to determine who produces new blocks, resulting in computers with strong computing power controlling most of the rights to produce blocks, forming Another form of centralization problem; non-scalable, in order to ensure the consistency of data, Bitcoin can only produce one recognized block per period of time, so the average number of transactions per second (TPS) can only load 7 transactions Transactions cause problems such as network congestion and slow block production speeds; there is a risk of front-running.
  • TPS average number of transactions per second
  • the present invention provides a method for generating a blockchain, which is executed on a computer system, the computer system includes a plurality of nodes, and includes the following steps: the nodes obtain a shared file based on a blockchain protocol, and The shared file separately establishes a blockchain, where each blockchain contains a block, and the content of the blockchain established by each node is not completely the same; the nodes mutually confirm (Ack) the blockchain To form multiple confirmed blockchains; and It has been confirmed that the blockchain is compacted to form a common blockchain.
  • the steps of the nodes mutually confirming the blockchain to form a plurality of confirmed blockchains further include the following sub-steps: a first of the nodes is in the block established A first block is generated in the chain, and a first broadcast corresponding to the first block is issued; the nodes other than the first node receive the broadcast, and confirm the first block; and when the first block After a block is confirmed by more than a predetermined number of the nodes, the block chain established by the first node becomes the confirmed block chain.
  • the predetermined number is two thirds of the total number of the nodes.
  • the sub-steps of the nodes other than the first node receiving the first broadcast to confirm the first block further include the following steps: a second node of the nodes receives the first block The first broadcast of a node; the second node generates a second block according to the shared file, wherein the second block contains a confirmation data corresponding to the first block; and the second node sends the first block A second broadcast corresponding to the two blocks.
  • the confirmation data includes the creator code of the first block, the hash value of the first block, the height of the first block, and a confirmation time stamp, where the confirmation time stamp is the The second node receives the timestamp of the first broadcast. And a creation timestamp of the second block is greater than a creation timestamp of the first block, wherein the creation time stamp is a timestamp created by the block.
  • the method further includes the following steps: storing the common blockchain at the nodes.
  • the block of each block chain is compacted according to an ordering algorithm to form the common block chain.
  • the block includes a creator code, a transaction record, a hash value of the block, a hash value of a previous block of the block, a creator signature, a block height, and -Confirm the data.
  • the transaction record contains multiple transaction data, and each transaction data includes a transaction code, a sender code, a receiver code, a transaction volume, and a sender signature.
  • Another category of the present invention is to provide a blockchain generation system, which includes: a blockchain network that stores a shared file; and a plurality of nodes that are connected to the blockchain network to obtain the shared file, and based on The shared file separately establishes a blockchain, and the nodes mutually confirm (Ack) the blockchain to form a plurality of confirmed blockchains; wherein, the confirmed blockchains are compacted to form a A common blockchain, and each blockchain contains a block, and the content of the blockchain established by each node is not exactly the same.
  • the method and system for generating a blockchain according to the present invention use a plurality of nodes to form a blockchain each, and use a consensus algorithm and a sorting algorithm to compact multiple blockchains into a common blockchain.
  • the present invention proposes an innovative blockchain data structure based on Directed Acyclic Graph (DAG). Multiple nodes establish their own blockchains at the same time, which makes the speed very fast. In the current blockchain system, the problem of centralization is avoided.
  • the present invention uses the method of mutual confirmation (Ack) between nodes to achieve consensus between the nodes, which can not only solve the Byzantine Generals Problem, but also greatly reduce the amount of system operation and avoid waste of resources. .
  • FIG. 1 is a method flowchart of a specific embodiment of the present invention.
  • FIG. 2 is a sub-flow chart of step 2000 in FIG. 1.
  • FIG. 3 is a sub-flow chart of step 2500 in FIG. 2.
  • FIG. 4 is a schematic diagram of a specific embodiment of steps 2300 and 2400 of FIG. 2.
  • FIG. 5 is a schematic diagram of a specific embodiment of steps 2530 and 2540 in FIG. 3.
  • Figure 6 is a schematic diagram of a node generating a branch chain.
  • FIG. 7 is a schematic diagram of a blockchain structure of the present invention.
  • FIG. 8 is a schematic diagram of a specific embodiment of step 3000 in FIG. 1.
  • Second Broadcast 1000 Steps
  • Step 2400 Step 2
  • Step 2510 Step 2510
  • Step 2530 Step
  • Step 2540 Step 2540
  • Step 3000 Steps
  • FIG. 1 is a flowchart of a method according to a specific embodiment of the present invention.
  • the invention provides a method and system for generating a blockchain.
  • the blockchain generation system includes a blockchain network and a plurality of nodes.
  • a shared file is stored in the blockchain network.
  • the shared file is an open file uploaded by a user, such as transaction records, contract contents, etc., each Each node can obtain shared files by accessing the blockchain network.
  • Multiple nodes are co-maintainers of the blockchain network, and play the storage and validator of the blockchain network.
  • each node represents an electronic computer device, and multiple nodes It includes a first node and a second node. As shown in FIG.
  • step 1000 multiple nodes respectively establish a blockchain based on a shared file on the blockchain network.
  • a shared file on the blockchain network there are several shared files on the blockchain network, and each node can obtain different shared files to establish a blockchain, so the blockchain established by each node is not exactly the same (some content may occur the same).
  • the user can choose to deliver the uploaded shared file to the selected node, or a representative (Delegate) randomly allocates the shared file to multiple nodes for data packaging.
  • the block chain established by each node is connected by multiple blocks, and each block includes a creator code (Block Proposer ID) and a transaction record (Transactions)
  • Each block includes a creator code (Block Proposer ID) and a transaction record (Transactions)
  • Block Hash the previous block hash of the block (Previous Block Hash), a creator signature (Signature), a block height (Block Height), and a confirmation data (Acks).
  • the transaction record contains multiple transaction data, and each transaction data includes a transaction code (Transaction ID), a sender code (Sender ID), a receiver code (Receiver ID), and a transaction load (Payload) , And a Sender Signature.
  • FIG. 2 is a sub-flow chart of step 2000 in FIG. 1
  • FIG. 3 is a sub-flow chart of step 2500 in FIG. 2.
  • each node confirms (Ack) the blockchain to form a plurality of confirmed blockchains.
  • Step 2000 can be divided into the following sub-steps: Step 2100, the first node obtains the shared file; step 2200, the first node checks whether the shared file is correct?
  • Step 2600 When the first block is confirmed by more than a predetermined number of nodes, a confirmed block chain is formed.
  • Step 2500 can be divided into the following steps: Step 2510, the second node receives the first broadcast; step 2520, the second node checks whether the first broadcast content is correct? If not, continue to step 2531 to remove the first broadcast that fails the check; if yes, continue to step 2530.
  • the second node creates a second block based on the shared file, where the second block contains a confirmation data; step 2540: The second node sends a second broadcast.
  • FIG. 4 is a schematic diagram of a specific embodiment of steps 2300 and 2400 in FIG. 2.
  • the first node 100 obtains a transaction record (shared file) from the blockchain network and checks the transaction record.
  • the check item includes checking whether the data format of the transaction record is correct, and checking whether the content of the transaction record conforms to
  • the data stored in the first node 100 for example, checks whether there is sufficient balance in the account of the transaction sender to perform the transaction. If the inspection result shows that the data is wrong, the transaction record will be removed and will not be recorded in the new block.
  • the first node 100 can directly delete the transaction record that fails the inspection, or the error message Return to Delegate or other nodes.
  • the transaction record is written into the newly created first block 110.
  • the first node 100 establishes the first block 110, it sends a first broadcast 120 to notify other nodes.
  • the first broadcast 120 includes information about the first block 110, and the first broadcast 120 is based on the Gossip protocol. Protocol) to ensure that all nodes can receive the broadcast, but the broadcast method is not limited to this. Please refer to FIG. 3, FIG. 4, FIG. 5, and FIG. 6.
  • FIG. 5 is a schematic diagram of a specific embodiment of steps 2530 and 2540 of FIG. 3, and FIG. 6 is a schematic diagram of a node generating a fork.
  • the second node 200 receives the first broadcast 120, and checks whether the content included in the first broadcast 120 is correct, such as checking the hash value of the previous block included in the broadcast (Previous Block Hash). ) Is it the same as other broadcasts? If it has the same previous block hash (Previous Block Hash), it means that the node that sent the broadcast generates a branch (Fork), and the case where the same node generates a branch is in the present invention. It is not allowed. Therefore, when it is checked that the node that sends the broadcast generates a branch chain, an error message can be reported to the representative (Delegate) or other nodes, and even the node that generates the branch chain is punished.
  • the block 20 of node 10 generates a branch chain. As shown in Figure 6.
  • the second node 200 writes the confirmation information of the received first broadcast 120 into a newly generated second block 210. It is worth noting that The second node 200 does not establish the second block 210 because of receiving the first broadcast 120.
  • the second node 200 may receive several broadcasts before establishing a new block 210, while the second node 200 is only establishing a new block When receiving the second block 210, the received broadcast (pass inspection) confirmation information (Ack) is written into the second block 210.
  • the second node 200 When the first broadcast 120 passes the check, and the second node 200 writes the confirmation information of the first broadcast 120 into a newly generated second block 210, it represents the second block 210 to confirm (Ack) the first area Block 110, as shown in FIG. 5, the second block 210 points to the arrow of the first block 110.
  • the confirmation data includes the creator code of the first block (Block Proposer ID), the hash value of the first block (Block Hash), the height of the first block (Block Height), and a confirmation time stamp (Block Ack Timestamp), where the confirmation timestamp is the timestamp of the second node 210 receiving the first broadcast 120, and the height of the first block is the first block 110 generated in the blockchain of the first node 100 In sequence, for example, if the first block 110 is the second block generated by the first node 100, the height of the first block is 2.
  • the second node 200 After the second node 200 establishes the second block 210, it sends a second broadcast 220 to notify other nodes, where the second broadcast 220 contains information about the second block 210, and the second broadcast 220 is based on the gossip protocol ( Gossip Protocol) to ensure that all nodes (including the first node 100) can receive the broadcast, but the broadcast method is not limited to this.
  • Gossip Protocol Gossip Protocol
  • the block is created with a creation time stamp.
  • the creation time stamp of the second block 210 must be greater than the first block.
  • the creation timestamp of block 110, that is, the first block 110 must be created earlier than the second block 210.
  • FIG. 7 is a schematic diagram of a blockchain structure of the present invention.
  • each node establishes multiple blocks to form a blockchain, and multiple nodes confirm the newly generated blocks with each other (as shown by the arrows between the blocks), forming a directed acyclic loop.
  • Graph Directed Acyclic Graph, DAG
  • block 20 is the latest block generated by node 10.
  • the block chain 30 to which block 20 belongs is: Become a confirmed blockchain.
  • FIG. 1 and FIG. 8 is a schematic diagram of a specific embodiment of step 3000 in FIG. 1. After performing the above steps 2000, multiple confirmed blockchains are obtained, and then step 3000 is performed to compact the multiple confirmed blockchains to form a common blockchain. In the specific embodiment of FIG.
  • the blockchains 30, 32, and 34 generated by the nodes 10, 12, and 14 have been confirmed (Ack) by more than two-thirds of the nodes to form a confirmed blockchain, and the nodes can use All confirmed blockchains are compacted into a common blockchain.
  • the common blockchain contains all blocks of all confirmed blockchains, and these blocks (21, 22, 23, 24, 25 , 26, 27)
  • the relative position of the sort is fixed.
  • the order of blocks can be sorted according to the creation timestamp of each block, or sorted according to an ordering algorithm. Among them, the sorting algorithm regards the previous block that has been placed in the common blockchain as the first order to enter the common blockchain, and then enters the common area according to the number of times that the block is confirmed (Ack).
  • the ordering algorithm Total Ordering
  • each node will confirm each other by broadcast (Ack), so the common blockchain calculated by each node will be consistent.
  • the common blockchain is stored in each node as a basis for inspection (public ledger).
  • a representative can also be used to check whether the common blockchain generated by each node is consistent to ensure data consistency.
  • each node acquires a shared file from the blockchain network to establish a blockchain
  • the same transaction record may be generated when two nodes are formed in a common blockchain and recorded in two different blocks.
  • it will automatically delete one of the duplicate transaction records to ensure the correctness of the data.
  • an electronic computer device is sliced into a plurality of nodes, and each node operates independently to generate a blockchain, so that the computing resources are used to the maximum.
  • the method and system for generating a blockchain according to the present invention utilize a plurality of nodes to form a blockchain each, and use a consensus algorithm and a sorting algorithm to compact multiple blockchains into a common blockchain.
  • the present invention proposes an innovative blockchain data structure based on Directed Acyclic Graph (DAG). Multiple nodes establish their own blockchains at the same time, which makes the speed very fast. In the current blockchain system, the problem of centralization is avoided.
  • the present invention uses the method of mutual confirmation (Ack) between nodes to achieve consensus between the nodes, which can not only solve the Byzantine Generals Problem, but also greatly reduce the amount of system operation and avoid waste of resources. .
  • the block generation speed of the present invention is much faster than the current blockchain system, it means that when a transaction is put on the blockchain generation system of the present invention, it can be written into the block quickly, so It also solves the problem of fairness in the prior art.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un procédé de génération d'une chaîne de blocs. Le procédé comprend les étapes suivantes : plusieurs noeuds acquièrent un fichier partagé sur la base d'un accord de chaîne de blocs, et établissent respectivement une chaîne de blocs selon le fichier partagé, chaque chaîne de blocs comprenant un bloc, et le contenu de la chaîne de blocs établi par chacun des noeuds n'est pas exactement identique; les noeuds confirment mutuellement les chaînes de blocs pour former de multiples chaînes de blocs confirmées; et compactent des chaînes de blocs confirmées pour former une chaîne de blocs commune. Par rapport à l'état de la technique, le procédé et le système de génération d'une chaîne de blocs de la présente invention permettent de générer plus rapidement un bloc et de réduire considérablement la quantité d'opérations, et présentent les avantages d'être extensibles à l'infini, de prévenir une congestion de réseau, d'assurer une équité de transaction et d'obtenir une décentralisation réelle.
PCT/IB2018/057142 2018-05-25 2018-09-18 Procédé et système pour générer une chaine de blocs WO2019224593A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107118027 2018-05-25
TW107118027A TWI673988B (zh) 2018-05-25 2018-05-25 區塊鏈的生成方法及系統

Publications (1)

Publication Number Publication Date
WO2019224593A1 true WO2019224593A1 (fr) 2019-11-28

Family

ID=68615561

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2018/057142 WO2019224593A1 (fr) 2018-05-25 2018-09-18 Procédé et système pour générer une chaine de blocs

Country Status (2)

Country Link
TW (1) TWI673988B (fr)
WO (1) WO2019224593A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538791A (zh) * 2020-05-07 2020-08-14 深圳创客区块链技术有限公司 区块链多重跨链相互保护方法、装置及存储介质
WO2023279972A1 (fr) * 2021-07-07 2023-01-12 支付宝(杭州)信息技术有限公司 Procédé de traitement de cohérence de chaîne de blocs, nœud de chaîne de blocs et système de chaîne de blocs

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228446A (zh) * 2016-05-12 2016-12-14 北京众享比特科技有限公司 基于私有区块链的资产交易平台系统及方法
CN106452785A (zh) * 2016-09-29 2017-02-22 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
CN107078910A (zh) * 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 生成区块链区块的方法、装置、节点、签名设备及系统
US20170346637A1 (en) * 2016-05-27 2017-11-30 Sony Corporation Electronic apparatus, method for electronic apparatus and information processing system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI331861B (en) * 2007-01-24 2010-10-11 Realtek Semiconductor Corp Null symbol detecting device and method
US9229952B1 (en) * 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US10198325B2 (en) * 2016-05-24 2019-02-05 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
CN106406896B (zh) * 2016-09-27 2020-03-17 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228446A (zh) * 2016-05-12 2016-12-14 北京众享比特科技有限公司 基于私有区块链的资产交易平台系统及方法
US20170346637A1 (en) * 2016-05-27 2017-11-30 Sony Corporation Electronic apparatus, method for electronic apparatus and information processing system
CN106452785A (zh) * 2016-09-29 2017-02-22 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
CN107078910A (zh) * 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 生成区块链区块的方法、装置、节点、签名设备及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538791A (zh) * 2020-05-07 2020-08-14 深圳创客区块链技术有限公司 区块链多重跨链相互保护方法、装置及存储介质
CN111538791B (zh) * 2020-05-07 2023-09-22 深圳创客区块链技术有限公司 区块链多重跨链相互保护方法、装置及存储介质
WO2023279972A1 (fr) * 2021-07-07 2023-01-12 支付宝(杭州)信息技术有限公司 Procédé de traitement de cohérence de chaîne de blocs, nœud de chaîne de blocs et système de chaîne de blocs

Also Published As

Publication number Publication date
TWI673988B (zh) 2019-10-01
TW202005327A (zh) 2020-01-16

Similar Documents

Publication Publication Date Title
WO2023050555A1 (fr) Procédé de stockage distribué à haute performance de données et d'horodatage de bloc, communication inter-chaîne et collaboration de données
CN109871669B (zh) 一种基于区块链技术的数据共享解决方法
CN110113388B (zh) 一种基于改进型聚类算法的区块链系统共识的方法和装置
JP7472333B2 (ja) バリデータノードにより提供されるブロックチェーントランザクションをマイニングする方法及びシステム
KR102432731B1 (ko) 네트워크 내의 분산 데이터베이스를 위한 방법 및 장치
Bandara et al. Mystiko—blockchain meets big data
US11971877B2 (en) Method, apparatus, device, and storage medium for proposal message processing for blockchain
US10572455B2 (en) Methods and apparatus for a distributed database within a network
US20200145233A1 (en) System and method for implementing blockchain-based digital certificates
US20200143366A1 (en) Methods for decentralized digital asset transfer and smart contract state transition
CN114514732A (zh) 用于区块链dag结构的共识协议
Kaur et al. Scalability in blockchain: Challenges and solutions
CN112686671B (zh) 基于区块链的智能合约部署方法、装置、设备以及介质
CN112835612A (zh) 一种基于区块链的电子文档版本管理方法及装置
WO2023016164A1 (fr) Procédé et appareil de traitement de données basé sur un contrat intelligent, dispositif électronique, support de stockage lisible par ordinateur, et produit de programme informatique
WO2023011019A1 (fr) Procédé et appareil de traitement de données reposant sur une chaîne de blocs, dispositif, support de stockage lisible et produit-programme informatique
WO2019224593A1 (fr) Procédé et système pour générer une chaine de blocs
WO2023020242A1 (fr) Procédé et appareil de traitement de données basés sur une chaîne de blocs, dispositif informatique, support de stockage lisible et produit de programme informatique
CN111737352B (zh) 一种基于区块链的供应链信息协同管理方法
CN111881109A (zh) 数据库可合并分类账
US20200145230A1 (en) System and method for generating digital marks
CN114329528A (zh) 一种基于区块链的档案数据管理方法及系统
CN114155000A (zh) 基于区块链的可追溯混凝土质量管理系统
Jadhav et al. Decentralized Data Storage Solutions using Hyperledger Fabric
Guo Application of blockchain based on deep learning algorithm in enterprise Internet of Things system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18919758

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18919758

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 28.05.2021.)

122 Ep: pct application non-entry in european phase

Ref document number: 18919758

Country of ref document: EP

Kind code of ref document: A1