WO2019224593A1 - 区块链的生成方法及系统 - Google Patents
区块链的生成方法及系统 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support 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.
Abstract
Description
Claims
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 (zh) | 2019-11-28 |
Family
ID=68615561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2018/057142 WO2019224593A1 (zh) | 2018-05-25 | 2018-09-18 | 区块链的生成方法及系统 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TWI673988B (zh) |
WO (1) | WO2019224593A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538791A (zh) * | 2020-05-07 | 2020-08-14 | 深圳创客区块链技术有限公司 | 区块链多重跨链相互保护方法、装置及存储介质 |
WO2023279972A1 (zh) * | 2021-07-07 | 2023-01-12 | 支付宝(杭州)信息技术有限公司 | 区块链一致性处理方法、区块链节点和区块链系统 |
Citations (4)
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)
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技术的区块链建块方法 |
-
2018
- 2018-05-25 TW TW107118027A patent/TWI673988B/zh not_active IP Right Cessation
- 2018-09-18 WO PCT/IB2018/057142 patent/WO2019224593A1/zh active Application Filing
Patent Citations (4)
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)
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 (zh) * | 2021-07-07 | 2023-01-12 | 支付宝(杭州)信息技术有限公司 | 区块链一致性处理方法、区块链节点和区块链系统 |
Also Published As
Publication number | Publication date |
---|---|
TWI673988B (zh) | 2019-10-01 |
TW202005327A (zh) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023050555A1 (zh) | 一种高性能分布式存储区块数据、时间戳、跨链通信与数据协同方法 | |
CN109871669B (zh) | 一种基于区块链技术的数据共享解决方法 | |
JP7472333B2 (ja) | バリデータノードにより提供されるブロックチェーントランザクションをマイニングする方法及びシステム | |
KR102432731B1 (ko) | 네트워크 내의 분산 데이터베이스를 위한 방법 및 장치 | |
CN114514732B (zh) | 用于区块链dag结构的共识协议的方法、计算系统和可读介质 | |
Bandara et al. | Mystiko—blockchain meets big data | |
US20200145233A1 (en) | System and method for implementing blockchain-based digital certificates | |
US10572455B2 (en) | Methods and apparatus for a distributed database within a network | |
US20200143366A1 (en) | Methods for decentralized digital asset transfer and smart contract state transition | |
Kaur et al. | Scalability in blockchain: Challenges and solutions | |
CN112686671B (zh) | 基于区块链的智能合约部署方法、装置、设备以及介质 | |
CN112835612A (zh) | 一种基于区块链的电子文档版本管理方法及装置 | |
CN111988338A (zh) | 基于区块链的权限可控的物联网云平台及数据交互方法 | |
WO2023016164A1 (zh) | 一种基于智能合约的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN112053271B (zh) | 基于区块链的公益平台数据存证管理方法及系统 | |
WO2019224593A1 (zh) | 区块链的生成方法及系统 | |
WO2023020242A1 (zh) | 基于区块链的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN111737352B (zh) | 一种基于区块链的供应链信息协同管理方法 | |
CN111881109A (zh) | 数据库可合并分类账 | |
Li et al. | Scalable blockchain storage mechanism based on two-layer structure and improved distributed consensus | |
JP2024515022A (ja) | ブロックチェーンに基づくデータ処理方法、装置、機器及びコンピュータプログラム | |
CN114329528A (zh) | 一种基于区块链的档案数据管理方法及系统 | |
CN116304265A (zh) | 一种基于区块链的电子档案管理方法及系统 | |
WO2023221350A1 (zh) | 基于区块链的代码版权登记系统、方法及平台 | |
Jadhav et al. | Decentralized Data Storage Solutions using Hyperledger Fabric |
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 |