In the last technical point of view , we analyzed the definition of the CounterFactual state channel and summarized the attributes of equivalence , fairness, and consistency . Next, we continue to analyze the three definitions of the CF state channel and consider the application boundaries of the CounterFactual state channel.
01 CF Status Channel Definition Analysis
The equivalence requirement in the first definition. Since the equivalence has a two-way feature, the execution environment of the smart contract in the state channel must be the intersection of the state channel and the blockchain. This requires:
1. The input information of all operations X in the status channel can only come from the operation of X. The corresponding smart contract can only depend on the internal state of the smart contract, and can not depend on any blockchain related information (such as: blockchain height and Block time, etc.).
At the same time, it is required that the initialization of the relevant dependency information must be completed when creating and initializing the CF status channel. Because the CF state channel operation process is independent of the blockchain, since the state of the smart contract on the blockchain may change at any time, the CF state channel cannot anchor and access any data on the chain as the chain transaction, but only access the chain state. Immutable data in .
2. The operation of the operation X must be consistent in the blockchain and CF state channels. This is a point that needs special attention in software engineering. Since the smart contract platform may have defects and the history of the blockchain software is difficult to tamper with, the blockchain platform can only upgrade the platform software in a forked manner, which will bring some trouble to the CF state channel. In the software upgrade process of the blockchain platform, it must be carefully handled, or the operation and maintenance processing mode of the CF state channel can be closed immediately to ensure the equivalence between the CF state channel and the chain.
The fairness requirement in the second definition. Status updates caused by each operation in the CF status channel must be visible and verifiable for all participants. The first point first defines the CF state channel as the participant is fixed and the number of participants is relatively small. Therefore, the CF state channel does not implement trustless through a large number of node verifications through the permissionless mode in the blockchain, but through the independent verification of the status update of each operation by all participants themselves, and trustless by means of the participants all participating in the verification.
This requires that all users participating in the CF status channel must run the state channel authentication service themselves, which is slightly higher than the current blockchain user requirements, but the state channel smart contract is usually computationally intensive and can be enhanced by the current blockchain client. End program implementation.
Consistency and finality requirements in the third definition. All operations in the CF status channel must be consistent and immediate. In the CF state channel design, any user behavior that violates the protocol can be penalized, so any state update in the state channel needs to be co-signed by all participants for immediate end-to-end. This requires all participants to remain online to maintain the operation of the status channel. This will not have much impact on simple applications or short-term applications, but for complex applications involving more participants or long-running applications, you will have to run in a similar way as proxy nodes or daemon nodes.
Although we currently only do some analysis of the definition of the CF state channel, we can summarize the smart contract and the requirements for the state channel participants that the CF state channel runs on. Based on this, blockchain application developers can determine whether their application is more suitable for the out-of-chain operation of the CF state channel.
02 What does the CF status channel bring to us?
Not only that, although the CF state channel is a solution for expanding the blockchain chain, we should learn the design method. First, from the protocol of the CF state channel, we can clearly see the crypto-economics system design elements. More importantly, CounterFactual lets us see a new way of applying cryptography. From a larger perspective, each blockchain can be considered as a CF state channel in the real world. All those involved in the blockchain lock assets in the real world and participate in the construction and verification of the blockchain network; From a smaller perspective, how do you design blockchain applications to better integrate blockchain and business needs, and even based on CounterFactual's ideas? Is there a new business model?
The CF state channel design is a very inspiring design that gives us a new approach to blockchain system design. In the future ontology technology point of view, we will further promote the design idea of CounterFactual, and think about the changes that CounterFactual brings to other blockchain designs.