比特币的安全性保证源于其独特的PoW共识机制,以及其每个节点都可以独立正确验证的交易脚本机制。
要分析比特币系统的安全性,我们应首先考虑在比特币系统中可能存在的攻击形式。一个攻击者若想通过攻击比特币系统获益,显然是需要掌控“记账权”,即产生区块的权力。由于比特币系统中,由谁来产生下一个区块是一个完全随机的事件,因此,由一个攻击者节点产生部分区块是完全有可能的,但由于比特币中的正常节点都会对产生区块中的交易进行验证(通过运行交易中的锁定脚本和解锁脚本),因此,所有诚实的节点都不会接受包含了无效交易的区块,这意味着攻击者无法凭空创造价值,也无法对不属于自己的比特币进行掠夺,攻击者所能够进行的仅仅是对自己发出的交易信息进行修改(因为它无法伪造其他参与者的签名等信息)。
一个典型的攻击场景即为“双花攻击”,在这种攻击中,攻击者先将自己所拥有的资产(UTXO)在一笔交易(记为TX1)中支付给另一个参与者以换取某些其他资产,该交易被写入当前比特币区块链(记为链A)的第N+1个区块;此时攻击者同时秘密地准备另一条基于原比特币区块链第N个区块的后续链(记为链B),该链中并不包含TX1;攻击者等待实际获取到TX1交易中所涉及的其他资产之后,再使用自己准备的这条秘密链B同原记录有TX1交易的链A进行替换,便可“抹消”自己所参与的TX1交易,收回自己在TX1交易中所使用的UTXO。
当然,由于比特币的“最长链胜出”原则,攻击者秘密生成的链B需要在替换时比原有链A更长,才能够成功实行双花攻击。而比特币系统中采用的PoW机制保证了,某节点产生下一个区块的概率与该节点的算力占所有参与PoW的节点的算力的比例成正比,因此,双花攻击的成功概率与攻击节点的算力密切相关。
2aF85ObxjDQWdHBDGQ9tcHr2kVU says:
nimabi says:
2Z19Ge3DgSgTf1c8FhaMOchYRbp says: