关于区块链的安全问题, 它远不像是只在共识层面上存在着仅有那几个类型的问题。
大家可以看到从智能合约里面的代码编写缺陷这一类事情, 一直蔓延到在运营的环节里面对于私钥进行管理的那些工作当中去, 在实际开展的每一个项目之内, 大家所遇到的那些坑, 比起在教科书上面所能看到的内容来说, 还要多出非常多倍呢。在这里我要把两个经常被他人问到最多的方向单独挑选出来然后进行一番聊天。
区块链安全问题有哪些
在链上这一层, 51%攻击以及双花问题这两个名词, 大家其实已经都听得很明白了,属于是那种耳熟能详的状态。然而, 真正能够让项目方在半夜里被惊醒的突发状况, 大多时候并不是这些常见的问题。往往是因为智能合约里面存在着重入漏洞, 或者是权限控制方面出现了某种缺陷。

2016年发生的那个The DAO事件就是一个非常典型的例子。之所以会出现那种情况, 根本原因在于当时有一段智能合约代码, 开发者没有给它去做好重入防护的功能。
结果就是, 外部的那些攻击者就直接把这个合约给利用了, 并且顺手就把里面的大部分资金给抽走了, 具体金额达到了总资金的重入漏洞所导致的那60%之多。
把视角放至链下那个层面, 发现交易所方面以及由使用者自行负责管理的钱包里面, 对于私钥管理这一块内容来看, 属于非常明显的薄弱之处。
表面看起来使用冷钱包确实很安全, 但是如果操作该系统的工作人员不小心点开了带有欺骗性质的垃圾邮件, 又或者从上游供应商处获取的渠道之中意外混入了恶意控制的漏洞程序, 那么之前所有精心构筑的防护体系就会毫无缓冲地带地彻底崩溃掉。
区块链安全漏洞怎么防
在合约上线之前, 一定要老老实实地去跑多轮的形式化验证以及模糊测试, 千万别指望仅仅依靠一次审计就能起到兜底的作用。我曾亲眼看过来不少项目, 审计报告明明已经签字确认了, 可是后来却又改动了哪怕几行代码, 导致业务的实际逻辑完全发生了改变, 这样做实际上就等于白审了。
在私钥管理这个方面, 大家普遍认为多签技术以及MPC门限签名手段, 要比那种单独的冷钱包设备更加可靠和多一点保障。
除此之外, 如果再搭配着密钥定期更换这种做法, 还有最小权限原则这样的规则一起用, 那就能够把因为人为操作失误所带来的风险, 还有因为单点故障所引发的那些潜在隐患, 全部都紧紧地压制住, 让它们降到最低点。
安全问题这个东西, 它是没有办法通过一种方法就永远安稳的, 根本不用想着有一劳永逸的方案。你得把链上这个部分和链下这个部分都当作一个整体去守护, 这样去操作。这样做的话, 才是真正的务实型的做法。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://zmdyd.cn/gwimqb/11091.html
