目前,无论是公共链还是所谓的联盟链,共链还是所谓的联盟链,从区块链系统底部的数据角度来看,所有用户都是单一类型的用户,节点具有高度的一致性。区块链系统从区块链系统运维的角度区分节点,而不是业务逻辑运行。
区块链系统可以验证基于单一类型用户和相同性质的节点的真实数据,对降低信息不透明度和构建可信度系统具有重要意义;对优化业务流程、降低运营成本、提高协同效率具有重要的革命性意义。
但在现实社会中,大多数业务场景中的用户并不是单一的类型。优化业务流程,提高协作效率,必须是双方或多方之间的不同角色定位,而不是同一类型的用户。那么,如何在区块链的基础上实现高质量的协作呢?
一种解决方案是通过应用层的智能合同,在区块链系统底层的技术架构不变的情况下,在应用层中定义和检验用户的角色和行为。一旦用户的角色和行为触发了智能合同约定的条件,就执行了智能合同规定的行为。
节点用户在系统底层的功能和定位上没有区别,在应用层中被定义为不同的角色,执行不同的功能,很可能给系统架构设计带来逻辑困难,导致编程逻辑困难,甚至一些业务逻辑难以建立在区块链系统上。
协作的产生意味着不同类型的用户在业务逻辑定位上存在差异。业务逻辑定位的差异反映在不同类型用户在业务流程中的不同位置上,即时间顺序的差异,这需要在业务逻辑层面或应用层面上解决。第二,它反映在不同类型用户的权限差异上。权限的差异首先来自于用户的类型定义,其次是基于其类型定义上的可执行动作集或功能集。
用户类型定义和功能集可以在应用层中定义和执行,但如果用户类型更多,功能更丰富,其定义将非常困难,并涉及到用户权限的安全和系统的可靠性。如果用户业务角色的定义和区分可以在区块链系统的底部实现,并通过底部业务角色的定义支持应用层业务角色功能的实现,不仅可以实现用户角色定义的安全性和系统的可靠性,还可以节省用户类型定义的编码。
基于安全多方计算的密钥分割技术是区块链系统底部实现用户角色定义的基本技术。传统的非对称密码算法要求私钥对应于公钥,这对定义个人身份和权限是可行的,但很难处理各种协作问题。例如,通过单个私钥管理集体数字资产将面临巨大的风险。通常的解决方案是拆分私钥,由多个人分别保存一个或多个私钥分割,集体数字资产的集体管理可以在规定的门限数量的基础上实现。但缺点是,完整的私钥必须提前存在,否则私钥无法拆分。由于已经存在了完整的私钥,因此不能保证私钥不会泄露,即源信任问题无法解决。
基于安全多方计算实现的密钥分割技术是参与者独立生成自己的私钥分割。在所有参与者独立生成自己的私钥分割的基础上,系统代码操作生成与这些私钥分割相对应的公钥。在此过程中,任何参与者都不会完全向他人展示自己的私钥分割,系统操作的任何链接也不会出现任何参与者的私钥分割,当然,也不会出现任何形式的完整私钥,以确保系统的理论和工程安全。
传统的区块链系统使用单钥(私钥 公钥)来识别用户的身份,并通过区块链的所有应用场景进行识别。基于安全多方计算的密钥分割技术由私钥分割或私钥分割组识别,用户身份仅存在于节点私钥分割对应的公钥识别的特定业务应用场景中。这种身份识别是所有交易的前提,是确认交易内容所有权的基础,从而实现用户身份和场景的结合,而不是与传统的区块链系统分离。
此外,根据不同节点的用户身份和私钥分的数量,还可以定义节点用户在特定业务场景中的权限和可执行的功能集,以及特定业务流程中用户节点的功能子集,从而在特定业务场景和业务环节中高效、完整地实现相关节点的业务协调。
根据以上分析,我们认为基于安全多方计算的密钥分割技术是区块链系统实现高质量业务协调的基础核心基础设施组件。