Computer-implemented system and method for managing large blocks over a blockchain network
Computer-implemented methods and systems suitable for implementation in nodes of a blockchain network are provided. Modified blockchain node structures, network architectures, and protocols for handling large numbers of transactions and large transaction blocks are described. A computer-implemented method for a node of a blockchain network is described which includes: receiving mined data from the blockchain network corresponding to a plurality of validated transactions; assembling blocks based on said mined data; and sending assembled blocks to a storage entity for storing on a blockchain.
1 . A computer-implemented method comprising:
receiving, by a validation node, mined data from a mining node in a blockchain network, the validation node distinct from the mining node, the mined data corresponding to a plurality of validated transactions established on a blockchain, wherein the mined data received from the blockchain network comprises a block header corresponding to the validated transactions and further comprises a transaction for a digital asset in exchange for assembling blocks and storing the assembled blocks;
assembling, by the validation node, the blocks based on a canonical ordering system that ensures a globally consistent order of transactions across the blockchain network to form the assembled blocks, the canonical ordering system specifying that the plurality of transactions are sorted in ascending order with respect to a previous transaction hash, and that the first transactions are added to the sorted plurality of transactions, the first transactions not being dependent upon subsequent transactions;
sending, by the validation node the assembled blocks to a storage entity for storing on the blockchain, wherein the storage entity is shared between a plurality of nodes on the blockchain network, the plurality of nodes forming a super-node on the blockchain network, wherein the storage entity comprises one of a common storage node, a distributed storage, or a combination of the two.
2 . The computer-implemented method according to claim 1 , further comprising a requirement to wait for a time period t associated with a minimum number of blocks prior to receiving the digital asset.
3 . The computer-implemented method according to claim 1 , wherein the step of assembling blocks based on the mined data comprises assembling large blocks with each large block having a size of at least 2 megabytes.
4 . The computer-implemented method according to claim 1 , wherein the blocks include a block header containing a random number provided by a miner.
5 . The computer-implemented method according to claim 1 , further comprising storing of the blocks on the blockchain.
6 . The computer-implemented method according to claim 1 , further comprising:
receiving transactions from the blockchain network;
validating transactions received from the blockchain network; and
distributing data corresponding to said validated transactions to the blockchain network for mining, the data comprising lists of validated transactions.
7 . The computer-implemented method according to claim 1 , wherein the step of maintaining the distributed, decentralized storage of validated transactions with other nodes in the blockchain network comprises synchronizing nodes on the blockchain network to maintain an up-to-date list of validated transactions in a decentralized and distributed manner.
8 . The computer-implemented method according to claim 7 , wherein the nodes, which are synchronized, are synchronized by exchanging invertible bloom filter lookup tables.
9 . The computer-implemented method according to claim 6 , wherein the validated transactions are sorted into a defined order such that a common ordering system is used across the nodes in the blockchain network for maintaining the distributed, decentralized storage of validated transactions.
10 . The computer-implemented method according to claim 6 , wherein the step of distributing data corresponding to said validated transactions to the blockchain network for mining comprises:
preparing data corresponding to a list of validated transactions.
11 . The computer-implemented method according to claim 6 , wherein the data corresponding to the validated transactions is distributed to the blockchain network in the form of invertible bloom look up tables and any accompanying data, wherein the validated transactions are contained in blocks.
12 . A non-transitory computer readable storage medium comprising computer-executable instructions which, when executed, configure a processor to perform the computer implemented method of claim 1 .
13 . An electronic device comprising:
an interface device;
one or more processor(s) coupled to the interface device; and
a memory coupled to the one or more processor(s), the memory having stored thereon computer executable instructions which, when executed, configure the one or more processor(s) to perform the computer implemented method of claim 1 .