网赚论坛

 找回密码
 免费注册
查看: 222|回复: 0
打印 上一主题 下一主题

隔离见证segwit的好处是什么?

[复制链接]

17

主题

125

帖子

68

积分

Ⅰ级财主

Rank: 1

积分
68
跳转到指定楼层
楼主
发表于 2017-11-21 02:36:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来自大神daniel social


layoutnameidtitlepermalinkversionexcerpt
post
segwit-benefits
en-segwit-benefits
隔离见证的好处
/en/2016/01/25/segwit-benefits
1
This page summarises some of the benefits of segregated witness that go beyond simply increasing the capacity of the block chain. 本页总结了一些隔离见证的好处, 不仅仅是增加块链的容量。

隔离见证软分叉(segwit)包括很多的特性,其中许多是技术性很强的。 此页面总结了那些除了增加块链的容量之外特性的好处。

修复延展性问题
比特币交易是由一串64位的十六进制哈希交易ID(TxID)标识的,这是基于 交易中币的来源和币的接收者确定的。

不幸的是, TxID的计算方法允许任何人可以对交易做小的修动,虽然不会改变交易的内容,但会改变TxID。 这就是所谓的第三方延展性。BIP62("处理可塑性")试图以一些方式解决这些问题 ,但是它太复杂了,以至于无法实现为共识检查,所以已经被放弃了。

例如,您可以发送TxID为ef74... C309到比特币网络,当网络中的节点中继 这笔交易,或者矿工打包交易到区块中的时候,它们可以轻微修改这笔交易,导致您的 交易仍然花一样的币,并支付到相同的地址,但是以完全不同的TxID 683f...8bfa出现。

更通俗的说,如果一笔交易的一个或更多个签名者修改他们的签名, 那么交易仍然有效 并且支付相同的比特币,以相同的地址,但这笔交易的TxID完全改变,因为它们组成签名。 更改签名数据(但不改变output或input)来修改交易的情况称为scriptSig延展性。

Segwit可以防止第三方和scriptSig延展性, 通过把比特币交易中的的可修改部分移动到 见证交易里, 并且分离后不影响TxID的计算。

谁将从中受益?

  • 钱包作者用来监控发出比特币: 这是最简单的,只需要监控发出的TxID的状态就 可以。 但是在存在第三方延展性问题的系统里,钱包必须添加额外的代码,以便能够 应对变化的txids。

  • 花费未确认的交易: 如果Alice在交易1支付Bob一些币,Bob在交易2 使用收到的付款支付给Charlie,然后Alice的付款发生延展性修改,并用不同的TxID 确认,那么现在交易2现在是无效的, 而Charlie查理就不会被支付。 如果Bob是值得信赖的,他会重新发出一笔交易给查理;但如果他不是,他可以简单 地保持这些比特币给自己。

  • 闪电网络: 第三方和scriptSig延展性问题修复后可以降低闪电网络实现的的复杂性 , 而且在使用blockchain的空间上将更加有效. scriptSig延展性删除后,它也可能运 行轻量级的lighting客户端服务去监测区块链,而不是每个lightning客户端都运行比特 币完整节点。

    任何使用区块链的人: 目前的智能合约,比如小额支付通道,预期新的智能合同, 将会变得不用那么复杂的设计,理解和监控。


注意:segwit交易只能在当所有input都是segwit交易(直接或经由一个向后兼容 的segwit P2SH地址)下避免延展性问题。

更多信息

  • Bitcoin Wiki on Malleability
  • Coin Telegraph article on 2015 Malleability attack
  • Bitcoin Magazine article on 2015 Malleability attack
  • "Overview of BIPs necessary for Lightning" transcript
  • BIP 62
  • BIP 140 -- alternative approach to malleability fixesStack exchange answer regarding 683f...8bfa transaction
线性增长sighash的操作
用简单的方法来增加比特币区块大小的一个主要问题是,对于某些交易,签名散列增长 是平方增长的, 而不是线性增长的。


在本质上,一个交易的大小增加一倍,签名操作的个数也增加一倍, 以及那些进行验证签名 需要哈希的数据也应该增加一倍. 但曾经已经出现过,一个单独的块需要25秒验证,其他 一些恶意设计的交易可能需要超过3分钟。

Segwit通过改变交易哈希签名的计算方式可以解决此问题,使得交易的每个字节只需要至 多两次哈希。 这提供了相同的功能但更有效率,使得大的交易仍可以产生而不会有签名 哈希问题,即使有人生成恶意的或更大的块(并较大的交易)也是支持的。

谁将从中受益?
删除验证签名需要的哈希数据的平方伸缩问题,使增长块大小更安全。这样做并没有 限制交易大小, 所以仍然可以继续支持支付或者接收来自于大的组织的比特币,比如挖矿 奖励或众筹服务。

修改后的哈希仅适用于从witness数据发起签名操作,所以从旧的区块发起的签名操作将 继续需要限制签名操作数下限。



https://github.com/danielsocials/website/blob/segwit-cn/_posts/zh_CN/posts/2016-01-25-segwit-benefits-zh_cn.md
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2025-1-7 06:58 , Processed in 0.171600 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表