非对称加密技术在区块链系统中的应用介绍
扫描二维码
随时随地手机看文章
一、非对称加密技术是构建区块链应用的基石
非对称加密技术在信息化系统中始终扮演着关键角色,成为构建信息化系统诸多核心功能的基础。
在区块链系统中,非对称加密技术除了用于用户标识、操作权限校验,还用于数字资产地址的生成、资产所有权的标识和数字资产的流转。
如图1所示,具体来说,基于非对称加密技术的数字签名可以构建公私钥对以标识用户身份;
可以基于公钥生成加密资产地址,以公私钥对检验资产所有权;可以用私钥对操作签名,用公钥校验用户的操作权限;
还可以用接收方公钥对传输数据加密,接收方用私钥解密并读取数据。
区块链中的“人”、“财”、“权”和“数据”都依靠非对称加密技术来标识,相应的职能和权限也需要依靠非对称加密技术来保障和实现,因此可以说,非对称加密技术是构建区块链应用并促进其发展的基石。
二、传统的非对称加密技术无法有效实现对分布式和去中心化系统的支持
分布式和去中心化信任是区块链系统的重要特征,这些特征保障了区块链系统在多方参与的环境下能降低信任门槛,达到更高的系统效率。
但非对称加密本身的设计和实现却是中心化的,无法有效实现对分布式和去中心化系统的支持。
目前区块链系统使用的非对称加密算法,从私钥到公钥的计算使用的都是中心化的算法,公私钥对的生成都需要基于完整的私钥,即私钥和公钥之间的关系是1对1的,而无法有效实现N对1的关系。
因此,非对称加密技术不能有效支持同一事务在多方参与下的业务协同,不能对区块链中的“人”、“财”、“权”和“数据”实现原生的分布式管理。
目前对资产所有权的分布式管理、对资产的有效锁定和托管,基本都是在位于Level 2的应用层基于多重签名和智能合约编程实现,对操作权限的审批也需要通过合约来实现。
但这两种方式并非所有的区块链都支持,或者支持能力有限。
例如BTC不支持智能合约,在多重签名上最多只支持5个多重签名和3/5的门限;而ETH不支持多重签名,需要编写智能合约来实现类似的功能。
另一个方面,从安全角度,在上层完成的功能实现除了需要考虑自身业务逻辑的完备性,还需要考虑来自系统底层的攻击,系统底层的漏洞也会给上层应用的安全带来更大的影响。
三、分布式密钥技术可以实现对分布式系统的原生支持
如果我们将中心化的非对称加密算法改造为分布式的非对称加密算法,即本文所称的分布式密钥技术,。
如图2所示,将现有一个用户生成完整私钥改造为由多个节点独立生成各自私钥分片,将现有的中心化计算过程改造为分布式的计算过程。
将1个私钥与1个公钥的对应关系改造为1组私钥集合与1个公钥的对应关系,那么原来基于单一私钥的公钥生成、签名、验签以及数据加密等过程就都可以改造为在1组私钥的基础上完成公钥生成、签名、验签和数据解密的过程,资产托管、审批等原来全部位于Level 2,由智能合约完成的业务就可以通过调用位于Level 1的底层分布式密钥部件实现,并且这样的分布式密钥部件的功能是原子性的,具有同等的密码安全强度。
分布式密钥技术与基于秘密分享技术生成私钥分片的方案存在本质上的不同。秘密分享的方案是先生成完整的私钥,再对私钥进行拆分,形成若干个私钥分片交给多方分别保存。
由于出现过完整私钥,无论是技术上还是管理上都难以保证完整的私钥没有泄露过。
而分布式密钥方式直接由各个参与者独立生成各自的私钥分片,在整个过程中没有出现过完整私钥,也不存在参与者之间传递和分享各自生成的私钥分片,因此也就不存在泄露完整私钥的问题。
图3是利用现有的非对称加密算法实现数据加解密与利用分布式密钥算法实现加解密的对比示意图。
在现有方式下,Bob给Alice发一份秘密信息,Bob用 Alice的公钥PK对信息加密,Alice收到后,用自己的私钥 SK对信息解密。
在分布式密钥算法情况下,Bob给群组Group发一份秘密信息,Bob用群组 Group的公钥PK对信息加密,群组收到加密信息后,需要用群组中不同人的私钥,包括Alice、 Carl 和David等人每个人的 SK共同对信息解密。
通过以上对现有中心化方式下的非对称密码算法进行的分布式背景下的改造,可以实现基于区块链以及其他分布式应用对“人”、“财”、“权”和“数据”的原生的分布式支持,从而可以实现更加丰富的上层分布式应用。
在分布式密钥技术基础上,配合跨链互操作方案,还可以实现对来自不同区块链系统或者传统信息化系统中“人”、“财”、“权”和“数据”的远程管理,如图4所示,从而构建起一种立足于分布式密钥算法的跨链方案。
四、非对称加密技术的分布式实现是推动区块链技术与应用治理的实质性突破
在现有的区块链系统以及信息化系统中,私钥就是用户在系统中的通行证,即使在异常情况下也没有人可以对其行为施加影响。
在这种情况下,我们只能依靠KYC,依靠对数据进行分析以发现异常,并且依赖于异常情况下的事后处置。
这种情况的出现主要是因为缺少合适、有效的监管工具和监管手段。在现有数据采集和数据分析基础上,我们应该赋予区块链应用以事前的审批能力,对外部区块链应用的跨链插针式的监管能力,以及在某些特定情况下对资产控制权的接管能力。
而这些能力需要依赖于非对称加密算法的分布式实现的突破。如图5所示,通过分布式身份管理协议实现对“人”的分布式管理,通过分布式资产协议实现对“财”的分布式管理,通过分布式权限管理协议实现对“财”的分布式管理,通过分布式数据管理协议实现对“数据”的管理,以及基于分布式密钥的跨链实现方案共同构建区块链所需的监管能力。
因此,非对称密码技术的分布式实现是推动区块链技术与应用治理实现实质性结合,是推动区块链产业发展与推广的必要的技术基础。
五、分布式密钥可以实现丰富的业务逻辑组合
1. 实现用户身份的分布式管理
基于分布式密钥算法,用户可以通过多种方式,实现自身与这个分布式生成的私钥集合绑定,从而实现将易读性和保存困难的私钥托管给非中心化的分布式系统,进而实现用户身份在这个分布式系统中的托管。
这种绑定的安全性也是数学可证明的。由于每一个分布式私钥都不能独立地生成有效签名,因此这样的托管是安全的。
用户实现与分布式私钥集合形成绑定关系的方式可以有以下几种。
(1)用户在受托的分布式系统中生成托管账户
用户可以在受托的分布式系统中生成一个托管账户,托管账户也是以非对称密钥算法来实现的,相当于在受托系统中完成注册。
如图6所示,账户生成完成之后,用户可以要求由受托的分布式系统生成在第三方系统中的用户身份。
用户身份生成时就完成了该托管身份与用户在受托的分布式系统账户间的绑定,也同时完成了用户身份的托管,从而用户就可以用自己在受托的分布式系统中的同一个账户管理多个第三方系统中的用户身份。
在该方案中,用户的身份是完全托管在受托的分布式系统中的。用户持有证明自己在该系统中对应的账户,从而拥有账户下绑定的所有托管的用户身份。
这样的绑定关系依赖于受托的分布式系统的对应记录。
它的优势在于托管身份对应的分布式私钥集合完全存在于分布式系统中,用户不用关心它的安全。
同时,在使用过程中,用户只要发起操作请求,分布式系统在接受请求后完成后续的操作,不需要用户的全程参与。
(2)用户持有分布式私钥集合中的一个或若干个私钥
另一种实现方式是由用户持有分布式私钥集合中的一个或多个私钥。在该方式中,用户既是身份托管的委托方,也是身份托管的受托方之一。
用户与某个托管身份的绑定关系是由密码算法保证的,这是一种数学可证明的绑定关系。
可以通过对算法的参数进行设置以实现分布式私钥功能。
例如在签名过程中,如果需要用户所持有的分布式私钥的参与,则可以形成如图7所示的更加丰富的逻辑功能。
该方案的优势在于提供了更高的身份托管的安全性。但在签名使用中,需要用户全程的参与。
2. 实现隐私和监管
用户在应用系统中的某些行为,需要实现隐私保护。用户身份托管可以为现实世界中的用户提供可靠的隐私身份。
通过分布式密钥系统,可以搭建一个去中心化的分布式用户身份托管平台,分布式的算法和去中心化的特点保障了并没有一个实体第三方可以获得与受托用户身份对应的现实世界中的用户真实信息。
同时,在当前的现实世界中,政府对一些行业和一些特定的应用又有明确的监管需求,例如金融、进出口和海关等。
监管在于能够了解宏观数据,进行适时的调控,或者在出现特殊情况的时候,能够有有效的审查手段定位问题的根源。这就在隐私和监管之间提出了分层管理的要求,也就是在日常的使用中,用户在系统中的行为应该得到隐私保护,而又能够在一个小范围内提供可监管和审计的能力。
在具有监管功能的应用系统中,如图8所示,用户在生成身份托管系统账户前,可以接入对应的KYC系统,按照所在地法律法规的要求完成所需的身份认证。
这些KYC数据将不会出现在身份托管系统或应用系统中,从而保障其在应用系统中的隐私行为,同时这些数据在KYC中进行加密保存并向特定部分授权访问,从而满足监管和审计的需求。
3. 实现用户权限的分布式管理
分布式密钥算法可以进一步结合门限签名等密码技术,在分布式私钥之间构建起更加丰富的逻辑关系。
基础的逻辑关系包括:
(1)分布式私钥间对等的“与”关系
在不设置门限的情况下,一个分布式私钥集合中各个私钥所具有的权力是均等的。在完成相应的操作时需要所有分布式私钥的全体参与,所以表现出分布式私钥间“与”的逻辑关系,如下所示:
(2)门限构建的分布式私钥间的“与或”关系
在设置门限t/n, t≤n的情况下,一个分布式私钥集合中各个私钥是对等的。但完成相应的操作时需要超过t个分布式私钥的共同参与,所以表现出分布式私钥间与或的关系。如下所示:
(3)指定某个分布式私钥的“与或”关系
在门限的情况下,指定完成签名操作时,其中某个分布式私钥必须参与,则被指定的分布式私钥与其他参与的分布式私钥之间就具有对结果与的关系。
在使用分布式私钥构建权限关系的时候,这组分布式私钥并不是对应于一个用户,而是将分布式私钥中的各个分布式私钥分别对应到实际业务应用中的多个参与者身上,从而由上述的逻辑关系构建参与者之间在业务应用中相对的权限关系。
(4)对等分布式私钥“与”的关系
分布式私钥集合中私钥数量与应用参与者数量1:1,如图9和图10所示,每个应用参与者持有集合中的1个分布式私钥,于是就在这些参与方之间构建起对等的决策关系。
这在业务层面的逻辑上就意味着所有的操作都需要得到全体参与者的一致同意才能完成。
(5)门限构建的分布式私钥间“与或”的关系
分布式私钥集合中私钥分片数量与业务中参与者数量1:1,每个参与者持有其中的1个私钥分片,但由于门限的存在构建起少数服从多数的决策关系,超出门限部分的参与者意见,如图11和图12所示,不会影响最终的决策结果。
分布式私钥集合中私钥数量与应用参与者数量1:n(n≥1),则不同参与者持有数量不等的分布式私钥数量,如图13所示,持有分布式私钥数量的多少,对应了不同参与者在意见表达中不同的权重。
例如,股东会中不同股东拥有不同表决权的应用场景。
(6)指定某个分布式私钥“与或”关系
在这个情况下,最终结果必须得到持有该分布式私钥的参与者的支持,相当于持有该分布式私钥参与者对决策具有一票否决权,如图14所示。
六、基于分布式密钥技术实现有效监管
1. 操作实时审批
通过历史记录数据评价系统运行状况,检查业务应用是否符合规范,发现其中有无违规异常操作并提示相关风险,是事后监管和事后纠错方式。
对于核心、关键业务应用,需要赋予业务监管者以事前审批能力。
传统的方式是通过业务流转的方式实现不同权限对于一个业务请求的审批操作,但其存在如下不足:
(1)业务流转的审批方式依赖于代码对业务逻辑实现的准确性,有存在逻辑漏洞的可能性;
(2)业务流转的审批方式不能形成对决策过程的有效凭证,审批流程和最终系统中提交的指令不构成严密的相关性,形成不了可追溯并且不可篡改的逻辑关系。
分布式密钥技术可以实现有监管者参与的分布式签名,赋予监管者对用户操作的实时审批能力。如图15所示。
具体流程如下:
(1)操作指令执行者(一方或多方)和监管者(一方或多方)各自独立掌握自己的私钥分片;
(2)对于执行者提交的操作,如果需要监管者审批,则采用分布式的方式由监管者对操作指令完成有效的签名,该签名可以被第三方以传统的公钥方式校验;
(3)签名的过程是交互式的,监管者在收到执行者提交的操作指令时,以及在签名过程中,都可以终止该交易的签名,拒绝形成有效的交易指令。
基于分布式密钥技术的分布式签名是一个数学可证明的过程,分布式形成的签名是一个对审批决策流程可追溯,并且不可篡改的有效数字凭证。
同时,被监管的对象和链上资产都可能参与到第三方区块链系统的业务应用中。由此,通过分布式密钥技术可以实现对监管对象和链上资产在其他区块链系统中的用户身份、账户地址和操作指令的分布式控制,也可以实现如图16所示的对跨链系统的插针式监管,对第三方系统中的用户、资产和操作提供实时的审批能力。
2. 异常处理
对于事后审计发现的异常情况,例如对于某些监管对象的违规操作行为和相关账户资产的接管,需要赋予监管者以不需要被监管对象参与的异常处理能力。
通过分布式密钥技术采用门限阈值设置,可以赋予监管者达到阈值设置的私钥分片,从而实现在特殊情况下,对于特定资产的紧急处理能力。
如图17所示,在这个过程中,监管者可以在需要的时候利用达到门限阈值的私钥分片,完成对特定监管账户中资产的转移,从而锁定相关资产,避免后续违规操作的持续发生。