SegWit是isolated witness的缩写。这可能是迄今为止最大的比特币协议升级,它集多项改进和修复于一体。
延伸阅读:比特币是什么?
SEGWIT有什么好处?SegWit可能是它最明显的解决方案,摆脱了事务可扩展性。在SegWit之前,比特币加密签名的一个奇怪之处在于,交易可以被调整为“看起来”不同,即使对于那些没有创建自己的交易的人也是如此。虽然这不会使交易无效或改变其所做的事情,但仍然会从同一地址向同一地址发送相同数量的硬币,但这使得闪电网络等第二层协议的部署非常复杂。
SegWit通过将交易的“见证”数据(包括签名)移动到比特币块的新部分来解决这个问题。因此,它为闪电网络和其他第2层协议铺平了道路。
延伸阅读:什么是闪电网?
作为一个额外的好处,SegWit还提供了一个适度的块大小限制,根据块中包含的事务类型,可以增加到理论上的4 MB限制,或者更现实的2 MB限制。(确切地说:块大小限制被400万重量单位限制所取代,这引入了一种新的“计算”事务数据的方法。)这意味着钱包支持SegWit的用户支付的交易费用更低。
延伸阅读:比特币块大小限制是多少?
此外,通过一项名为“脚本版本”的技术技能,SegWit还可以更轻松地部署对比特币协议的进一步升级。这些即将到来的升级之一可能是Schnorr signature,这是一种新的签名算法,将进一步提高比特币协议的可编程性和灵活性。
但最后同样重要的是,所有这些都是在不升级向后不兼容的硬分叉协议的情况下实现的。(软叉升级只需要大部分算力的支持,避免网络分裂,硬叉则需要全网的共识。)
延伸阅读:比特币分叉是什么?
谁开发了SEGWIT?SegWit的一个版本最初是由Blockstream为Blockstream Elements侧链项目开发的。比特币核心贡献者卢克-Jr(Luke-Jr)想出如何通过向后兼容的软叉升级在主要比特币协议上部署SegWit后,由比特币核心开发团队开发。具体来说,相关的比特币改进提案(BIP)是由Eric Lombrozo、Johnson Lau和Pieter Wuille编写的,他们也完成了大部分编码工作。团队的其他成员以各种方式帮助整个过程,包括审查和测试。
Litecoin的匿名开发者Shaolinfry和Bitland的保修工程师James Hilliard因开发软叉的替代激活解决方案而受到称赞。(更多信息见下文。)
SEGWIT有争议吗?SegWit并没有在比特币的技术界引起争议。
然而,在比特币技术社区之外,有些人更喜欢比特币的不同扩展解决方案,或者认为SegWit本身作为扩展解决方案是不够的。这使得SegWit的提议成为一场充满争议的更广泛争端中的筹码。其他人试图完全抹黑塞格维特。
唯一(可以说)有争议的一点是,将升级部署为硬分叉而不是软分叉在代码方面会“更干净”,因为这将减少对协议的技术怀疑。然而,将SegWit部署为硬分叉会有其自身的问题,大多数SegWit的开发者和支持者认为这些问题会大得多。
围绕SegWit ——的其他一些争议例如,一些声称它将允许矿工窃取资金——简直是胡说八道。例证:SegWit已经存在很多年了,没有矿工能偷到任何硬币。)
延伸阅读:什么是比特币挖矿?
SEGWIT是如何以及何时被激活的?SegWit于2017年8月启用。
它是如何被激活的,说来话长。虽然它在2015年12月首次公开提出,并被纳入比特币核心路线图,而且不到一年后代码就准备好了,但直到2017年夏天协议升级时才上线。
这很大程度上是因为一些重要的比特币矿工拒绝激活协议升级。(按照最初的设计,如果绝大多数矿工表示支持他们开采的区块,SegWit就会在网络上运行。)这些矿工的动机仍在猜测中,但似乎他们要么将SegWit作为筹码,要么因为它与他们秘密使用的3354的采矿优化(称为“AsicBoost”)不兼容而“阻止”升级,或者两者兼而有之。
不管是哪种情况,到2017年,比特币用户的草根运动都将围绕一个想法展开,这个想法最初是由Litecoin笔名的开发者Shaolinfry提出的。这些用户被称为用户激活的软叉(UASF),他们宣布将在夏天之前在他们的比特币节点上激活升级,不管矿工会做什么。如果这些用户按照他们最初的计划,它可能会将比特币网络分成有SegWit的版本和没有SegWit的版本。
就在UASF“最后期限”的前几天,矿工们毕竟启动了SegWit。从技术上来说,他们是通过比特大陆的保修工程师詹姆斯希利亚德提出的另一种激活机制来做到这一点的。
关于比特币历史上这一篇章的完整解释,也请参见《孤立的见证之路:比特币最大的协议升级如何成为现实》。
如何使用SEGWIT?您可以通过使用带有集成SegWit的钱包来使用SegWit。这个钱包将为您生成SegWit地址。当你从这样的地址支付时,你需要支付的费用会比不使用SegWit时低。
SegWit地址有两种类型。一种类型(“P2SH”)以“3”3354开始,尽管并非所有以3开始的地址都是Segwit地址。另一个(“bech32”)以“bc1”开头,始终是一个SegWit地址。P2SH SegWit地址实际上是一种解决方案;虽然来自此类地址的SegWit交易比非SegWit交易便宜,但来自bech32地址的交易最便宜。
以“1”开头的地址永远不是SegWit地址。
一些集成了SegWit的钱包包括比特币核心、Electrum、Green、Trezor、Ledger等。
为什么大家都不用SEGWIT?在SegWit激活两年多后,比特币网络上所有交易中使用SegWit的不到一半。从个人角度来说,不使用SegWit可能有两个原因。
第一个原因是SegWit的实现需要升级,而有些人做起来很慢。对于大公司来说,可能需要花费大量的时间和精力,因为整个系统可能需要迁移。类似地,一些钱包和其他应用程序还没有集成SegWit,大概是因为它们有其他优先事项。
第二个原因是“政治性的”:有人怀疑一些公司升级到SegWit不是为了抗议。他们会偏好不同的扩展解决方案或更多的扩展解决方案。他们甚至可能试图提高比特币的交易成本,以鼓励用户迁移到伪币。
值得注意的是,即使大家不升级到SegWit,升级的人也能享受到好处。虽然如果其他人也使用SegWit,SegWit用户的总体成本水平可能会稍微低一些,但是完全迁移带来的额外好处很小。另外,如果使用SegWit的人越来越少,比特币的块会更小,这也是有利的。