您是比特币或区块链开发人员吗?您可能正在研究可伸缩性,网络延迟,交易费用和类似问题,以尝试改善公共区块链。比特币SegWit实施有重要的教训,我将在本文中解释该项目。但是,我将首先解释什么是隔离证人(SegWit).
比特币的采用和用户面临的挑战
比特币通过其相互隔离和安全的网络已将力量掌握在人们手中,并享有很高的知名度。但是,您仍然没有用它来购买早晨cuppa,对吗??
尽管受到欢迎,但由于以下挑战,日常交易仍不在比特币中:
- 比特币网络中的每个节点必须存储所有区块和交易,并参与交易验证。比特币网络只能和最慢的节点一样快。比特币使用“工作量证明”(POW)共识算法,该算法要求每个节点的参与。在“ PoW Vs”中了解有关POW算法的更多信息。 PoS:两种区块链共识算法的比较”.
- POW算法要求比特币矿工解决日益复杂的密码难题,因此他们使用大量的计算能力。除了消耗大量能源外,这还会增加网络负载。结果是网络延迟.
- 比特币用户希望他们的交易能够快速进行。但是,网络延迟和缺乏可伸缩性使它们变慢了。比特币块只能处理有限数量的交易,并且要确定其交易的优先级,用户需要支付高昂的矿工费用。这些费用不断增加.
比特币SegWit在很大程度上解决了交易费用问题,但这源于另一个问题,我现在将对其进行解释.
比特币SegWit的起源:比特币可延展性
比特币还有另一个潜在的严重问题。比特币使用数据加密,首先将纯文本转换为加扰的“密文”。只有拥有私钥的人才能使用私钥将密文解密回原始明文.
可延展性是加密技术中的一个漏洞,该漏洞使网络攻击者可以将密文转换为另一密文。然后,黑客可以将修改后的密文解密为完全不同但相关的明文。例如,他们可以在付款交易中更改收款人地址和付款金额!比特币加密具有可延展性错误.
“隔离见证(共识层)”,即SegWit的“比特币改进提案”(BIP)141关于解决此可延展性错误.
比特币SegWit实施如何解决可延展性问题
比特币开发商Peter Wiulle于2015年12月提出了SegWit提案。该解决方案的工作原理如下:
- 它创建了一个不同的结构,称为“见证”。其中包含用于验证交易的数据,但没有交易详细信息.
- 新的见证结构与交易数据的其余部分分开提交到比特币区块,因此名称为“隔离见证”。.
- 假设黑客掌握了交易数据并尝试利用可延展性漏洞。他们无法再通过SegWit访问数字签名作品.
- 因此,即使他们设法将密文更改为其他内容,但如果没有数字签名,他们的努力也就无济于事.
这就是比特币SegWit提案计划解决可延展性错误的方式。但是,该提案包含更多更改,这些更改有助于有效增加比特币的区块大小。阅读,了解如何.
比特币SegWit有效地增加了比特币的块大小
比特币的块大小为1兆字节(MB)。同样,签名信息构成了交易数据的重要部分,因此一个块只能包含少量交易.
SegWit提案创建了一个不同的参数,称为“重量单位”(WU)。该块的事务数据部分的每个字节对应于4个WU。但是,“见证”结构的每个字节等于1 WU.
该提案还将比特币区块的最大权重定义为400万WU。通过简单的数学运算,您可以看到带有SegWit的新块如何有效地具有超过1 MB的大小!这使矿工可以在一个区块中包含更多交易.
由于每个区块现在都有更有效的空间,因此减少了将交易包含在区块中的激烈竞争。反过来,这减少了交易费用!
如果比特币社区决定明确推翻1 MB的块大小限制,那么他们需要实施硬分叉。但是,由于加密社区为整个网络和生态系统带来的不稳定因素,他们通常不喜欢硬分叉.
在实施比特币SegWit的情况下,仍保留1 MB块大小限制的规则,但是,新的WU参数绕过了它。因此,没有实现SegWit的硬分叉.
比特币SegWit利弊与采用
您刚刚看到SegWit如何解决可延展性错误并降低了比特币交易费用。但是,还有其他好处。考虑“闪电网络”的示例.
闪电网络是一种脱链解决方案,可进行小规模,频繁的付款交易。它运行在比特币区块链的顶部,并不在那里记录每笔交易。该解决方案仅记录比特币区块链中的交易的定期摘要.
由于系统未提交比特币区块链中的所有中间交易,因此用户需要确信自己的中间交易是安全的。可延展性错误不会带来这种信心。比特币SegWit实施也帮助了闪电网络的发展.
尽管SegWit有很多好处,但您不应将其视为高级比特币扩展解决方案。这不是一项自动化的可扩展性措施,而是一次绕过了比特币块大小限制。此外,有效增加区块大小可能会导致速度较慢的节点在未来加载比特币区块时花费更长的时间.
比特币SegWit于2017年8月实施,此前在比特币社区中就其优缺点进行了多次辩论。但是,采用还远远没有完成,您可以查看统计信息 这里.
作为比特币或区块链开发人员,您可以从比特币SegWit实施中获得重要的经验教训。在制定改进建议时,请考虑长期的可扩展性,安全性和分散性方面.