One of the bottlenecks in expanding the block size is the network. As the amount of data increases, a high network bandwidth is required for data transfer, so there are fears of centralization of mining and censorship due to concentration of relay networks.
High-speed relay networks such as Falcon and UDP-based FIBRE have been proposed in Bitcoin as to whether these problems can be solved by constructing a public and faster relay network.
About such a relay network, in the part of Emin Gun Sirer's session of Satoshi's Visoin Conference that was held the other day, a scalable block chain delivery network called "bloXroute" as a solution of the network protocol layer to support on-chain scaling It was introduced. Since the white paper has just been released recently, I would like to introduce its features.
How bloXroute works
In the trustful P2P block chain like the current Bitcoin, if it takes time to propagate blocks, you can not tolerate scales such as thousands of on-chain transactions per second. On the other hand, Ripple and others are trying to scale the transaction well by trusting a subset of some of the participating nodes. A centralized approach like Ripple is efficient, but it trusts limited nodes and destroys the decentralization of transaction control, which is one of the most important aspects of cryptographic currency.
bloXroute focused on this trade-off between scalability and trust model. We are trying to construct a scaleable network while minimizing trust in the centralized network via a neutral and auditable network design. Since it is difficult to understand if it is only a conceptual story, let's look concretely.
Network configuration of bloXroute
In some cases, CDN (content delivery network) is used to distribute contents (moving images, images, etc.) at high speed. The concept of bloXroute is to construct a network "Blockchain Distribution Network (BDN)" similar to this in the block chain, and to distribute blocks and transactions at high speed using that network.
bloXroute consists of two types of networks:
bloXroute This is
a global BDN network with high capacity, low latency, designed to enable fast transmission of multiple block chain blocks and transactions.
Peer network
Used to audit the operation of bloXroute in existing P2P network of each block chain.
If the user wants to introduce bloXroute, it simply starts the bloXroute gateway with the existing block chain node. This gateway mediates between the nodes of the block chain and the BDN.
bloXroute propagates blocks on behalf of existing peer networks, but unlike so-called relay networks, it has information on the content of the block (the number of transactions and sizes, the associated address, the node that generated the mined minor and block) There is no censorship of the content, etc. Since it does not depend on the protocol of the block chain, bloXroute can simultaneously provide high-speed distribution service to multiple encryption currencies / block chains.
Also, it does not propagate blocks only in preference to specific nodes or prevent specific nodes from participating in bloXroute (it is not that they can not be done accurately; ), It is said that all blocks are fairly propagated to all gateways.
Guarantee of neutrality
A problem for centralized BDN like bloXroute is that censorship such as giving priority to a specific node, rejecting a specific node, rejecting / delaying a specific block is done. bloXroute does not create a mechanism that does not cause such problems, it adopts the approach to prove neutrality with the following mechanism.
Block encryption
Blocks are pre-encrypted and propagated to bloXroute so that bloXroute will not refuse the propagation of specific blocks due to the contents of the block. Since it is encrypted, bloXroute can not select blocks propagated by content. The key for decrypting the block is published after the block is propagated and propagated directly on the peer network immediately.
Indirect relay
The minor that succeeded in mining the block propagates the block first to the node on the peer network without directly propagating the block to the bloXroute, and propagates the block received by the node to the bloXroute. By propagating blocks to bloXroute in such an indirect way, it is impossible to hide the origin (minor) that generated the block from bloXroute and exclude the mined block by a specific minor.
Test block
Although indirect relays can not recognize which node created which block, bloXroute may reject blocks received from a subset of some nodes or delay delivery. In order to detect and prevent such behavior, each node needs to continuously monitor the service of bloXroute.
The node creates a test block that encrypted invalid block data and sends the test block directly to bloXroute. Because the node can request relays of blocks received from bloXroute to the node it is connected to, measure the time from sending it to bloXroute until receiving the test block via the connected node , It is possible to detect block rejection and delivery delay. Whether the block is an authorized block or a test block can not be distinguished until the encryption key is disclosed, so it is not possible to change behavior only when bloXroute is a test block.
Partial disclosure of peers
When there is a node collocated with bloXroute in the peer network, when the test block is delivered, in cooperation with the collocated node, the test block is quickly relayed only to the node which is measuring it Attacks such as not relaying to the entire network may be considered. For this reason, the nodes of the peer network conceal half of them, without revealing all the node information they know. By doing this, make sure not to know the node to be measured.
Introduction of bloXroute to each encryption currency
In the white paper, unless it exceeds 100 TPS (transaction per second), it states that bloXroute 's network can be used for free. The current throughput of Bitcoin is set to 3 TPS in the white paper of bloXroute, so it will be free for current capacity.
bloXroute introduces BDN as a first step so that high-speed block distribution is possible. Considering the capacity increase caused by bloXroute as the second step following, we will improve the throughput of each block chain by changing the block size of each block chain and the generation interval of blocks. Only the block size and the generation interval are changed in each encryption currency and block chain, and there is no need to change other protocols. In the case of Bitcoin, the throughput of 3 TPS can now be expanded to 33 times. In addition, if it exceeds 100 TPS, further capacity can be increased by using 10% of the mining fee as bloXroute's fee.
In this way, bloXroute proofs its neutrality by making the node of the peer network actively check the network for the BDN which becomes the trust point, and fully utilizes the high-speed block chain distribution network so far It is a product of a different concept from the relay network of. Currently bloXroute Labs is under development and source code etc are not yet released, but I want to pay attention to future release.