密码学是如何保证比特币系统安全的
扫描二维码
随时随地手机看文章
比特币DE选择
本文将围绕ECC与区块链结合的重要应用——比特币展开讨论,探讨ECC应用过程中有哪些值得关注的地方。
作为中本聪的一个「业余小发明」,比特币现在可以说是无人不知,无人不晓。只要你能连上互联网,几乎就一定听说过比特币。即便你对区块链应用或者密码学技术完全不感兴趣,也会从多如牛毛的报道中获取很多关于比特币的信息。
一个公认的事实是,正是比特币开启区块链应用成功落地之先河。至今,比特币诞生已超过10年。这个时间足够漫长,足够去验证一件新生事物的生命力。
如今,微信现在已经成为我们人际交往的重要工具,从北上广深到十八线小镇农村,很少不用微信的人。一个难以相信的现实是,微信的年龄只有不到9岁。如今,微信之强大,不在于其功能强大,也不在于其合作伙伴众多,其强大来自于用户。目前,超过10亿中国人民大多都是其用户。
而作为去中心化的代表,比特币的强大——不是掌握国家权力的各国政府,事实上,各国政府对比特币恨大于爱;也不是掌握算力、炒作、媒介的大咖们,事实上,不少投机客混迹其中,风声不对头一个跑;更不是什么虚无缥缈的自由主义信仰,信仰的又不是圣光,谁来赐予你力量?比特币真正的底气,是密码学。
作为目前知名度最高的区块链产品与市场总值最高的加密货币,比特币主要使用两个密码学算法保证自身的安全性:ECDSA与SHA256哈希算法。ECDSA是基于ECC的数字签名算法,它主要用来生成随机的秘钥对(公钥和私钥),而SHA256则用来实现工作量证明机制(PoW)以及通过公钥计算出地址。
下面我们简单分析一下密码学是如何保证比特币系统安全的:
正所谓,密码学问题,基本都是数学问题,比特币系统自然也不例外。在比特币系统中,我们通过私钥来完成对比特币的控制,私钥必须始终保持机密,一旦私钥被泄露给第三方,就意味着失去对相应地址下比特币的控制。一言以蔽之,认钥不认人。
这是比特币跟银行账户一个显著的不同,银行账户主要是认人,密码丢失也可以通过提交有效身份证明来进行密码找回,这在比特币系统中是行不通的。
比特币系统中,私钥由符合Secp256k1.ECDSA 标准椭圆曲线生成(记住这个曲线的名字,后文中要讲)。产生私钥后,再由私钥生成相对应的公钥,进而根据公钥进行SHA256哈希算法生成比特币地址。注意,整个过程单向不可逆,这在密码学上被称为陷门函数。
在进行比特币交易时,每笔交易都必须进行数字签名。数字签名,就好比政府单位批示文件中盖的合格印章,只有掌握私钥才能进行数字签名。签名之后,交易即被记录到链上,经过足够多的区块确认之后,便成为比特币总账簿的一部分。这意味着本记录永久有效,再也不能被撤回和修改。
综上,以ECC为代表的密码学堪称比特币的基石,其重要性无论怎么形容都是不过分的。关于ECC中,秘钥对的创建方式,地址实现等流程等相对复杂,这里不做详述,期待大家自行研究。
SECP256K1与棱镜门
关于用来产生秘钥对的Secp256k1曲线,还有一段值得载入史册的轶事,因为它帮助比特币躲过一支历史级的暗箭。
前文我们说到,在RSA等非对称加密算法的诞生,给各国情报部门的工作带来极大阻力。纵然特工们上穷碧落下黄泉,结果也是收效甚微,但各国情报部门对现有加密方式的破解行动从未停止过,他们在尝试各种方式来破解其他国家的加密文件。
就拿ECC来说,尽管它功能强大,但毕竟不是完美无缺。ECC有一个特点,它需要通过椭圆曲线来获取大量的随机数。要选择出一条安全的椭圆曲线用以加密,并不是一件容易的事。学术界已经提出了很多不同的椭圆曲线选取标准,但遗憾的是,虽然理论上可行,但现实表明,目前人们研究出的通用标准并不足以完全保障ECC的安全。因此,如何选择更优质的曲线,成为了安全相关课题明面上的难题之一。
为了攻破ECC,各国黑客和特工无不下了大功夫。密码学领域貌似平静的水面下,你不知道它背后藏着怎样的阴谋!早先,美国RSA公司开发了两条用以加密的椭圆曲线,SECP256r1和SECP256k1。前者广泛被实际应用中采用,后者在实际应用中不如前者,比特币系统的设计中采用了后者。
2013年发生了震惊世界的棱镜门事件。这一年,前中情局(CIA)职员爱德华·斯诺登将两份绝密资料交给英国《卫报》和美国《华盛顿邮报》,世界舆论随之哗然,从此拉开棱镜门的帷幕。
棱镜计划(PRISM),代号“US-984XN”,是一项由美国国家安全局(NSA)和联邦调查局(FBI)自2007年小布什时期起开始实施的绝密电子监听计划,包括微软、雅虎、谷歌、苹果等在内的9家国际网络巨头皆参与其中。
该计划的一项重要内容,即NSA对SECP256r1曲线安置了后门陷阱。这使得特工在破解ECC加密时难度大幅降低。只要暴露过公钥,就有一定概率被NSA猜出私钥。
一言以蔽之,SECP256r1被证实是一条不安全的伪随机曲线,被美国情报人员破解可能性非常大。
幸运的是,比特币选择的椭圆曲线是没有被添加后门的SECP256k1,这件事至今仍让人感到不可思议。大家在佩服中本聪的密码学造诣的同时一度有人怀疑中本聪是美国国家安全局的人,或者曾经为其效力过,但最终没有真凭实据。
在北大软微-八分量协同实验室学术沙龙活动中,我们进行了许多前沿加密技术的分析和论文解读,从功能性、系统方案出发,结合新的实际场景进一步研究。在学术沙龙分析中,发现ECC在应用中特别需要注意的两个地方。
1. 如何扩大ECC在使用过程中的优势
比如,现在ECC的实现方法都是串行的,关于如何能够用并行方式实现ECC是ECC在实际使用中非常值得研究的方向。如果能在这个领域有所突破,无论理论上还是实践中,都会是一件非常引人瞩目的事。或者,通过软硬件结合的方式来提高安全性,比如已经有项目通过SGX与区块链的结合来实现安全高效的方案。
2. 如何选择更优质的曲线来保障安全
目前研究表明,曲线系数的选取必须满足判别式δ=4a3+27b2≠0,这是曲线选取的必要条件。另外,除了棱镜门爆出的SECP256r1曲线被证明是伪随机数曲线外,异常曲线和超奇异曲线已经被证明是不安全曲线,一定要避免使用。
值得一提的是,未来学术沙龙将就如椭圆曲线的工程优化、数字签名的加速手段、多方安全计算需求、零知识证明需求等内容展开谈论。
此外,我们知道,这些年区块链项目在获得长足发展之时,也没少受到外界的各种攻击。头部项目如比特币、以太坊,更是各种黑客的优先攻击对象。现在已经有很多论文来分析复现这些比特币、以太坊上的攻击方法和漏洞,而八分量对这些攻击的抵御能力如何呢?软微实验室如果未来可以通过实际测试来确认八分量的抵御效果,实验结果不但对八分量自身的开发大有利处,也为未来发论文积累了宝贵的经验财富。