Viewpoint | Differentiation of roles is a prerequisite for the application of the blockchain industry

Blockchain is a special distributed system. It introduces social governance mechanisms through a specific combination of technologies. With a high degree of data redundancy, it realizes that all nodes are completely equal in terms of data possession. Data can be traced and traced. In the blockchain system, there is no concept of a central node, and the functions and roles of all nodes are completely consistent. There is no role division and functional differences in traditional business logic.

This inherent design flaw makes it difficult to combine blockchain with many business scenarios. From the Bitcoin system to Ethereum to various current blockchain systems, they lack the ability to combine with complex real business logic.

However, the richness and complexity of business scenarios in real life predestined that the functions of all people or all nodes in the system cannot be completely consistent. Therefore, how to achieve functional differentiation of different roles has become a prerequisite for the blockchain to land.

At present, a blockchain application basically corresponds to a business scenario, but in the future, a blockchain application may carry several different but related business scenarios, or it may be that several different blockchain applications form a complex area with a certain structure and hierarchy. Blockchain system. Whether in the current blockchain application in a single business scenario or in the future complex blockchain system, a node may only carry a single role and function, but may also carry several different roles or functions at the same time ; Many different nodes may jointly carry a role or function, but may also carry several different roles or functions together, but there is further internal division of labor and functional positioning.

Judging from the interaction between technological progress and social development, sometimes the development of technology or tools comes first, and then it is combined with specific business logic to promote social development; but sometimes it is the business scenario that first puts forward more technical requirements. , And then guide the further development and progress of technology. At present, the development of blockchain has both technologically leading social development, and there are also situations in which technology or tools are far from meeting the needs of a large number of traditional offline and online business scenarios.

One way to achieve the differentiation of different roles is to try to rely on the combination of codes at the business logic level to achieve differentiated functions based on different roles. However, this method needs to consider both business logic and the underlying implementation of different functions. This will lead to code logic that is too complex and the code itself to be verbose. It is also difficult to ensure that the logic is complete and that it is difficult to meet business needs. It may also introduce logic loopholes to facilitate hacking.

Another idea is to add corresponding functional components at the underlying technical logic level. This is also the first time we put forward to realize the blockchain system including the supervision function, or to return to the architecture level.

The asymmetric cryptographic algorithm adopted by the blockchain provides technical possibilities for role differentiation. In the blockchain system, asymmetric passwords provide user identification verification and permission operations on virtual currencies in specific addresses. But at present, it is more that an account is bound to a pair of asymmetric passwords, and users within a specific account use a private key that is not public to sign the content operation in the account address to achieve the system-defined operations. All account functions are basically the same, and specific users have the same permissions for content operations in their accounts. They are basically one-to-one relationships, and there are few one-to-many, many-to-one, and many-to-many correspondences. If the timing relationship is added, it will constitute more complex but rich business logic, and the current blockchain system applications will be even more incapable of coping.

This requires functional expansion of the traditional blockchain system architecture and the introduction of more advanced and available technologies and tools.

Secure multiparty computing in cryptography can achieve specific goals through collaboration between parties that do not trust each other. The key fragmentation technology formed on the basis of zero-knowledge proof can ensure that multi-party secure computing is more secure and reliable. But these technologies must be effectively embedded in the underlying architecture of the blockchain system.

The difference in roles lies in the differences in role functions. The functions are more expressed through the permissions in the business logic. Different combinations of permissions constitute the functions of different roles. Therefore, according to the characteristics of business logic, more functions are atomized and decomposed, and then different combinations are made according to role positioning. Different function combinations define different roles, and then at the application layer, the corresponding role combination is called through the definition of role functions. A series of relatively complex business logic based on different roles can be implemented in the code of the application layer, including balloting, voting with the same or different rights, business supervision, approval, and even risk control.

For the application of the blockchain industry, the introduction of secure multi-party computing, and zero-knowledge proof, it is not only necessary to introduce theoretical research results, but also to implement the project. To ensure the efficiency of the system after introduction, the reliability cannot be reduced, and the user experience should be further friendly as a whole. If the efficiency of the system is greatly reduced after the introduction, the reliability is not guaranteed, and the user experience is even more unfriendly, then this introduction is doomed to fail and it is impossible to penetrate into specific industries.