当然我们不能只看到好的一面,全则必缺,极则必反。尤其是量子计算机的发展对区块链安全造成威胁,为了应对量子计算机对一些算法的攻击,在2017年,NIST就开始了后量子密码学标准化进程,其中由瑞士ABCMint数学算法基金会推动的抗量子签名方案,后量子加密基金会支持的抗量子算法之一,最短签名长度的签名抗量子签名方案——彩虹签名Rainbow最被看好。 2017年8月,Jin Liu和数学家Prof. Jintai Ding筹建ABCMint,并注册在瑞士苏黎世附近的加密谷。其数字货币ABC底层签名便是彩虹签名Rainbow,他们愿景是在全球支持抗量子计算机破解算法的研究和应用,研究包括在全球支持数学家在算法方面的发现、破解、完善等,应用包括将合适的算法应用在主流数字加密货币方面。 他们认为比特币从ECDSA改为Schnorr签名的提案BIP340,采用Schnorr签名,是比特币的重大退步。不看好由计算机安全专家提出的算法选择和改进,我们更偏重由数学家提出的算法选择和改进,Schnorr签名的问题很大,应该用在Litecoin之类先长时间试车。 BTC应等BCH,或其他链再用几年Schnorr签名再看看。Schnorr签名最主要的优点是“多签时签名长度最短”,但缺点是“多签时,最后一个人容易欺骗”。 在密码学看来: 采用Schnorr签名是一个"胆大不审慎”的做法,背离了”长期安全“的第一要义。 从密码学角度看待Schnorr签名主要是为了多签名,而多签名适合的场景应该是:既中心化又极其重要的场景,其极其重要的场景类似于核弹发射的十几道Verifiable procedure。或夏延山核武基地之类的大门。而不应该是去中心化场景,或比特币的发送这类场景。 简单说:去中心化的,本身和多签名是背离的。 下面来简单科普一下几种算法: 椭圆曲线数字 签名算法(ECDSA) 椭圆曲线数字签名算法(ECDSA,Elliptic Curve Digital Signature Algorithm)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟(椭圆曲线密码(ECC)由Neal Koblitz和Victor Miller于1985年发明),ECDSA首先由Scott和Vanstone在1992年为了响应NIST对数字签名标准(DSS)的要求而提出。 比特币目前使用的是 ECDSA 椭圆曲线数字签名算法,要对消息 m 进行签名,我们需对其进行哈希操作,并将此哈希视为一个数字:z = hash(m)。我们还需要一个随机或随机查找的数字 k。我们不喜欢信任随机数生成器(存在太多的故障,很多漏洞与糟糕的 RGN 有关),因此,我们通常会使用RFC6979,并根据我们的秘密和我们要签名的消息,计算确定性 K 值。 使用私钥 pk,我们可以为包含两个数字的消息 m 生成签名:r (随机点 R 的 x 坐标 = k×G) 和 s = (z+r⋅pk)/k。然后,使用我们的公钥 P = pk×G,任何人都可通过检查点 (z/s)×G+(r/s)×P 的 x 坐标等于 r,来验证我们的签名。 (责任编辑:admin) |