撰文:  Iraklis Leontiadis

编译:Hahaho

或许你正在阅览本文的时,所使用的浏览器和内容终端之间的通信保密也正在运转中,这一进程得益于中心暗码原语完成的身份验证。或许你没听说过类似加密(encryption)、签名(signatures)、音讯认证代码(message authentication code)等抽象名词,但端到端的安全也正被这些技能维护着,外部某一方是无法在不被发现的情况下阅览传输的内容亦或改动内容的。在本文中,咱们将要点剖析数字签名的内部结构以及它们在数字财物和加密钱银中的效果。

传统签名

银行支票实质是从发送方到接收方的资金搬运指令,而这一指令由发行支票的银行确认。出票人要在支票上指定收款人及金额,随后需求出票人在支票纸上的亲笔签名来验证。在抱负状态下,不会呈现任何问题,指定接收者去银行,银行验证后进行资金搬运。但事实是,每张支票纸上的签名不是仅有的,经常是相同的,这就使支票签名简单被假造。想象一下,假如你的支票被人篡改,转账金额多了位 0 的丢失将是巨大的。

签名在数字资产和加密货币中的作用

银行支票

数字签名

这个问题如何处理呢?在传统签名中,发送人签发信息的手写签名是仅有的(或同一的),数字签名采纳的方式是将需求签名的信息与签名自身绑定,每一个签发信息的电子签名都是一个新的字节省。在这一根底上想假造电子签名,需求处理的难题以目前已有的东西和常识几乎是不或许的,所以它相对更安全。

发送者能够指定其签名钥匙揭露和保密的部分,接收者将发送者的公共信息与它的公共密钥(通常是证书的方式)结合起来,验证签名的正确性。

签名在数字资产和加密货币中的作用

电子签名

验证组织将发送者的公钥及其元数据签名(可揭露辨认)进行绑定。协议的安全性不仅依赖于签名的安全保证、整个进程的安全完成、秘钥的安全存储和牢靠的通信途径,还依赖于验证组织自身是否足够安全。攻击者能够履行中间人攻击或冒充相关方,攻击验证组织和发行「虚假」证书的结果是糟糕的,相关比方层出不穷,比方 Diginotar、Comodo 和 MonPass。

数字财物中的签名

跟着分布式账本技能和在此根底上的金融应用(加密钱银)呈现,人们提起了对数字签名的兴趣。数字签名是数字财物体系的中心,保证了数字财物所有权,并防止了双花问题(花费的比持有的多)。

在一个加密钱银体系中,当史蒂夫想发送特定数量的数字财物(例如比特币)给劳拉时,史蒂夫会在自己的账户签署一个包含支出信息的字节省,然后,拥有揭露信息的矿工(验证者)验证签名的有效性,并依据根本的共识机制,将其作为主分布式账本上的一个区块,终究完成买卖。

数字签名假如呈现缺点,会对体系的公平性和安全性发生破坏性的影响。攻击者能够经过不安全的私钥存储,或底层算法的潜在缺点,启动未经授权的买卖,形成的丢失或许永远无法康复。在传统金融体系中,卡号和暗码就是秘钥,所以金融数字财物的安全就包含秘钥的安全和数字签名的安全。

目前有三种签名管理分布式账本体系:ECDSA、Schnorr 和 EdDSA。这些签名计划都依赖于椭圆曲线组和数学难题。不同的曲线供给不同的效率和安全保证,例如爱德华曲线通常被认为更安全,由于它更简单在稳定的时刻内完成,以防止因其通用方式而发生的侧信道攻击。

在下文,咱们将把底层的椭圆曲线运算组作为一个「黑匣子」,只强调上面的代数方程。下文的所有签名,都在一个质数阶为 q 的根底组 G 进行算术运算,所有的运算都是 q 的模运算且存在一个散列函数 H,输入恣意字节省,输出的是 Zq 中的元素。

ECDSA 签名

比特币网络上线时,中本聪决定将 ECDSA 定为根底签名计划。签名算法的第一步,是对新的随机 k 进行采样,假如不这样,对手能够经过不同信息的两个不同的签名提取密钥(例如 PS3 被黑事情)。假如重复随机性听起来比较极端,那么只要重复 k 中的一部分字节,就足够以杰出的概率提取剩下的随机性。

签名的另一个缺点是,它不易与区块链所需的签名副产品兼容,即:多重签名、聚合签名和 MPC 协议。原因是逆元素 k^-1 对核算签名的 s 部分的非线性方程的影响。

最终重要的是,ECDSA 依据定义是可塑的(可延展的):两个不同的签名能够映射同一个信息。这是可行的,由于 (r,s) 和 (r,-s modq) 能够经过对 s 的方式施行约束来缓解(一直考虑较小的 s),验证信息 m。

签名在数字资产和加密货币中的作用

ECDSA 签名

Schnorr 签名

Schnorr 签名计划,克服了 ECDSA 的一些缺点,它具有线性方式,能够更轻松地完成其 MPC 版别,使聚合和多重签名的工作量变得更少。与 ECDSA 比较,它不具有可塑性,但有更强的理论安全证明剖析。但是,对新的随机性的需求仍然存在,这使它简单受到施行过错的影响。

签名在数字资产和加密货币中的作用

Schnorr 签名

EdDSA 签名

EdDSA 消除了对每个音讯的新随机性的需求。如下所述,签名算法从密钥和音讯中确认地获取随机性。此外,EdDSA 是在 Edward 曲线上完成的,如 Curve25519 和 Curve448,这使得它们在施行正确的情况下很简单保持稳定,并供给更有效的代数完成。

签名在数字资产和加密货币中的作用

EdDSA 签名

定论

暗码学研讨跟着区块链生态体系的设计、施行和布置而发展:阈值暗码学、零常识证明、聚合签名、VDF、VRF、分布式随机信标等。在过去的几年里,从研讨和工程方面投入到数字签名的工作量呈指数级增长,咱们见证了从协议描绘到 POC 到完成出产的最短时刻周期

咱们也将看到替代上述签名的新签名;更快、更安全、更易于施行。从协议描绘到 POC 再到出产的每一步都需求进行彻底的审查,一个小缺点都会形成巨大的丢失。早期采用到成为规范需求数年时刻的堆集,加密协议是每个数字金融体系的中心,保证数字财物的安全,一个最佳挑选总是需求权衡取舍。

加密协议在出产环境中不是独立存在的,安全剖析仅是第一步,产品所有者、工程师、QA 和 devops 需求与暗码学家加强协作,了解布置加密代码的风险,并保证免受歹意用户的影响。完美安全永远不会存在,在 Parfin 咱们采纳了所有必要的步骤来维护相关根底设施,尽或许地信赖并尽量削减潜在的关键信息暴露。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注