作者:bai li
链接:https://www.zhihu.com/question/52644297/answer/162827401
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

常聽到比特幣需要「擴容」、然後又討論要不要支援「SegWit 隔離見證」,到底這個「SegWit 隔離見證」是甚麼?

它對比特幣會有甚麼影響?隔離見證(SegWit)背景「隔離見證」的英文是「Segregated Witness」,一般會簡稱為「SegWit」,是 Bitcoin Core 團隊提出的比特幣擴容方案之一,目前最多人使用的 比特幣節點(node)軟體就是 Bitcoin Core 所開發的,他們 團隊 裡面也有很多知名的比特幣與區塊鏈開發者,所以他們在比特幣社區的「江湖地位」也比較高。

隔離見證起初的目標是為了解決比特幣的 交易延展性(transaction malleability)攻擊問題,但因為隔離見證所用到的技術也可以令比特幣交易功能更多樣化,所以逐漸變成解決擴容問題的其中一個可行方案。

比特幣擴容問題有用比特幣的朋友或許會察覺到,近年傳送比特幣都需要等好一段時間對方才會收到,如果不幸設定的手續費過低,甚至可能會等上好幾天才能完成交易。出現這種狀況是因為比特幣網絡正面對「擴容問題」,因為比特幣區塊鏈每個區塊的容量有限(目前是 1MB),如果鏈上交易要求數量太多,一個區塊容不下所有交易,手續費較低的交易會先被忽略,直到有區塊有空間可以容下它們,這些交易才會被處理。

試想像比特幣的區塊是一架公車,而每一筆交易都是一個人,當要乘公車的人超過公車容量,不能上車的人就要等下一班,如果公車容許付較高車資的人先上車,那不願付高車資的人就要一直等下去。

那把區塊容量增加不就將問題解決了嗎?有些比特幣的開發者也是這麼想,所以在比特幣歷史中,就出現過幾個增加容量的建議方案,包括 Bitcoin Classic(2MB)、Bitcoin XT(8MB/20MB)和最近出現的 Bitcoin Unlimited(無限容量)。

那為什麼 Bitcoin Core 堅持保留 1MB 容量、還特意外加一個 SegWit,而這個看似比較複雜的方案,竟然是目前支持度最高的?

隔離見證擴容方案隔離見證的擴容方案主要分兩個部份,第一個部份是將區塊上限提升到最多 4MB… 喂!等一下!

剛不是說 Bitcoin Core 堅持保留 1MB 容量嗎?沒錯!隔離見證並沒有把比特幣原來的區塊容量改變,1MB 這個容量是被保留下來,但在這 1MB 之上,外加一個 3MB 的 SegWit 資料區塊,利用英文可能會表達得簡潔一點:
SegWit replaces the 1MB block-size limit with a 4MB block-weight limit

大家應該會察覺到「block-size」與「block-weight」兩個不同的字,所以隔離見證不像其他擴容方案那麼直覺地把區塊容量(block-size)變大,而是把區塊的「載量」(block-weight)增加。

聽起來很複雜?沒搞懂我在講甚麼?我們把公車的例子再搬過來講吧!

現在公車大小沒有變,要搭車的人還是一樣多,擠不上去的還是一大堆;這個時候我們在公車後面掛一個像露營車的貨車(SegWit 車箱!),所有上公車的人都要把背包和行李放到這個貨車上面,因為少了隨身物品,每個人佔的空間變少了,那公車就可以多載一些人,乘載量就變多了。

隔離見證的 3MB 區塊會把交易細明包括交易地址、金額、認證資料等分開來處理,從而提升原有 1MB 區塊能盛載的交易數量,效果跟直接把區塊變大差不多,而且這些本來雜七雜八的交易資料被分開處理掉,解決垃圾交易訊息擠滿原有區塊的問題。

閃電網絡(Lightning Network)說了這麼多還是在講隔離見證方案的「第一個部份」(這部分確實比較難理解),方案第二個部份是在比特幣網絡上再外加一個「閃電網絡(Lightning Network)」的東西,把原有比特幣鏈上金額較少的交易,轉移到這個閃電網絡來處理,完成後再記錄到原鏈上。

這是一種「鏈外交易(Off-chain transaction)」,目的是解決「微支付(micropayment)」所遇上的問題,加快交易速度,以太坊(Ethereum)也有類似的方案叫「Raiden Network」,我們之後會再詳細探討這種技術。

在公車路線旁邊再架一條鐵路,讓擠不上公車的人直接去坐火車,這樣子解決掉太多人要搭公車、而公車太小的問題。

隔離見證主要就是透過這兩種方法,雙管齊下去把擴容問題解決,因為在理論與技術層面都把比特幣交易網絡提昇到另一個層次,讓比特幣可以跟一般電子支付的功能和速度媲美,所以被認為是最好的解決方案,目前支持度比較高。

隔離見證啟動時間Bitcoin Core 團隊給了一個啟動隔離見證的時機,就是當 95%的網路算力都支持啟動,隔離見證就會被實裝。

為甚麼要 95%呢?因為如果支持度不夠,整個比特幣網絡就有機會被分裂成兩半,然後就會出現兩種不同的比特幣,嚴重影響比特幣的生態和經濟價值;但只要有 95%的算力支持,其餘的 5%會因為算力不足、沒有足夠礦工處理交易和保障網絡安全而慢慢被淘汰。

(转)SegWit 与 Lightning Network相关推荐

  1. Lightning Network模拟器

    Lightning Network模拟器入坑记 (边学习边总结边提高) 一.简单介绍 为什么要做Lightning Network模拟器的实现: 研究需要通过模拟闪电网络来进行一些实验,从而更深层次的 ...

  2. 闪电网络简介Lightning Network

    区块链很慢,而且昂贵.闪电网络(Lightning Network)就是解决这个问题的.如果我不得不发送给你一些比特币,你会在几个小时内收到它们,而且我也支付了很高的交易费.凭这样的声誉,Blockc ...

  3. 第16课 闪电网络(Lightning Network) 之 HTLC

    有兴趣朋友也可以进一步关注公众号"架构之道与术", 获取原文. 或扫描如下二维码: 在第14课 闪电网络(Lightning Network) 之 RSMC 中,我们知道了RSMC ...

  4. 最易懂的闪电网络Lightning Network的简介

    区块链很慢,而且昂贵.闪电网络(Lightning Network)就是解决这个问题的.如果我不得不发送给你一些比特币,你会在几个小时内收到它们,而且我也支付了很高的交易费.凭这样的声誉,Blockc ...

  5. 【译】 Sparky: A Lightning Network in Two Pages of Solidity

    目前,缩放比特币的主要想法是Lightning网络,它可以让人们在脱链时完成大部分交易,并且偶尔会在实际区块链上解决余额问题. 就像我之前描述的拱顶一样 ,在以太坊上它变得更容易. 这个基本想法被称为 ...

  6. Blockchain性能扩容(1)- (Size, Segwit, Sidechain)

    区块大小扩容(Block size) 比特币引入1MB区块大小的背景是大量的粉尘攻击导致区块巨大,区块需要同步的时间长,从而引发DOS(Denial of Service).同时全节点的带宽,存储要求 ...

  7. Flalsh Lighting Network(闪电网络)

    注明:本文参考了如下链接: 原文链接 Understanding the Lightning Network, Part 1 Understanding the Lightning Network, ...

  8. 不是有效的win32应用程序_闪电网络走进生活还远吗?Lightning Labs推出Alpha版本桌面应用程序...

    Lightning Labs(闪电实验室)刚刚发布了闪电网络钱包的alpha版本.其桌面应用程序现在与比特币的主网络兼容,它利用Neutrino协议(协议名称,不是Coinbase收购的数据分析公司) ...

  9. Core禁用BIP70或只为制造闪电网络硬需求

    ​​在Core表示将要在BTC上彻底禁止BIP70后,引起了BTC社区的广泛讨论和争议.reddit/Bitcoin的用户表示:"Core在默认情况下删除了BIP70,为什么我们作为用户却不 ...

  10. 比特币前首席开发人员:LN可能还需要18个月

    在昨天,推特账号Bitcoin发推称:"比特币的闪电网络是否已经准备好大规模采用?但系统好像充满了未解决的问题,"并贴出了一张用户在使用闪电网络过程中的不愉快体验截图.在这条推特的 ...

最新文章

  1. 计算机排版基础知识,计算机排版基础知识.pdf
  2. 青云服务器安全设置器2.3最新版版提供下载
  3. 80后的网上创业生涯:想得到做得到
  4. 如何修改textarea中placeholder的字体
  5. SCF: 简单配置门面
  6. c++对象回收问题_从垃圾回收解开Golang内存管理的面纱之三垃圾回收
  7. client mysql 逗号_Mysql-Client编码问题
  8. Mybatis中的@SelectKey注解
  9. 重大要素改变中的机会选择包括_重大要素改变中的机会选择包括:
  10. Postgresql 批量导入导出表数据
  11. html插入视频时不自动播放,html5中嵌入视频自动播放的问题解决
  12. QT5.12界面再win10下总是莫名卡死
  13. xlinx ISE的程序下载
  14. 毕业论文中计算机代码重复吗,知网查重程序代码算重复吗?
  15. 虚拟机体验NAS私人云(第四篇):虚拟机安装群晖DSM7.01系统(附赠新版DS918+和DS3615xs启动映像)
  16. LuoguP3356 火星探险问题(费用流)
  17. windows的ping测试脚本
  18. 赶紧更新!PC版微信被曝高危0day漏洞;特斯拉Autopilot源码窃取案尘埃落定
  19. 第九周项目六--三色球问题
  20. Win2003 IIS6.0性能优化指南

热门文章

  1. mac 删除文件夹里所有的.svn文件
  2. linux下iptables实战
  3. Mybatis-学习笔记(10)调用存储过程、存储函数
  4. 使用Quartz.Net定时删除Log
  5. 00110_Class类
  6. 分布式系统常用思想和技术
  7. TQJson序列和还原clientdataset.data
  8. linux下文件和目录的颜色表示
  9. [转载] Ajax中使用Response.Write输出javascript脚本出错的解决办法
  10. 『nForce主板』巧妙去掉“安全删除硬盘”图标!