区块链产业应用的前提:实现角色差异化
区块链是一种特殊的分布式系统,它通过特定的技术组合,引入社会治理机制,以高度的数据冗余,实现了所有节点在数据占有方面完全平等,并且保证数据不可篡改不可伪造,数据可溯源可追踪。在区块链系统中,没有中心节点的概念,所有节点的职能和角色是完全一致的,不存在传统业务逻辑中的角色分工和职能差异。
这种先天设计上的缺陷,导致区块链与很多业务场景难以结合。从比特币系统到以太坊,到目前各种区块链系统,都缺少与复杂的现实业务逻辑结合的能力。
而现实生活中业务场景的丰富性和复杂性,注定了不可能所有人或所有节点在系统中的职能是完全一致的。因此,如何实现不同角色的职能差异化,就成为区块链能否落地的前提。
目前一个区块链应用基本对应一个业务场景,但未来有可能一个区块链应用承载几个不同但相关的业务场景,也有可能几个不同的区块链应用构成具有一定结构和层次的复杂区块链系统。无论是在目前单一业务场景的区块链应用中,还是在未来的复杂区块链系统中,一个节点有可能仅仅承载单一的角色和职能,但也可能会同时承载几个不同的角色或职能;多个不同的节点有可能共同承载一个角色或职能,但也有可能共同承载几个不同的角色或职能,只是内部存在进一步的分工和职能定位。
从技术进步与社会发展的相互作用来看,有时是技术或工具的发展在前,然后再与具体的业务逻辑结合,再推动社会发展;但也有时候是业务场景先提出更多技术方面的要求,进而引导技术的进一步发展和进步。目前区块链的发展,既有技术方面领先社会发展的方面,同时也存在着技术或工具远远满足不了大量和丰富的传统线下乃至线上业务场景需要的情况。
实现不同角色差异化的一种思路,是试图在业务逻辑层面依靠代码组合,实现基于不同角色的差异化职能。但这种方法,既要考虑业务逻辑,又要考虑不同功能的底层实现方法,将导致代码逻辑过于复杂,代码自身冗长,而且过于复杂的功能组合很难保证逻辑完备,既难以满足业务需要,又可能引入逻辑漏洞,为黑客入侵提供方便。
另外一种思路,就是在底层的技术逻辑层面增加相应的功能组件。这也是我们率先提出,实现包括监管职能在内的区块链系统,还是要回到体系结构层面。
区块链采用的非对称密码算法,为实现角色差异化提供了技术上的可能。在区块链系统中,非对称密码提供了用户的身份识别验证以及对特定地址内虚拟货币的权限操作。但目前更多的是一个账户与一对非对称密码绑定,用户在特定账户内,通过不公开的私钥实现对账户地址内的内容操作进行签名,以实现系统规定的操作。所有账户功能基本相同,特定用户对其账户内内容操作权限也一致,基本都是一对一的关系,而很少存在一对多、多对一、多对多的对应关系。如果再加上时序关系,就会构成更加复杂但丰富的业务逻辑,目前的区块链系统应用就更无法应对了。
这就需要对传统的区块链系统架构进行功能上的扩展,引入更多先进和可用的技术和工具。
密码学中的安全多方计算,可以在互不信任的几方之间通过协作实现特定的目的。在零知识证明基础上形成的密钥分片技术,可以保证多方安全计算更加安全可靠。但这些技术,必须有效嵌入到区块链系统的底层架构中。
角色的差异在于角色职能的差异。而职能更多是通过业务逻辑中的权限进行表达,不同权限组合构成不同角色的职能。因此,根据业务逻辑特点,将更多的职能进行原子化分解,之后根据角色定位进行不同的组合,不同职能组合定义不同角色,再在应用层通过对角色职能的定义调用对应角色的权限组合,就可以在应用层的代码中实现包括抽签、同权或不同权的投票表决、业务监管、审批,以至风控等基于不同角色基础上的一系列相对复杂的业务逻辑。
对于区块链产业应用落地,引入安全多方计算,以及零知识证明,不仅仅是要引入理论上的研究成果,更要落实到工程实现上来。要保证引入之后系统的效率必须得到保障,可靠性不能降低,用户体验从总体上还要进一步友好。如果引入之后系统的效率大幅降低,可靠性也得不到保障,用户体验更加不友好,那么这种引入就会注定失败,也就不可能深入到具体的产业应用中。
Scan QR code with WeChat