Baidu super chain leads the development of IEEE cross chain standard naming protocol

Time:2020-11-22

Baidu super chain takes the lead in the formulation of IEEE cross chain standard, which is the first in-depth disclosure of naming protocol, a cross chain standard of cross chain addressing protocol.

Baidu super chain leads the development of IEEE cross chain standard naming protocol

Last year, IEEE (Institute of electrical and Electronic Engineers), the world’s largest professional technical organization, established the IEEE Computer Society blockchain and distributed ledgers Committee (IEEE C / BDL) to promote the standardization and application of blockchain and distributed bookkeeping technology.As an important member of IEEE C and a leader in the blockchain industry, Baidu has spared no effort in promoting the standardization of blockchain, playing a leading role actively, and has achieved remarkable results. Baidu super chain takes the lead in the formulation of IEEE cross chain standard, which is the first in-depth disclosure of naming protocol, a cross chain standard of cross chain addressing protocol.

This article is aboutAt the invitation of IEEE C / BDL, the technical director of Baidu blockchain system department, Jing Bo, the technical director of Baidu blockchain system department, explained the cross chain technology and addressing protocol in detail, and introduced naming protocol, a cross chain standard for cross chain addressing protocol. Background of cross chain technology standard research

In recent years, with the vigorous development of blockchain industry, various technology companies are developing their own blockchain business. As the blockchain industry is still in its early stage of development, major companies are trying to dominate the industry standards, so many blockchain frameworks have been produced, such as fabric led by IBM, sawtooth led by Intel, Libra led by Facebook,In China, there are xuperchain, which is dominated by Baidu

The underlying protocols of these frameworks are different. With the introduction of blockchain into the scope of new infrastructure, the development of domestic self-developed underlying blockchain framework is encouraged, and the in-depth research and development of blockchain underlying technology is more active, thus forming a new data island. Whether these islands are based on the same underlying system or different underlying systems, the data interchange is very difficult. Therefore, there is an urgent need for a solution that can systematically solve the problem of multi link data fusion, so as to realize the value exchange between different chains.

Therefore, several major blockchain technology companies in China, with the assistance of the Electronic Standards Institute, organized a number of standards working groups, carried out in-depth research on cross chain technology, and put forward a series of standard drafts. Among them,IEEE standard for blockchain interoperability – naming protocol has been established,Next, we will introduce the standard.

What is cross chain technology

In short, cross chain is to realize the interconnection of data and assets between relatively independent different blockchain systems through certain technical measures.Cross chain can be understood as building bridges between different information islands, so that information can flow conveniently and lay the foundation for value Internet. Common cross chain solutions are generally for asset classes, and it is more difficult to realize the cross chain interworking of arbitrary data between different chains. It is the latter that we working groups on standards are trying to solve.

Common challenges of cross chain technology

1)Atomicity.It can be implemented by hash time lock. Transactions are anchor points for each other. If either party fails to take effect, the other party can roll back in time. Two)Effectiveness.Verify the validity of anchor transaction. It can be realized by SPV proof. 3)Resource addressing.How to quickly cross chain positioning and obtain related resources. This requires the design of a complete set of addressing protocol. **For the third cross chain addressing protocol, we have established IEEE standard for blockchain interoperability – naming protocol.

Solutions

1.Naming protocol for blockchain interoperability

Cross chain involves the interoperability of resources in different chains. However, due to the different protocols of different chains, it is very difficult to define and describe the resources of different chains uniformly.First, we need a standard protocol to assign an address to each resource on the blockchain network. This protocol can be called cross chain addressing protocol.Cross chain addressing protocol, English naming protocol for blockchain interoperability. The protocol enables any blockchain network to locate the resources of other blockchain networks to be accessed through standardized addresses. For example, we can define a protocol that:

[:][//][//][?]

All blockchain networks can use this protocol to generate an address for resources on their own blockchain networks.Let’s continue with an example to illustrate this point

First, let’s assume that there is a blockchain network called hello_ Chain, which completely follows the definition we defined earlier, uses the underlying framework named xupper to build the network under the cross chain addressing protocol. There is a child chain / side chain / parallel chain called child_ chain。 In this child_ There is a smart contract on the chain that can only be executed by using the wasm (web assembly) contract virtual machine. The contract is called counter. As the name suggests, the contract is actually a simple counter.

The contract provides two methods, one called increase and one called getnumber. Calling the increase method causes the value to be incremented by 1 each time. Calling the getnumber method returns the current value. Next, suppose we are in another blockchain network world_ You want to access Hello across the chain_ Child on chain network_ A counter smart contract named counter on chain and gets the current value. We need to generate the access address according to the cross chain addressing protocol defined before. For example, we can write as follows:

xuper://hello_chain/child_chain?module=wasm

&contract_name=counter

&method_name=getNumber

Among them,

xuper: Xuper

hello_chain: hello_chain

child_chain: xuper//child_chain

module=wasm: wasm

contract_name=counter: counter

method_name=getNumbergetNumber

2.Endorsement node for naming protocol resolution

According to the example above, hello_ Chain needs to follow the cross chain addressing protocol we defined earlier. Well, hello_ Chain also needs to expose some special full nodes, which can also be called endorsement nodes, to resolve the naming protocol and process cross chain access requests from other blockchain networks. After obtaining the results, it will be attached with a signature and endorsement for the correctness of the results. In other words, if other blockchain networks want to access Hello_ The resources on the chain must pass through hello_ In the chain network, the whole node that provides the service of trust endorsement is accessed. These nodes will use their own credit to endorse the result, so they are called endorsement nodes.Visitors can freely choose the endorsements they trust, and even choose to pay a certain fee to encourage honest endorsements. 3. It is used to handle cross chain smart contracts

In order to realize cross chain request, we have defined two important contents:

1) Each blockchain network needs to comply with the chain name cross chain addressing protocol.

2) The endorsement node in the target chain that implements the resolution of naming protocol.

But these are not enough. On the original chain initiated by cross chain, a smart contract is also needed to query the available endorsements in the target chain, and is responsible for initiating cross chain requests to the endorser nodes. Combined with the cross chain contract, the unified resource addressing of all protocol chains of the cross chain contract can be realized. The smart contract should realize the following functions:

1) Register a blockchain network and register the endorsements available on the network.

2) Update a blockchain network and update the available endorsement nodes on the network.

3) Query the available endorsement nodes on a blockchain network.

4) According to the endorsement policy, access several endorsement nodes of the target blockchain network, and obtain the cross chain results.Conclusion: suppose the original chain is a chain and the target chain is B chain. In order to realize the cross chain from chain a to chain B, the following steps should be taken:

1) Chain A and chain B need to abide by and support the “naming protocol for blockchain interoperability”.

2) B chain needs to open some endorsement nodes to handle cross chain requests from other blockchain networks.

3) A chain implements and deploys smart contracts for cross chain.

4) When a chain needs to access the resources of B chain, the cross chain access address is generated according to the “blockchain interoperability naming protocol” for cross chain access through access to a chain. Then smart contract is used to obtain the available endorsement node information of B chain.

5) A chain sends the resource address that needs to be accessed across the chain to the endorsement node of B chain, and obtains the return value.

Baidu super chain xuperchain V3.7 version has released the cross chain capability, and open source for the application of read-only transaction scenario and non transaction scenario, to help developers make better function combination.

Stamp links for experience:

https://xuperchain.readthedocs.io/zh/latest/design_documents/cross_chain.html