以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

比特幣軟分叉激活史(下)_BIP

Author:

Time:1900/1/1 0:00:00

干貨|比特幣軟分叉激活史

歷史

BIP9versionbits:BIP68/112/113相對鎖定時間激活

BIP9?提出了一種新的激活機制來解決ISM的幾個問題:

沒必要地懲罰礦工:ISM激活會導致區塊版本號遞增,沒有遞增版本號的礦工所生產的區塊就會被當成無效的,即使這個區塊并沒有違反軟分叉的其它規則。舉個例子,在2015年7月4日的鏈分裂中,所有的交易都遵守軟分叉規則——這些礦工損失50萬美元的唯一理由就是升級要求區塊頭里應該包含一個?3?而沒升級的礦工使用了?2?。

很難并行化:使用ISM,即使開發者認為有必要,也必須等待一個分叉結束,另一個分叉才能開始收集信號。

不允許失敗:ISM不設過期時間。等待激活信號的節點軟件一旦放出,運行了新軟件的節點就會一直監控信號,直到激活完成。沒有辦法確定人們是不是完全不需要這個軟分叉。

不可預期的激活時間:無法提前知道確切的激活時間,意味著協議開發者、商戶系統管理員以及礦池運營者,都很難在激活之后短時間內立即投入使用,即使出現了需要快速反應的問題。

BIP9versionbits嘗試解決這些問題。它將區塊頭內的vision字段用作bit字段。這個字段里面的數據只用來表示信號——不會被當成無效區塊的依據——并且可以并行地設置。測量每2016個區塊運行一次,以壓縮某一小部分算力足夠幸運便能冒充95%支持的可能性。最后,當達到了95%的信號門檻,激活之前會有額外的2016個區塊的“鎖定期”,以便各方準備升級。如果過期時間之前未能達到激活的門檻,整個軟分叉的嘗試就結束,沒有用上的代碼可以在后來的軟件版本中刪除。

《富爸爸窮爸爸》作者:明年比特幣價格將觸及12萬美元:金色財經報道,《富爸爸窮爸爸》作者羅伯特清崎評論了金磚國家聯盟成員采用金本位制的最新舉措。羅伯特清崎表示,金磚國家可能會在下個月宣布推出黃金支持的加密貨幣,此舉可能會改變美元(USD)估值的現狀,考慮到美元即將貶值,清崎建議追隨者購買黃金和白銀,以對沖未來幾個月即將飆升的通貨膨脹。此外,清崎預測明年比特幣價格將觸及12萬美元。

金色財經此前報道,渣打銀行預測,比特幣今年可能達到5萬美元,到2024年底可能達到12萬美元。[2023/7/11 10:48:09]

這個激活方法第一次使用是在?BIP68?共識強制的序列號、BIP112?OP_CHECKSEQUENCEVERIFY?以及?BIP113?中位時間定義的nLockTime的軟分叉中。這個分叉很快進入了鎖定階段,然后自動進入了激活階段。

BIP9、BIP148以及BIP91:BIP141/143隔離見證激活

隔離見證軟分叉是用?BIP9?激活參數發布的。少數礦工很快地表示了支持,但支持率遠低于95%的門檻。一些比特幣用戶認為礦工是在不合理地拖延一個有用的新特性,所以開發出了自愿的激活措施,就是?BIP148。BIP148的最終形式指定,從某個日期開始,拒絕一切不支持segwit的區塊,

前SEC主席:現貨比特幣ETF應該獲得批準:金色財經報道,Watcher.Guru發推稱,前SEC主席Jay Clayton在采訪中稱現貨比特幣ETF應該獲得批準。然而,Clayton警告說,這些變化可能不會很快發生,并指出監管過程必須徹底。[2023/7/11 10:46:54]

實現BIP148的軟件出現后,網絡中就有了三類節點——不升級的節點,BIP9/141節點,以及BIP148/141節點——陷入共識錯誤的幾率更大了。如果礦工沒有支持隔離見證,而大部分用戶都繼續把這些區塊當成有效的,BIP148的用戶可能就會收到在其他用戶看來無效的比特幣。此外,如果大部分用戶都支持BIP148,但礦工繼續生產許多在BIP148看來無效的區塊,那些不實行BIP148的用戶就會接受BIP148用戶認為無效的比特幣。只有用戶都遵守同樣的規則,且大部分算力都支持BIP148規則,升級才是安全的。

一種降低風險的辦法是,給出足夠的時間,讓用戶可以升級到強制激活隔離見證的節點,但BIP148無法做到這一點,因為它的目標是觸發現有的BIP9流程,也就意味著,它要在BIP9到期日很久以前就強迫礦工發信號表示支持。作為BIP148可能不得人心的替代方案,BIP149?提議給用戶多一年的時間來升級。BIP149從未獲得足夠多的公開支持,但它是第一個使用?BIP8?的提案,而BIP8在未來幾年里引發了更多的討論。

CNBC主持人:買比特幣現在還不晚:7月28日早間,CNBC主持人Ran Neuner發推稱,買比特幣,現在還不晚。[2020/7/28]

在BIP148開始獲得重大的公開支持時,多個礦工、交易所和業界人士表示支持一個兩步驟的提議,在激活隔離見證的同時會與支持BIP148的節點保持共識。第一個步驟寫在?BIP91?中,它改進了BIP9的規則。礦工可以使用BIP9的位字段來表示他們是否會實行一個暫時的規則:拒絕一切不發信號支持BIP141/143隔離見證的區塊。與BIP9不同,BIP91的閾值從95%降到了80%,而其監控和鎖定期的長度從2016個區塊降低到了336個區塊。

BIP91鎖定并且激活了。隨后,BIP141/143鎖定并激活。在它們鎖定時,BIP148的強制支持措施過期。

這個來自礦工、交易所和業界人士的提議的第二個階段需要一個硬分叉,在遭到大量個人用戶和企業的激烈反對之后,提案的簽名人撤回了這個提議。

至今,人們仍然在爭論,這些事件以及同期發生的其他事件,到底為隔離見證激活造成了多大的影響。

緊急激活

不止一次,人們在共識代碼中發現了嚴重的漏洞,開發者沒有經過激活的流程就放出了補丁。這樣做可能導致共識失敗,但也為升級的節點立即消除了漏洞。重大的事件包括:

推特網友:加拿大某油礦廠開始挖掘比特幣:4月4日,推特網友Steve Brrrbour發推稱,因為石油市場進展緩慢(油價表現差),加拿大某油礦廠開始挖掘比特幣。[2020/4/5]

使用chainwork來替換高度:比特幣一開始認定最多區塊的鏈為有效的鏈。如果每個區塊都有同樣的難度,那這樣的最長鏈同時也會是積累了最多工作量證明的鏈。但是不同的區塊有不一樣的難度,所以?chainwork?軟分叉在?Bitcoin0.3.3?中放出,將累積最多工作量證明的鏈視為有效鏈。

消除繞過腳本的bug:比特幣一開始將花費UTXO的腳本和保護UTXO的腳本結合起來、同時求值。這種設計使得人們可以在鎖定機制計算之前就終止腳本,以成功狀態退出,例如,在運行?OP_CHECKSIG?以檢查簽名之前就終止腳本。這個bug最初被報告為?使用?OP_TRUEOP_RETURN?的scriptSig可以花費任何人的比特幣。這個漏洞在?Bitcoin0.3.6?中第一次修復,辦法是讓?OP_RETURN?必定以失敗收場,而且為腳本的其它顯示安排了數字。雖然所有這些變更都是軟分叉,但相同代碼的修改也會造成硬分叉式的更改。即使是這么重大的變更,scriptSig可以篡改scriptPubKeys運行的底層問題仍然存在,所以第二次軟分叉在?Bitcoin0.3.8?中實現,它讓兩者獨立執行。

NEO創始人達鴻飛:比特幣的價值來源于社群共識 因此比特幣不存在泡沫:1月4日,NEO(小蟻)創始人達鴻飛在全球區塊鏈G3峰會上表示,比特幣的價值來源于社群共識。雖然比特幣當前價格不穩無法成為計量單位,但已經是有效的交換媒介和價值存儲。達鴻飛預計未來可能不需要全功能貨幣,因此比特幣不存在泡沫,未來發展潛力巨大。[2018/1/4]

修復溢出漏洞:某人創建了一筆交易來花費0.5btc并創建了兩個價值92,233,720,368.54277039BTC的輸出。比特幣的確要求輸出的數值不能大于輸入的數值,但檢測方法是把輸出的數值加入到一個最多能表示9,223,372,036,854,776聰的64位整數中,這個整數溢出后就會從-9,223,372,036,854,776聰開始。這就意味著,這個交易似乎只花費了總計-0.1btc。這還繞過了另一條規則,就是禁止單個為負的輸出,但是不禁止總計為負的數值——因為它假設了任何正值的總和都仍會是正的。這使得某人創造出了1840億btc,而且這樣的把戲可以不斷重復,沒有任何代價,產生無數的比特幣。幾個小時內,Bitcoin0.3.10?放出了一個軟分叉補丁,限制輸出為2100萬btc。它還要求放棄帶有溢出交易的鏈——這是有意制造的共識失敗,但為了比特幣仍然有意義就必須這么做。

臨時修復BDB鎖定問題:2012年初,比特幣開發者意識到,如果同時對UTXO數據庫做太多更改,可能會超出鏈狀態數據的默認容量限制之一。因為當時的比特幣區塊比較小,只有在區塊鏈重組、需要同時處理來自多個區塊的交易時才會觀察到這個情形。當時人們實現了一個簡單的解決方案:在重組期間,一次只處理來自一個區塊的交易。后來,一些人開始請求礦工把可選的默認區塊大小從250KB提高。在2013年3月12日,某個礦工生產了一個約1MB的區塊,包含了超過1700筆交易——也是截至當時最大的比特幣區塊——在許多節點上都超過了數據庫的容量,導致它們認為這個區塊時無效的,即使它完全符合比特幣的明示的共識規則。把水攪得更渾的是,一個新版BitcoinCore已經發布,它用上了不一樣的數據庫引擎,沒有這種限制,因此也能安然地接收這個更大的區塊——所以不同版本的節點之間出現了共識錯誤。在快速分析了情況之后,開發者鼓勵用戶暫時降級到舊版本,然后更新到一個緊急版本,以軟分叉暫時將區塊大小的上限降到500KB,好留出時間讓每個用戶都能升級新的數據庫引擎,而這種暫時的下調會在幾個月之后自動過期。

未來的激活

Segwit激活幾個月出現問題之后,一些人開始考慮?BIP8。BIP8的支持者們認為它能解決BIP9的一些問題:

允許強制激活:BIP8是BIP148的一般化,礦工可以在等待激活的時間段里自愿發信號表示支持,但它還設了一個最后通牒時間段,礦工在這段時間里必須發信號表示支持,否則所生產的區塊就有可能變作無效的。后來,人們設計了一個參數?LockinOnTimeout?來觸發這種動作:使用?LOT=true?的節點,會要求礦工在激活即將超時的最后一段時間里發出信號;使用?LOT=false?的節點,不會這么要求,但如果有足夠多的區塊帶有信號,仍然會實行新規則。

使用高度而非時間:BIP9開始和停止監控激活信號的時間都基于礦工寫入區塊的時間的平均值。所以礦工是有可能操控這個時間的,這會阻礙?LOT=true?的功能,所以BIP8提議使用區塊高度而非時間。

BIP8的靈活性使其成為了?taproot?軟分叉的多種候選激活提案之一,雖然批評者也批評了它的某些方面,比如某些設置允許礦工拒絕激活得到廣泛社區支持的提議、鼓勵一個團體?“俘虜”另一個團體所用的信號機制、要求礦工對所生產的區塊作沒有實質意義的更改、看起來給了開發者凌駕于共識規則的權威以及提高了共識失敗的風險。截至本文撰寫之時,taproot激活方法的討論仍在進行。

其它想法也一直在討論,包括“概率性的軟分叉激活”、“多階段軟分叉激活”、“閾值遞減型激活”、“返回硬編碼高度或時間的激活”,以及“激活推遲后使用更短信號期的方法”。

主要的代碼和文檔

BIP9

BIP8

Optech新聞和網站相關部分

又見

BIP激活高度、時間和閾值

Taproot

原文鏈接:

https://bitcoinops.org/en/topics/soft-fork-activation/

作者:?BitcoinOptech

Tags:BIP比特幣BITITCOMobipad比特幣行情軟件myHuobi Bitcoin Cashbitcoinhd

火幣APP下載
SEC強監管穩定幣 Facebook注定要打一場“失敗之仗”?_CEB

金色財經區塊鏈9月22日訊?美國證券交易委員會主席GaryGensler近日接受《華盛頓郵報》專欄作家大衛·伊格內修斯的采訪,在談到穩定幣時言辭激烈,他認為穩定幣現在就像賭場里的撲克籌碼一樣.

1900/1/1 0:00:00
Newland:去中心化Staking的價值與未來展望_NEW

現階段,區塊鏈技術的快速發展正推動著去中心化金融體系加速更迭,很多專家學者認為,去中心化是未來金融體系的必然趨勢,而長期以來,加密世界的原住民也對此深信不疑.

1900/1/1 0:00:00
閃電網絡的漏洞?_比特幣

每當有人提到比特幣網絡是多么的緩慢和昂貴,最常見的反對比特幣論點是閃電網絡——“比特幣是更好的!”閃電網絡是即時的,而且不收費!”這是一個典型的轉移注意力的方法.

1900/1/1 0:00:00
一文說透社區社交DAOs_DAO

在加密領域中,2020是DeFi時代,2021是NFT時代。2022則將是社區DAO的時代。社區DAO=DeFi?基礎設施?+NFT?商業模式?+?富有創意的人們 加密不僅僅是一種技術,它還是一.

1900/1/1 0:00:00
金色DeFi日報 | 1inch Network上線Arbitrum One_NFT

DeFi數據 1.DeFi總市值:1162.64億美元 DeFi總市值數據來源:Coingecko2.過去24小時去中心化交易所的交易量:36.

1900/1/1 0:00:00
了解預言機:Solana必不可缺的DeFi基礎設施(下)_EFI

互聯網為人們進入金融系統提供了一種非常有效的方式,而DeFi為人們獲得金融服務提供了一種更便捷有效的途徑。DeFi是一項全球性的技術,是一項完全出乎意料和極具創新性的技術.

1900/1/1 0:00:00
ads