宇宙链 宇宙链
Ctrl+D收藏宇宙链

解读比特币可扩展性方案:隔离见证

作者:

时间:1900/1/1 0:00:00

原文标题:《干货|详尽解释隔离见证》

原文作者:MagomedAliev

原文编译:阿剑,以太坊爱好者

比如说,有个设想是“闪电网络”;但是,要在比特币网络中实现闪电网络,条件似乎还不具备,因为比特币自身的一些缺陷。另一个解决方案“隔离见证”也致力于提高可扩展性,但它同时也解决了许多问题,包括闪电网络实现所需修补的一些缺陷。本文中我们会讲解隔离见证的优势及其工作原理。

隔离见证是一个由多个BIP描述的软分叉,其主要用意是优化比特币交易和区块的结构,将交易的签名”、“witness”或“解锁脚本”)从交易中移到一个独立的结构中。它不仅允许降低比特币交易的数据量大小,也能解决“交易熔融性”问题,对支付通道和闪电网络这样基于比特币交易结构的技术来说极为关键。

隔离见证如何工作

在开始之前

我们先要简单回顾一下比特币的支付系统。它并不像银行那样,是一套账户和余额的列表。相反,每个比特币地址的余额都是由一系列发送给这个地址的交易来表示的;交易这一数据结构的主要部分就是输入和输出。输入是我们想要花费的前序交易,而交易的输出就是我们的资金发送的目的地址。下图展示了比特币交易的结构:

ChatGPT金融业应用首批研究成果可解读美联储声明、预测股价:金色财经报道,Man AHL机器学习在4月发表了两篇新论文——《ChatGPT能否解读美联储表态?》和《ChatGPT可以预测股价走势吗?回报可预测性和大型语言模型》,将这一人工智能聊天机器人应用于市场相关的任务,一项是解读美联储的声明是鹰派还是鸽派,另一项是确定消息面对某只股票而言是利好还是利空。ChatGPT在两项测试中都取得了出色的成绩,暗示该技术在将新闻报道、推文和演讲稿等大量文字转化为交易信号方面,可能迈出了重大一步。(新浪财经)[2023/4/18 14:09:37]

输出中的PubKeyScript字段就是我们所说的“锁定脚本”。它用来保证只有接受地址的所有者才能使用这个支出。SignatureScript字段也就是所谓的“解锁脚本”,因为它是用来打开锁定脚本的钥匙,是用来证明地址所有权的。

有关比特币交易和锁定脚本、解锁脚本功能的更多细节,可看此处。

后向兼容性

实际上,隔离见证不仅改变了交易的结构,也改变了交易的输出。不过,这不是说传统类型的UTXO和SegWit类型的UTXO无法在同一笔交易中花费:这种情况下,传统类型的UTXO将在输入内加载所有权证明,而隔离见证类型的UTXO将在交易输入以外的结构中加载证明。

Velo实验室副董事Beam:解读Velo收购Interstellar背后布局:金色财经报道,3月17日下午16:00,金色财经与欧易OKEx联合举办“金色财经对话Beam:解读Velo收购Interstellar背后布局“,邀请Velo 实验室副董事长 Tridbodi Arunanondchai(Beam)作为嘉宾讲述背后故事。

在直播中,Beam表示,Velo的目标是建立一个赋能传统银行商业并将其与最新的中心化和去中心化商业相链接的桥梁。

在谈及本次收购的原因时,Beam解释道,Velo与Stellar有着共同的目标和愿景,并且双方在能力上互相补充互相赋能。Interstellar团队在提供更快、更低廉以及更稳定的给予Stellar网络的跨境支付方案中有着极深厚的经验。因此彼此的融合是一个非常自然的选择。这次合并将使其成为行业里更强、更有影响力的团队。[2021/3/18 18:56:33]

不管怎么说,隔离见证的定位是一个软分叉,这个升级应该是可以忽略,无需强制的,而且,这也意味着,未升级的节点应该可以处理隔离见证类型的输出。实际上,旧的节点和钱包将以为任何人都能花费这些UTXO,也即这些UTXO是空签名也可花费的,因此即使在交易中没有看到签名,交易也仍然是有效的。而升级后的节点和钱包将在交易输入以外的地方,一个专门的“witness”字段寻找签名。

案例

Pay-to-Witness-Public-Key-Hash

我们用例子来说明一下隔离见证会如何改变交易的数据结构。从标准的Pay-to-Public-Key-Hash(P2PKH)交易类型开始。

动态 | BitSG币星唐伯虎解读趋势之王ETF产品:今日(2020年2月17日)晚19:00,BitSG币星创始人唐伯虎通过社群与用户深度探讨了其最近推出的交易衍生品ETF,并与现货、杠杆、合约等投资方式进行对比,剖析了在趋势行情中ETF得天独厚的优势:一键多空、比现货赚、比合约稳、永不爆仓,完美平衡了收益与风险,唐伯虎认为ETF产品应用于主流数字货币市场拥有巨大优势,将成为行业的下一个热点投资渠道,BitSG币星ETF产品的独到设计融合了再平衡、复利等先进机制,将帮助投资者在趋势行情中取得意想不到的超高回报率。

ETF全称为Exchange Traded Fund,含义是可交易型基金。ETF在传统金融中主要应用于投资标的指数跟踪,并将底层资产的价格波动,按约定的杠杆反应在基金净值上,使投资者更便捷、更有效的获得价格波动产生的收益,是一种低操作门槛、高应用覆盖的成熟金融衍生品。[2020/2/17]

我们感兴趣的部分是输出,尤其是其“scriptPubKey”字段。我们先考虑一种标准的锁定脚本:

而隔离见证之后的锁定脚本如下所示:

动态 | 江卓尔解读甘孜藏族自治州通知:冬天枯水期发电少,挖矿的就不要用了:金色财经报道,就甘孜藏族自治州发布《我州积极做好迎峰度冬保电工作》通知一事,江卓尔发微博称,看标题,翻译一下:虽然我们四川甘孜州,夏天丰水期弃水弃电很多,欢迎你们挖矿来用,增加我们收入,但是现在冬天枯水期了,发电少,你们挖矿的就不要用了,各电站要把大部分电卖给电网,不要自己矿场用光光,不然我们电就不够用了,还要从外面买电。[2019/12/26]

如你所见,隔离见证的输出比传统类型的输出要简单很多:只有两个值会被推入脚本执行栈中。如我们上面说得,旧版本的比特币客户端会以为这个输出是掉在地上的钱——无需提供签名就能花费这个输出。不过,新的客户端会将第一个数字解释为版本号,而第二个则对应着一个锁定脚本。在现实中,只有压缩公钥的哈希值可以用在这里。这一点我们后面再说。

再来看看这个输出被花费时的情形。传统交易的输出在花费时的数据结构如下:

但是,在花费一个隔离见证输出的时候,交易的scriptSig将为空,而所有的签名都会放到一个专门的地方:

声音 | EOS pacific创始人解读EOS宪法2.0:删减多条目是为仲裁机构减轻压力:今天,EOS pacific创始人王栋在引力生态峰会上表示,BM推出的宪法2.0版最核心的有以下几个方面:

1、CODE IS LAW。所有的法律都应代码化,即使代码有BUG。

2、BM进一步诠释合约,把整个合约清晰定义。如果各方理解有不同,才需要仲裁员出现。仲裁机制主要的工作范围已经大幅度缩小。

3、私钥的丢失是个人的责任,不是通过仲裁可以解决的问题。

4、在智能合约定义的范围内,仲裁能冷冻Token的转移。

王栋还表示,EOS宪法从1.0版的20条减到9条,把很多东西去掉,就是让Token不要根据自己对宪法的理解套用自己的情形,无限的给仲裁机构施加压力。[2018/7/15]

在P2SH中嵌入隔离见证

我们已经看到,使用隔离见证是有好处的。不过,上面的例子只对发送者和接收者都有升级软件的情形才适用。但现实并不总是如此。考虑这样一种情形:

Alice希望给Bob转账一些btc,Bob有支持隔离见证的钱包软件而她没有。他们显然只能用标准形式的交易,但Bob希望使用SegWit来减少手续费。

这时候,Bob可以创建一个包含了SegWit脚本的P2SH地址、Alice会把这个地址当成一个普通的P2SH地址,因此可以直接向这个地址转账而没有任何问题。但Bob可以使用SegWit交易来使用这个输出,并获得手续费折扣。

这就是SegWit交易的两种类型P2WSH和P2WPKH在P2SH内实现的方式。

P2SH(P2WPKH)

想在P2SH交易中实现一笔P2WPKH交易,Bob需要使用其公钥创建一个见证程序。然后把结果哈希、转码成一个地址:

在一开始,我们创建的赎回脚本会经过一次哈希计算,如果结果符合锁定脚本中的哈希值,这个脚本就会得到执行,程序会验证放在witness字段的签名。

P2SH(P2WSH)

P2WSH脚本也可以用P2SH来实现。我们考虑上面所说的2-5多签名钱包的例子。所有的步骤都跟P2SH(P2WPKH)没什么区别:

首先,创建一个见证程序:

第一个数值是版本号,第二个数值是32位的SHA256哈希值,对应于我们的签名脚本。然后我们拿这个见证程序的HASH160哈希值转成一个普通的P2SH地址。要使用发往这个地址的输出时,我们需在scriptSig字段公布这个见证程序,在witeness字段提供完整的多签名脚本。

隔离见证的好处

梳理清楚技术的部分之后,我们就可以理解隔离见证的主要优点了。

交易熔融性漏洞

SegWit解决的一个关键问题就是比特币交易的“熔融性”,也即比特币交易的ID是哈希值这一点所带来的问题。我们详细说一下。

在以往的比特币交易中,签名是放在交易的输入部分的,第三方可以更改签名且不会让交易失效。这使得第三方可以在完全不更改交易的“关键”字段的前提下更改交易的ID。这样一来,交易还是有效的,含义也还是一样的,但是有了另一个ID,这可以用来执行另一种攻击,比如DoS攻击。

SegWit解决了这个问题,因为所有的签名都是放在交易外面的,因此签名的变动不会导致交易的哈希值变动,也就不会影响交易的ID。隔离见证还引入了一个专门的标识符,叫做“wtxid”:它是交易和整个witness部分的哈希值,所以如果一笔交易在传播时没有附带任何witness数据,交易ID就等于wtxid。

这个解决方案使得我们可以创建一系列前后相继的未确认交易,而无需担心任何风险,这对闪电网络这样的协议来说是非常重要的。。

网络和存储的扩展

Witness数据往往是交易数据中占比最大的一部分。在使用多签名脚本的交易中,witness最多可能占据交易数据量的75%。感谢SegWit,签名的传输变成了一个可选项:只有节点想要验证交易时,才需要请求这些数据。而没有支持SegWit的SPV客户端和节点也无需下载额外的数据,可以节省硬盘空间。

可用的区块空间扩大,降低交易手续费

SegWit类型的交易比以往的交易类型更便宜,因为它减少了需要存储的witness数据。准确来说,“Size”的概念在SegWit类型的交易上略有不同。它引入了一个“虚拟大小”的概念:所有放在witness部分的数据都会乘以0.25来计算数据量大小,从而一个区块中可以塞进更多的交易。来看一个例子。

假设我们有一笔传统类型的交易,数据量大小为200字节。那么1MB的区块里面可以放进5000笔这样的交易。而一笔等效的SigWit交易有120字节是放在witness区域的,因此其虚拟大小为80+0.25*120=110字节,所以区块可以放入9090笔这样的交易。如果上链的手续费是每字节40聪,则交易费会从8000聪减低到4400聪,几乎打了个对折。

脚本版本

你可能已经注意到了,每个锁定脚本都会有1个字节来表示脚本的版本。使用不同的版本号就能以软分叉的形式增加或变更功能。

签名验证的效率优化

隔离见证也优化了签名算法的效率。在SegWit之前,哈希计算的次数与签名数量的平方成正比,但有了隔离见证后,算法的计算复杂度就减低到了O(n)。

参考文献

Lightningnetworkindepth,part1:paymentchannels“Masteringbitcoin”—AndreasM.AntonopoulosBitcoinCoreblogManysegwitresourcesGoodarticleabouttxnmalleability

标签:WIT比特币SEGESSWitch Token什么是比特币工厂SegWit2xess币交易所

pepe最新价格热门资讯
俄罗斯央行第一副行长:购买比特币的投资者面临着“巨大”的资金损失风险

据Cointelegraph消息,俄罗斯中央银行第一副行长SergeiShvetsov在周三接受采访时表达该行对加密货币投资的担忧,并警告投资者可能存在亏损风险.

1900/1/1 0:00:00
哥斯达黎加央行:对加密货币持“警惕宽容”态度

据Oicanadian消息,哥斯达黎加央行行长RodrigoCubero发布一份名为“围绕数字货币和加密资产的一些考量”的文件,称央行对加密货币持“警惕宽容”态度:“央行宽容加密资产的存在和流通,以便为技术创新留出空间.

1900/1/1 0:00:00
美国金融服务公司 Broadridge 已将瑞银纳入其基于区块链的回购平台

巴比特讯,8月10日,美国金融服务公司BroadridgeFinancialSolutions宣布已将瑞士银行瑞银纳入其基于区块链的回购平台。回购是一种有担保的短期融资形式,借款人向投资者出售证券,并同意在指定日期和价格回购.

1900/1/1 0:00:00
Sorbetto Fragola因LP代币转移缺乏适当费用核算遭到攻击,损失近2070万美元

巴比特讯,8月4日,Peckshield发推表示,跨链收益率提升平台PopsicleFinance下SorbettoFragola产品遭到攻击,导致了约2070万美元的损失,包括2.6KWETH,5.4MUSDC,5MUSDT.

1900/1/1 0:00:00
融资新闻|NFT解决方案Iconic完成150万美元融资,Kenetic领投

在由区块链生态系统风险投资公司Kenetic和其他私人投资者领投的一轮融资中,Ioconic筹集了150万美元,以推动其在NFT和数字资产领域的雄心壮志。Iconic是首批为进入数字资产领域的品牌和个人提供整体解决方案的企业之一.

1900/1/1 0:00:00
第五届中国区块链开发大赛正式拉开帷幕!

为贯彻总书记在中共中央局第十八次集体学习时的重要讲话精神,落实《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》和《关于加快推动区块链技术应用和产业发展的指导意见》相关要求.

1900/1/1 0:00:00