Network for increasing verification speed by preventing data from being tampered

文档序号:1472492 发布日期:2020-02-21 浏览:8次 中文

阅读说明:本技术 通过防篡改数据提高验证速度的网络 (Network for increasing verification speed by preventing data from being tampered ) 是由 M·扎马尼 M·莫瓦赫迪 M·赖科瓦 于 2018-05-22 设计创作,主要内容包括:公开了一种方法。所述方法包括:a)从计算机网络中多个节点中的节点接收节点标识符;b)在包括多个节点的采样器图表中确定多个节点委员会,其中节点存在于所述多个节点委员会中的一个节点委员会中;c)和i)生成随机字符串;ii)使用所述随机字符串和哈希函数执行工作证明过程;iii)如果所述工作证明过程产生可接受的解决方案,则将所述解决方案广播到所述多个节点中的所有其它节点,其中所述其它节点验证所述解决方案;以及iv)如果所述其它节点验证所述解决方案,则将所述节点选择给所述节点委员会的小组委员会,其中所述小组委员会更新所述采样器图表;以及d)重复步骤b)和c)直到确定领导委员会。(A method is disclosed. The method comprises the following steps: a) receiving a node identifier from a node of a plurality of nodes in a computer network; b) determining a plurality of node committees in a sampler graph comprising a plurality of nodes, wherein a node exists in one of the plurality of node committees; c) and i) generating a random string; ii) performing a proof of work process using the random string and a hash function; iii) if the proof of work process produces an acceptable solution, broadcasting the solution to all other nodes in the plurality of nodes, wherein the other nodes verify the solution; and iv) if the other nodes verify the solution, selecting the node to a committee on teams of the committee on nodes, wherein the committee on teams updates the sampler graph; and d) repeating steps b) and c) until a committee of leadership is determined.)

1. A method performed by a node in a computer network comprising a plurality of nodes, each node having a node identifier, the method comprising:

a) receiving, by the node, a node identifier from other nodes of the plurality of nodes in the computer network;

b) determining, by the node, a plurality of node committees in a sampler graph comprising a plurality of nodes, wherein the node resides in one of the plurality of node committees;

c) the node, it further

i) Generating a random character string;

ii) performing a proof of work process using the random string and a hash function;

iii) if the proof of work process produces an acceptable solution, broadcasting the solution to all other nodes in the plurality of nodes, wherein the other nodes verify the solution; and

iv) if the other nodes verify the solution, selecting the node to a committee on teams of the committee on nodes, wherein the committee on teams updates the sampler graph; and

d) repeating steps b) and c) until a committee for leadership is determined.

2. The method of claim 1, further comprising:

determining, by the node, the sampler graph based on the node identifier and a predefined seed, the sampler graph including the plurality of nodes, wherein each node determines the sampler graph locally.

3. The method of claim 2, wherein the sampler graph is a random bipartite graph having the plurality of nodes and the plurality of node committees.

4. The method of claim 1, wherein each node in the committee of nodes performs steps i) through iv).

5. The method of claim 1, wherein the node is a first node and the solution is a first solution, and further comprising:

receiving, by the first node, a second solution from a second node in the node committee;

verifying, by the first node, the second solution; and

selecting, by the first node, the second node to the committee on the subgroup if the second solution is acceptable.

6. The method of claim 1, further comprising:

determining, by the node, the leadership committee based on the sampler graph, wherein the sampler graph indicates a number of nodes in the sampler graph, and wherein the number of nodes in the sampler graph is less than a predefined threshold.

7. The method of claim 1, further comprising:

partitioning, by the nodes in the leadership committee, the plurality of nodes in the computer network to form a sharded committee.

8. The method of claim 1, wherein the node identifier is a public key.

9. A node, comprising:

a processor;

a memory device; and

a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor for implementing a method performed by nodes in a computer network comprising a plurality of nodes, each node having a node identifier, the method comprising:

a) receiving node identifiers from other nodes of the plurality of nodes in the computer network;

b) determining a plurality of node committees in a sampler graph comprising a plurality of nodes, wherein the node resides in one of the plurality of node committees;

c) the node, it further

i) Generating a random character string;

ii) performing a proof of work process using the random string and a hash function;

iii) if the proof of work process produces an acceptable solution, broadcasting the solution to all other nodes in the plurality of nodes, wherein the other nodes verify the solution; and

iv) if the other nodes verify the solution, selecting the node to a committee on teams of the committee on nodes, wherein the committee on teams updates the sampler graph; and

d) repeating steps b) and c) until a committee for leadership is determined.

10. The node of claim 9, wherein the method further comprises:

determining the sampler graph based on the node identifier and a predefined seed, the sampler graph including the plurality of nodes, wherein each node determines the sampler graph locally.

11. The node of claim 9, wherein the sampler graph is a random bipartite graph having the plurality of nodes and the plurality of node committees.

12. The node of claim 9, wherein each node in the committee of nodes performs steps i) through iv).

13. The node of claim 9, wherein the node is a first node and the solution is a first solution, and wherein the method further comprises:

receiving a second solution from a second node in the node committee;

validating the second solution; and

selecting the second node to the committee team if the second solution is acceptable.

14. The node of claim 9, wherein the method further comprises:

determining the leadership committee based on the sampler graph, wherein the sampler graph indicates a number of nodes in the sampler graph, and wherein the number of nodes in the sampler graph is less than a predefined threshold.

15. The node of claim 9, wherein the method further comprises:

partitioning the plurality of nodes in the computer network to form a sharding committee.

16. The method of claim 9, wherein the node identifier is a public key.

17. A method, comprising:

receiving, by a first node in a first committee in a computer network, a request including a node identifier to join a second node in the committee;

providing, by the first node in the first committee, a work attestation process to the second node;

receiving, by a first node in the first committee from the second node, a solution to the proof of work process, wherein a plurality of nodes in the first committee validate the solution;

generating, by the first node in the first committee, a random string used by the first node to determine a second committee of the second node;

introducing, by the first node, the second node to a second committee, wherein the second committee shifts nodes to allow the second node to join the second committee; and

communicating, by the first node, information to other nodes in the computer network that the second node is in the second committee.

18. The method of claim 17, wherein the second committee shifts a random number of nodes in the second committee based on random values generated by a leadership committee.

19. The method of claim 17, wherein the shifting nodes are assigned to a random inactivity committee.

20. The method of claim 17, wherein the first node is a leader node of the first committee.

21. The method of claim 17, wherein the plurality of nodes in the first committee validate the solution when the solution resolves the work-proven process, is less than a predetermined security value, and is received within a predetermined time.

22. The method of claim 17, wherein the first node is a leader node of the first committee.

23. The method of claim 17, wherein at least two-thirds of nodes in each committee in the computer network are non-malicious nodes.

24. A node, comprising:

a processor;

a memory device; and

a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor for implementing a method comprising:

receiving, by a first node in a first committee in a computer network, a request including a node identifier to join a second node in the committee;

providing, by the first node in the first committee, a work attestation process to the second node;

receiving, by a first node in the first committee from the second node, a solution to the proof of work process, wherein a plurality of nodes in the first committee validate the solution;

generating, by the first node in the first committee, a random string used by the first node to determine a second committee of the second node;

introducing, by the first node, the second node to a second committee, wherein the second committee shifts nodes to allow the second node to join the second committee; and

communicating, by the first node, information to other nodes in the computer network that the second node is in the second committee.

25. The node of claim 24, wherein the second committee shifts a random number of nodes in the second committee based on random values generated by a leadership committee.

26. The node of claim 25, wherein the shifting nodes are assigned to a random inactivity committee.

27. The node of claim 24, wherein the first node is a leader node of the first committee.

28. The node of claim 24, wherein the plurality of nodes in the first committee validate the solution when the solution resolves the work-proven process, is less than a predetermined security value, and is received within a predetermined time.

29. The node of claim 24, wherein the first node is a leader node of the first committee.

30. The node of claim 24, wherein at least two-thirds of the nodes in each committee in the computer network are non-malicious nodes.

31. A method, comprising:

receiving, by a first node in a committee, an interaction request, the interaction request comprising interaction data from a client computer;

incorporating, by the first node, the interaction data and other interaction data associated with other client computers into a chunk comprising interaction data, wherein the chunk comprises a chunk portion;

broadcasting, by the first node, the block to other nodes in the committee, wherein the other nodes in the committee validate the block; and

the chunk is incorporated into a slice of a blockchain managed by the committee.

32. The method of claim 31, wherein the committee is an authentication committee, and if the block portion with the interaction data or the other interaction data cannot be authenticated by the other nodes in the committee, the method further comprises:

associating, by the first node, a source committee with a node to validate the block portion.

33. The method of claim 32, wherein the source committee authenticates the block portion and transmits an authentication message to the authentication committee.

34. The method of claim 32, further comprising:

determining, by the first node, the source committee based on the block portion.

35. The method of claim 31, further comprising:

receiving, by the first node, a plurality of blocks from the other nodes in the committee; and

merging, by the first node, the plurality of blocks with the block.

36. The method of claim 31, further comprising:

generating, by the first node, a list of all block portions to be verified.

37. The method of claim 31, wherein the committee comprises more than 5 nodes.

38. A node, comprising:

a processor;

a memory device; and

a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor for implementing a method comprising:

receiving, by a first node in a committee, an interaction request, the interaction request comprising interaction data from a client computer;

incorporating, by the first node, the interaction data and other interaction data associated with other client computers into a chunk comprising interaction data, wherein the chunk comprises a chunk portion;

broadcasting, by the first node, the block to other nodes in the committee, wherein the other nodes in the committee validate the block; and

the chunk is incorporated into a slice of a blockchain managed by the committee.

39. The node of claim 38, wherein the committee is an authentication committee, and if the block portion with the interaction data or the other interaction data cannot be authenticated by the other nodes in the committee, the method further comprises:

the source committee is associated with the nodes to validate the block portion.

40. The node of claim 39, wherein the source committee authenticates the block portion and transmits an authentication message to the authentication committee.

41. The node of claim 39, wherein the method further comprises:

determining, by the first node, the source committee based on the block portion.

42. The method of claim 38, wherein the method further comprises:

receiving, by the first node, a plurality of blocks from the other nodes in the committee; and

merging, by the first node, the plurality of blocks with the block.

43. The method of claim 38, wherein the method further comprises:

generating, by the first node, a list of all block portions to be verified.

44. The method of claim 43, wherein the blockchain includes data regarding payment transactions.

45. A method, comprising:

determining, by a first node in a computer network, a committee of leadership comprising a plurality of select nodes, the plurality of select nodes comprising the first node, the committee of leadership being a first committee;

receiving, by the first node, a request from a second node to join a committee of the computer network, the request including a node identifier;

determining, by the first node, that the second node is capable of joining a second committee based on a work-certification process computed by the second node;

introducing, by the first node, the second committee to the second committee, wherein the second committee shifts nodes to allow the second node to join the second committee, wherein information about the second node being in the second committee is communicated to other nodes in the computer network;

receiving, by the first node, an interaction request, the interaction request comprising interaction data from a client computer;

incorporating, by the first node, the interaction data and other interaction data associated with other client computers into a chunk comprising interaction data, wherein the chunk comprises a chunk portion;

broadcasting, by the first node, the block to other nodes in the committee, wherein the other nodes in the committee validate the block; and

incorporating the chunk into a slice of a blockchain managed by the first committee.

46. A node, comprising:

a processor;

a memory device; and

a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor for implementing a method comprising:

determining, by a first node in a computer network, a committee of leadership comprising a plurality of select nodes, the plurality of select nodes comprising the first node, the committee of leadership being a first committee;

receiving a request from a second node to join a committee of the computer network, the request including a node identifier;

determining that the second node is capable of joining a second committee based on a work attestation process computed by the second node;

introducing the second committee to the second committee, wherein the second committee shifts nodes to allow the second node to join the second committee, wherein information about the second node being in the second committee is communicated to other nodes in the computer network;

receiving an interaction request, the interaction request including interaction data from a client computer;

incorporating the interaction data and other interaction data associated with other client computers into a chunk comprising interaction data, wherein the chunk comprises a chunk portion;

broadcasting the block to other nodes in the committee, wherein the other nodes in the committee validate the block; and

incorporating the chunk into a slice of a blockchain managed by the first committee.

Background

The global financial system is highly centralized, making it resistant to change, vulnerable to failure and attack, and inaccessible to billions of people who need basic financial instruments. Cryptocurrency, such as bitcoin [ Satoshi Nakamoto, bitcoin: peer-to-peer electronic cash systems, 2008, web site https:// bitcoin. org/bitcoin. pdf ] aim to avoid these limitations by using a large decentralized network that allows "open membership" of participants. In this model, participants do not need a given identity to join the system and can join or leave the protocol at any time.

Decentralization presents new challenges to ensure a consistent view of a group of participants who are not trusted (i.e., Byzantine). This task is further complicated by an unlicensed mode of operation that allows for open membership and requires constant movement of participants (i.e., joining and leaving). In addition, any agile financial system (including distributed) should be able to adequately provide the actual market load. This means that the system should be easily scalable to a large number of participants and should handle high transaction throughput at relatively low latency so that output can be provided. Nor should the implementation of these attributes use a large amount of resources from each participant, as this would work contrary to the idea of building a tool that anyone can easily access.

Existing solutions currently fail to address the above challenges or make security and/or performance tradeoffs, but unfortunately they are no longer truly decentralized solutions. Specifically, the conventional Byzantine consensus mechanism [ Leslie Lamport, part-time conference, ACM communication computing system, 16 (2): 133 to 169, month 5 1998; and Miguel Castro and barbarbararaliskov, actual Byzantine fault tolerance. In a third paper set of a seminar on operating system design and implementation, OSDI'99, pages 173 to 186, 1999; and Christian Cachi, Klaus Kursawe and Victor Shoup, a random prediction of Junsteburg: the actual asynchronous Byzantine protocol of cryptography is used. At 19 thWhereuponA paper set of the ACM seminar on the distributed computing Principles (PODC), pages 123 to 132, 2000]Can only work under a closed membership setting where a group of participants is fixed and their identities are known to all through a trusted third party. These protocols, if used in an open setting, may be susceptible to compromise using a Sybil attack John Douceur, Sybil attack. In the paper set of the second International peer-to-peer seminar (IPTPS), 2002]Where adversaries repeatedly rejoin malicious parties with fresh identities to have a significant impact on the agreement outcome. Furthermore, most conventional schemes assume that a set of static adversaries of the offending party can be selected only at the beginning of the protocol. Existing protocol for defending against an adaptive adversary [ Gabriel Bracha, asynchronous [ (n-1)/3 ]]-a flexible consensus protocol. In the third paper set of the annual ACM symposium on distributed computing principles, PODC'84, pages 154 to 162, new york city, new york, usa, 1984, ACM; and Run Canetti and Tal Rabin, a fast asynchronous Byzantine protocol under optimal resiliency. In the 25 th yearThe thesis of the acam theory of calculation seminar, STOC'93, pages 42 to 51, new york city, new york, usa, 1993, ACM; and Valerie King and Jared Saia, break the o (n ^2) bit barrier: an extensible Byzantine protocol with an adaptive adversary. In the 29 th paper set at the ACMSIGACT-SIGOPS workshop on the principles of distributed computing, PODC'10, pp 420 to 429, New York City, N.Y., 2010, ACM]Less effective or inefficient as the number of participants expands.

Most cryptocurrencies, such as bitcoin and white paper by Ethereum [ Vitalik Burerin, Ethereum. https:// githu. com/ethereum/wiki/wiki/white-paper, 2014] maintains a distributed transaction ledger, referred to as a blockchain, within a large peer-to-peer (P2P) network, where each node maintains an updated complete copy of the entire ledger through Byzantine consensus protocol (referred to as Nakamoto consensus). Unlike traditional consensus mechanisms, Nakamoto consensus allows new participants to join the protocol [ Cynthia Dwork and Mono Naor, pricing by processing or fighting spam, using a proof of work (PoW) process. In Cryptographic Advance CRYPTO' 92: the 12 th international code conference, san babara, ca, 1992, 8/month 16 to 20, the collection of papers, pages 139 to 147, berlin heidberg, 1993, press publishers ], where the node indicates that it has done some amount of work by providing a solution to a computational puzzle. The use of pows not only allows consensus agreements to thwart Sybil attacks by limiting the rate at which malicious participants join the system, but also provides a lottery mechanism by which a random leader is chosen in each round to initiate the consensus process.

Unfortunately, it is now well known that PoW-based consensus of bitcoin now has serious drawbacks, such as very low transaction throughput, high latency, poor energy efficiency [ Eric Limer, the strongest computer network in the world is wasted on bitcoin, month 5 2013, with the website http:// gzmod o.com/the-works-most-powerfull-computer-network-is-bed-ws-504503726 ], and mining pool centralization [ egor hommakov, stop call decentralized bitcoin, https:// medium.com/@ hommakov/stop-culling-bitcoin-centralized-cb 703d 27, 2017, and block chain diagrams: hash rate distribution, 3 months 2017, web address https:// blockchain. info/pools ]. Furthermore, the protocol cannot expand its transaction processing capabilities in the event of a large number of participants joining the protocol [ Loi Luu, visresh narayana, charodong Zheng, Kuna Baweja, Seth Gilbert, and praatek Saxena, open blockchain security fragmentation protocol. In the ACMSIGSAC conference paper on computer and communications security in 2016, CCS'16, pages 17 to 30, new york city, new york, usa, 2016, ACM; and Eleftherios Kokorris-Kogias, Philipp Jovanovic, Linus Gasser, Nicolas Gailly, EwaSyta and Bryan Ford, Omni Ledger: through the safety, outward expansion and decentralized ledger of the fragments, the passwords are electronically printed and filed, and 2017/406 reports are reported in 2017. https:// epic. iacr. org/2017/406 ]. Another major scalability problem with bitcoin is that each party initially needs to download the entire blockchain from the network to independently validate all transactions. The size of the blockchain is currently about 165GB, and almost doubles over the past year [ blockchain graph: block chain size, 3 months 2017, web address https:// block chain. info/characters/block-size ]. A large increase in the size of the blockchain, which is updated by a higher throughput consensus protocol compared to bitcoins, can be expected.

Recently, some protocols have been proposed to alleviate the performance and scalability issues of block chains for bitcoins [ Christian Decker, Jochen Seidel and Roger Wattenhofer, which conform to strong consistency. In the 17 th international conference on distributed computing and networks in thesis, ICDCN'16, 13 th: 1 to 13: page 10, new york city, new york, usa, 2016, ACM; and Ittay Eyal, Adem Efe Gencer, Emin Gun Sirer, and Robbert VanRenesse, Bitty-NG: an extensible blockchain protocol. In the 13 th paper set on the computer systems association (Usenix) conference on networking systems design and implementation, NSDI'16, pages 45 to 59, berkeley, california, 2016, usenex association; and Eleftherios Kokorris-Kogias, Philipp Jovanovic, Nicolas Garlly, IsmailKhoffi, Linus Gasser, and Bryan Ford, improve bitcoin security and performance under strong consistency through collective signatures. USENIX Security'16, pages 279 to 296, 2016, at the USENIX Security conference, 25; and Honey Badger of Andrew Miller, Yu Xia, Kyle Croman, Elaine Shi and Dawn Song, bft protocol. In the ACM SIGSAC conference paper on computer and communications security in 2016, CCS'16, pages 31 to 42, new york city, new york, usa, 2016, ACM; and Rafael Pass and Elaine Shi, mixed consensus: efficient consensus in the no-rights model, cryptographically archived electronically, reported 2016/917, 2016. http:// epic. iacr. org/2016/917; and Loi Luu, visresh Narayanan, charodong Zheng, Kunal Baweja, Seth Gilbert, and praateksaxena, open blockchain security fragmentation protocol. In the ACM SIGSAC conference paper on computer and communications security in 2016, CCS'16, pages 17 to 30, new york city, new york, usa, 2016, ACM; and Yossi Gilad, Rotem Hemo, silverio Micali, Georgios Vlachos and Nickolai Zeldovich, Algorand: the Byzantine protocol for cryptocurrency is extended. In the 26 th treaty on the operating system principles, SOSP'17, pages 51 to 68, new york city, new york, usa, 2017, ACM; and Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Link Ren and Alexander Spiegelman, Solida: a blockchain protocol based on the reconfigurable Byzantine consensus. In the 21 st paper set on international conference on distributed system principles, OPODIS'17, portuguese, 2017; and Eleftherios Kokorris-Kogias, Philipp Jovanovic, LinusGasser, Nicolas Gailly, Ewa Syta and Bryan Ford, Omni Ledger: through the safety, outward expansion and decentralized ledger of the fragments, the passwords are electronically printed and filed, and 2017/406 reports are reported in 2017. https:// epict. iacr. org/2017/406], uses a hybrid architecture that combines the open membership nature of bitcoin with the fault tolerance of traditional Byzantine [ m.pepase, r.short, and l.lamport, agreed upon in the presence of a fault, [ journal of american computer society, 27(2) ]: 228 to 234, month 4 1980; and m.castro and b.liskov, actual Byzantine fault tolerance and active recovery, ACM Transaction On Computer System (TOCS), 20 (4): 398 to 461, 2002 ]. While most of these protocols are said to improve the throughput and latency of bitcoins, all of these protocols still require the often neglected assumption of trusted settings: unpredictable initial common randomness in the form of common origination blocks is generated to guide the chain of blocks. Like bitcoins, these protocols basically describe how a new fast can be guaranteed to agree upon with an initial agreement on some co-source block. This assumption plays a crucial role in reaching consistency among the nodes in these protocols and, if compromised, can easily affect the security of the entire consensus protocol, thus having a significant impact on the decentralized nature of cryptocurrencies.

In addition to partial decentralization, most of these solutions have large per-node storage requirements [ Christian Decker, Jochen Seidel, and Roger watt wittenhofer, with bitcoins conforming to strong consistency. In the 17 th international conference on distributed computing and networks in thesis, ICDCN'16, 13 th: 1 to 13: page 10, new york city, new york, usa, 2016, ACM; and Ittay Eyal, Adem Efe Gencer, Emin Gun Sirer, and Robbert VanRenesse, Bitty-NG: an extensible blockchain protocol. In the 13 th paper set on the Usenix conference of networking system design and implementation, NSDI'16, pages 45 to 59, berkeley, california, 2016, the Usenix association; and Eleftherios Kokoraris-Kogias, Philipp Jovanovic, Nicolas Garlly, Ismail Khoffi, Linus Gasser, and Bryan Ford, improve bitcoin security and performance with strong consistency through collective signatures. USENIX Security'16, pages 279 to 296, 2016, at the USENIX Security conference, 25; and Honey Badger of Andrew Miller, Yu Xia, KyleCroman, Elaine Shi and Dawn Song, bft protocol. In the ACM SIGSAC conference paper on computer and communications security in 2016, CCS'16, pages 31 to 42, new york city, new york, usa, 2016, ACM; and Rafael Pass and Elaine Shi, mixed consensus: efficient consensus in the no-rights model, cryptographically archived electronically, reported 2016/917, 2016. http:// epic. iacr. org/2016/917; and Loi Luu, visresh Narayanan, charodong Zheng, Kunal Baweja, Seth Gilbert, and praateek Saxena, open blockchain security fragmentation protocol. In the ACM SIGSAC conference paper on computer and communications security in 2016, CCS'16, pages 17 to 30, new york city, new york, usa, 2016, ACM; and Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Link Ren and Alexander Spiegelman, Solida: a blockchain protocol based on the reconfigurable Byzantine consensus. In the 21 st paper set on international conference on distributed system principles, OPODIS'17, portugreek, 2017], incomplete specification [ Christian Decker, Jochen Seidel and Roger waterhomer, the bitcoin conforms to strong consistency. In the 17 th international conference on distributed computing and networks in thesis, ICDCN'16, 13 th: 1 to 13: page 10, new york city, new york, usa, 2016, ACM; and Eleftherios Kokorris-Kogias, Philipp Jovanovic, Nicolas Garlly, Ismail Khoffi, Linus Gasser, and Bryan Ford, improve bitcoin security and performance under strong consistency through collective signatures. In the 25 th useenix security conference, useneixsecurity' 16, pages 279 to 296, 2016], or security issues [ elefttherios kokorris-Kogias, Philipp Jovanovic, Nicolas gain, Ismail Khoffi, Linus Gasser, and Bryan Ford, improve bitcoin security and performance with strong consistency through collective signatures. USENIX Security'16, pages 279 to 296, 2016, at the USENIX Security conference, 25; and Loi Luu, visresh narayana, charodong zheng, Kunal Baweja, Seth Gilbert, and praateek Saxena, open blockchain security fragmentation protocol. In the ACM SIGSAC conference paper on computer and communications security in 2016, CCS'16, pages 17 to 30, new york city, new york, usa, 2016, ACM; and Eleftherios Kokorris-Kogias, Philipp Jovanovic, LinusGasser, Nicolas Gailly, Ewa Syta and Bryan Ford, Omni Ledger: through the safety, outward expansion and decentralized ledger of the fragments, the passwords are electronically printed and filed, and 2017/406 reports are reported in 2017. https:// epic. iacr. org/2017/406 ]. Furthermore, all previous protocols require each participant in the consensus protocol to broadcast a message to the entire network to submit their consensus vote [ Ittay Eyal, Adem Efe Gencer, Emin Gun Sirer, and Robbert van Renesse, Bitty-NG: an extensible blockchain protocol. In the 13 th paper set on the Usenix conference of networking system design and implementation, NSDI'16, pages 45 to 59, berkeley, california, 2016, the Usenix association; and AndrewMiller, Yu Xia, Kyle Croman, Elaine Shi and Dawn Song, honeybadger of bft protocol. In the paper set of ACM SIGSAC conference on computer and communication security in 2016, CCS'16, pages 31 to 42, New York City, N.Y., U.S. 2016, ACM ], verification transaction [ Ittay Eyal, Adem Efe Gencer, Emin Gun Sirer, and Robbert van Renesse, Bitty-NG: an extensible blockchain protocol. In the 13 th paper set on the Usenix conference of networking system design and implementation, NSDI'16, pages 45 to 59, berkeley, california, 2016, the Usenix association; and Honey Badger of Andrew Miller, Yu Xia, Kyle Croman, Elaine Shi and Dawn Song, bft protocol. In the 2016 paper set of ACM SIGSAC meetings for computer and communication security, CCS'16, pages 31 through 42, new york city, new york, usa, 2016, ACM ], and/or updating local blockchain replication for each node [ Loi Luu, visneshanayana, charodong Zheng, Kunal Baweja, Seth Gilbert, and Prateek Saxena, security sharding protocol for open blockchain. In the ACM SIGSAC conference paper on computer and communications security in 2016, CCS'16, pages 17 to 30, new york city, new york, usa, 2016, ACM; and Rafael Pass and Elaine Shi, mixed consensus: efficient consensus in the no-rights model, cryptographically archived electronically, reported 2016/917, 2016. http:// epic. iacr. org/2016/917; and Yossi Gilad, Rotem Hemo, silverio Micali, georgios vlachos and Nickolai Zeldovich, Algorand: the Byzantine protocol for cryptocurrency is extended. In the 26 th treaty on the operating system principles, SOSP'17, pages 51 to 68, new york city, new york, usa, 2017, ACM; and Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Ling Ren and AlexanderSpiegelman, Solida: a blockchain protocol based on the reconfigurable Byzantine consensus. In the 21 st paper set on international conference on the principle of distributed systems, OPODIS'17, portuguese, 2017 ]. Although the large overhead of such broadcasting per participant is typically reduced from linear message numbers (relative to the number of participants) to nearly constant using peer-to-peer rumor protocols r.karp, c.schindelhauer, s.shen and b.voking, random rumor propagation. In the 41 st annual seminar on the basis of computer science, FOCS'00, page 565-, Washington D.C.2000, IEEE computer Association ], but the relatively high delay of such a "propagate to all objects" call (e.g., average 12.6 seconds per chunk [ C.Decker and R.Wattenhofer, information propagation in bitcoin networks, pages 1 to 10 in P2P, IEEE, 2013 ]) significantly increases the overall delay of the consensus protocol (the delay to propagate to all objects is more or less than quadruple [ Eleftherios Kokokokokokokogi as, Philip Jovanovic, Linus Gasser, NicolasGally, EWA Syta and Bryan Ford, OmniLedger: secure, out-spread, decentralized classification by fragmentation, electronic printing, archiving 2017/406, password 2017. fig. 2017/406). Furthermore, because the transaction throughput of most extensible blockchain protocols is very high (e.g., approximately 4,000TPS [ Eleftherios Kokoraris-Kogias, Philipp Jovanovic, Linus Gasser, Nicolas Gally, EWa Syta, and BryanFord, Omni Ledger: Security by fragmentation, Expansion, decentralized ledger, Cryptographic archiving, reports 2017/406, 2017. https:// eprint. iacr. org/2017/406]), the bandwidth usage of each node is relatively large (e.g., above 6MB/s) if the transaction is propagated throughout the network.

Embodiments of the present invention address these problems and others individually and collectively.

Disclosure of Invention

Drawings

FIG. 1 illustrates a block diagram of a system showing multiple nodes in a computer network, according to an embodiment of the invention.

Fig. 2 shows a block diagram illustrating a node according to an embodiment of the invention.

Figure 3 shows a flow diagram illustrating stages in a method according to an embodiment of the invention.

FIG. 4 illustrates a block diagram showing a selection chart according to an embodiment of the present invention.

FIG. 5 shows a flow diagram illustrating a setup phase according to an embodiment of the invention.

Figure 6 illustrates a block diagram showing a system including a sharding committee, according to an embodiment of the invention.

Fig. 7 shows a flow diagram illustrating a reconfiguration phase according to an embodiment of the invention.

FIG. 8 shows a block diagram illustrating a transaction portion, according to an embodiment of the invention;

FIG. 9 shows a flow diagram illustrating a consensus phase according to an embodiment of the invention.

FIG. 10 shows a flow diagram illustrating a verification process according to an embodiment of the invention.

Fig. 11 illustrates a flow diagram showing communication routing according to an embodiment of the present invention.

Fig. 12 shows a flow diagram illustrating communication response routing according to an embodiment of the invention.

Fig. 13 illustrates a diagram showing communication of a setup phase according to an embodiment of the present invention.

Fig. 14 shows a diagram illustrating a setup phase delay according to an embodiment of the invention.

FIG. 15 shows a graph illustrating transaction costs, according to an embodiment of the invention.

FIG. 16 shows a graph illustrating transaction delays, according to an embodiment of the invention.

Figure 17 illustrates a graph showing transaction delays for a variable committee size, according to an embodiment of the invention.

Figure 18 illustrates a graph showing transaction costs for a variable committee size, according to an embodiment of the invention.

Fig. 19 illustrates a graph showing the number of messages per node number according to an embodiment of the present invention.

FIG. 20 shows a diagram illustrating bandwidth versus number of nodes according to an embodiment of the invention.

FIG. 21 shows a graph illustrating delay versus number of nodes according to an embodiment of the invention.

FIG. 22 shows a graph illustrating cost of processing variation according to an embodiment of the invention.

FIG. 23 shows a graph illustrating varying delays, according to an embodiment of the invention.

FIG. 24 shows a graph illustrating failure probability according to an embodiment of the invention.

Figure 25 shows a graph illustrating delay versus committee size according to an embodiment of the invention.

FIG. 26 illustrates a graph showing user-perceived delay versus number of nodes, according to an embodiment of the invention.

Figure 27 shows a graph showing transaction and committee size per second, according to an embodiment of the invention.

FIG. 28 shows a graph showing transactions per second versus block size, according to an embodiment of the invention.

Embodiments may enable selection of a committee for leadership in a computer network. The leadership committee may be capable of partitioning a plurality of nodes in a computer network into a sharded committee. Embodiments may allow new nodes to join a computer network. The sharding committee may receive interactive data that may be verified and stored in the shards of the blockchain.

One embodiment of the invention is directed to a method performed by a node in a computer network comprising a plurality of nodes, each node having a node identifier, the method comprising: a) receiving, by the node, a node identifier from other nodes of a plurality of nodes in a computer network; b) determining, by the node, a plurality of node committees in a sampler graph comprising a plurality of nodes, wherein the node resides in one of the plurality of node committees; c) the node further i) generating a random string; ii) performing a proof of work process using the random string and a hash function; iii) if the proof of work process produces an acceptable solution, broadcasting the solution to all other nodes in the plurality of nodes, wherein the other nodes verify the solution; and iv) if the other nodes verify the solution, selecting the node to a committee on teams of the committee on nodes, wherein the committee on teams updates the sampler graph; and d) repeating steps b) and c) until a committee of leadership is determined.

Another embodiment of the invention is directed to a node, comprising: a processor; a memory device; and a computer readable medium coupled to the processor, the computer readable medium comprising code executable by the processor for implementing a method performed by nodes in a computer network comprising a plurality of nodes, each node having a node identifier, the method comprising: a) receiving node identifiers from other nodes of the plurality of nodes in the computer network; b) determining a plurality of node committees in a sampler graph comprising a plurality of nodes, wherein the node resides in one of the plurality of node committees; c) the node further i) generating a random string; ii) performing a proof of work process using the random string and a hash function; iii) if the proof of work process produces an acceptable solution, broadcasting the solution to all other nodes in the plurality of nodes, wherein the other nodes verify the solution; and iv) if the other nodes verify the solution, selecting the node to a committee on teams of the committee on nodes, wherein the committee on teams updates the sampler graph; and d) repeating steps b) and c) until a committee of leadership is determined.

Another embodiment of the invention is directed to a method comprising: receiving, by a first node in a first committee in a computer network, a request including a node identifier to join a second node in the committee; providing, by the first node in the first committee, a work attestation process to the second node; receiving, by a first node in the first committee from the second node, a solution to the proof of work process, wherein a plurality of nodes in the first committee validate the solution; generating, by the first node in the first committee, a random string used by the first node to determine a second committee of the second node; introducing, by the first node, the second node to a second committee, wherein the second committee shifts nodes to allow the second node to join the second committee; and communicating, by the first node, information about the second node being in the second committee to other nodes in the computer network.

Another embodiment of the invention is directed to a node, comprising: a processor; a memory device; and a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor for implementing a method comprising: receiving, by a first node in a first committee in a computer network, a request including a node identifier to join a second node in the committee; providing, by the first node in the first committee, a work attestation process to the second node; receiving, by a first node in the first committee from the second node, a solution to the proof of work process, wherein a plurality of nodes in the first committee validate the solution; generating, by the first node in the first committee, a random string used by the first node to determine a second committee of the second node; introducing, by the first node, the second node to a second committee, wherein the second committee shifts nodes to allow the second node to join the second committee; and communicating, by the first node, information about the second node being in the second committee to other nodes in the computer network.

Another embodiment of the invention is directed to a method comprising: receiving, by a first node in a committee, an interaction request, the interaction request comprising interaction data from a client computer; incorporating, by the first node, the interaction data and other interaction data associated with other client computers into a chunk comprising interaction data, wherein the chunk comprises a chunk portion; broadcasting, by the first node, the block to other nodes in the committee, wherein the other nodes in the committee validate the block; and incorporating the block into a chain of blocks managed by the committee.

Another embodiment of the invention is directed to a node, comprising: a processor; a memory device; and a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor for implementing a method comprising: receiving, by a first node in a committee, an interaction request, the interaction request comprising interaction data from a client computer; incorporating, by the first node, the interaction data and other interaction data associated with other client computers into a chunk comprising interaction data, wherein the chunk comprises a chunk portion; broadcasting, by the first node, the block to other nodes in the committee, wherein the other nodes in the committee validate the block; and incorporating the block into a chain of blocks managed by the committee.

These and other embodiments of the invention are described in further detail below.

89页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:区块链网络中概率中继的流量控制

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类