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

比特幣軟分叉激活史(上)_比特幣:IP3

Author:

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

軟分叉激活指的是一個比特幣全節點開始增設一個或多個共識規則的瞬間。這種轉換會在節點之間產生協調風險。所以開發者多年來花了相當多的力氣來創建和提升軟分叉激活機制,以盡可能降低出問題的概率。

軟分叉使得網絡整體上可以切換到使用新的共識規則,即使不是每個節點都接受這些規則。不過,每當不同的節點使用不同的共識規則,就有某個區塊被一些接受但被另一些節點拒絕的風險,導致共識錯誤,最終可能出現資金的多重支付以及比特幣系統安全性信譽的損失。這是激活機制嘗試緩解的主要問題。

歷史

新的軟分叉激活提議通常被設計成避免之前的軟分叉已經遭遇的問題,所以本節嘗試概述之前比較著名的軟分叉激活嘗試。

硬編碼高度:共識層nLockTime啟用

這個已知最早的軟分叉在Bitcoin軟件0.1.6版本中實現,硬編碼在區塊高度31000處激活,實際發生時間是2009年11月22日。在大部分開發工作都是由中本聰完成時,這種硬編碼激活高度的方法至少還用在了另一個早期的軟分叉中。

加密交易員:比特幣的主導地位正在攀升并保持強勁:10月10日消息,加密交易員Bitbit BTFD發推表示,ETH和大多數山寨幣都反對比特幣,當然其中包括以太坊和Solana上的所有NFT。換句話說,比特幣的主導地位正在攀升并保持強勁。如果現在是2017年,那么這一定是比特幣再次上漲的信號。[2021/10/10 20:18:32]

硬編碼時間和手動干預:BIP12OP_EVAL?失敗

在中本聰離開比特幣之后,合并到比特幣的第一個軟分叉代碼是?BIP12?OP_EVAL。本來計劃是使用一個?硬編碼時間?和在支持變更的算力占比少于50%時手動干預的方法。引自BIP12:

新的客戶端和礦工將解釋OP_EVAL為一個no-op,直至2012年2月1日。在此之前,支持的礦工可以將“OP_EVAL”字樣寫在自己生產的區塊里面,方便我們計算支持的算力占比。如果在2012年1月15日之前沒有超過50%的算力支持這一變更,激活將會推遲,直到有超過50%的算力支持OP_EVAL。

數據分析:現貨溢價情況下,比特幣或將在未來幾周內穩固其價位:盡管比特幣在過去兩周出現反彈,但之前的價格暴跌確實對比特幣期貨市場產生了重大影響。在2020年初,比特幣期貨交易價格高于現貨價格,導致衍生品溢價上漲。事實上,在比特幣飆升至10145美元后不久,市場就開始大幅看漲。然而,根據Arcane Research的最新報告,目前比特幣期貨在各交易所的交易價格仍低于現貨價格,市場氣氛已發生轉變。Deribit的數據顯示,BTC-26JUN20合約的溢價為- 2.2%。此外,9月份的比特幣合約也出現了-0.6%的溢價。這種情況下的市場回報被認為處于現貨溢價狀態。現貨溢價是指市場預期較長期合約的價格會上漲,而較近期合約的價格會下跌。然而,現貨溢價的出現也是由于對一份即將到期的合約的高需求。在這方面,市場似乎對投資者有利,他們能夠進入多頭倉位,并從中獲得溢價。在現貨溢價狀態下,也可以推測大部分市場認為現貨價格將繼續下跌。在現貨溢價的情況下,比特幣有望在未來幾周內穩固其價位。(AMBCrypto)[2020/3/28]

手動干預可能是有必要的,因為?OP_EVAL?在激活代碼合并之后、推出之前,被發現有一個嚴重的漏洞。雖然這個bug被修復了,一些開發者擔心這個強大的新操作碼可能會有其它問題,所以人們就放棄了這次軟分叉。

比特幣全網未確認交易23658筆:金色財經消息,據btc.com數據顯示,目前比特幣全網未確認交易數量為23658筆,24小時交易速率為4.15 txs/s。目前全網難度為16.55T,預測下次難度上調0.63%至17.64 T,距離調整還剩11天23小時。[2020/3/11]

再次嘗試硬編碼時間以及手動干預:BIP16P2SH

人們提出了多個替代?OP_EVAL?的簡化提案。而BIP13/16支付給腳本哈希值獲得了大部分開發者的支持。P2SH使用了跟OP_EVAL一樣的激活機制。最初計劃的激活時間是2012年3月1日,但到了2月15開票日,在最后100個區塊中,只有不到50%的礦工表示他們會在3月之前執行BIP16規則。這導致了一個“相當長的替代鏈”,因為一些仍然在3月1日實行BIP16的礦工拒絕了來自多數礦工的區塊。第二次開票日是在幾千個區塊之后,3月15日;這一次它獲得了足夠多的支持。所以開發者在3月30放出了?Bitcoin0.6.0,將激活時間設在了4月1日。

動態 | 比特幣核心開發人員質疑XRP銷售 稱XRP不給用戶知情權:據The Daily Hodl今日消息,比特幣核心開發者Peter Todd于此前12月21日發推將Ripple數字資產的日常銷售與其通過初始代幣發售而出售的代幣進行比較,從而質疑XRP的銷售行為,稱稱XRP不給用戶任何知情權。對此,Ripple首席技術官David Schwartz回應稱,XRP早期銷售微不足道,從一開始,Ripple公司就由天使投資人投資,XRP的銷售是從已有成熟市場之后才開始進行的。而這一說法遭到了媒體The Block及其創始人的質疑。根據The Block的說法,Ripple于2016年開始出售XRP,并在最近幾年逐漸加快步伐,累計出售了價值12億美元的數字資產。隨后,David Schwartz回應并未透露Ripple 2019年收入中來自XRP銷售和與銀行合作出售軟件之間的百分比,并稱不透露這些數字這個決定也并非他的個人行為。[2019/12/31]

硬編碼時間:BIP30拒絕復制txid

動態 | 比特幣全網未確認交易37165筆:據btc.com數據顯示,目前比特幣全網未確認交易數量為37165筆,全網算力為51.05EH/s,24小時交易速率為4.15txs/s。 目前全網難度為7.46 T,預測下次難度上調5.06%至7.84 T,距離調整還剩10天3小時。截至目前比特幣全球均價為7995美元,最近24小時跌幅為5.79%。[2019/6/5]

P2SH的激活完成后,人們發現可能出現多個交易共用同一個txid的情況。就其自身而言,這個bug只會導致嘗試利用這個bug的用戶的資金被銷毀,但它也可以結合比特幣的默克爾樹構建中的一些奇怪的行為打破節點間的共識。第一個修復這個漏洞的軟分叉是BIP30,它簡單將使用同一個txid的后發交易標記為無效交易,如果前發交易還有沒花費的輸出的話。這個修復在開發團隊中沒有爭議,因此在包含P2SH激活參數的?Bitcoin0.6.0?中以硬編碼時間的方式激活。

IsSuperMajority(ISM):BIP34coinbase前綴

雖然BIP30修復了txid重合導致的短期問題,比特幣開發者知道這只是權宜之計,軟件沒理由每次收到一筆新交易都要搜索帶有未花費輸出的所有交易的索引。所以第二個解決方案開始提上日程,旨在消除讓txid復制變成實用攻擊向量的弱點。這就是?BIP34。對這一次更新,開發者使用了類似于BIP16P2SH的礦工投票方法,但這一次,準備好支持EIP34的礦工需要增加他們的區塊的?nVersion?的數值。更重要的是,開發者自動化了比特幣代碼中新規則的實行,因此他們可以在等待礦工升級期間發布支持軟分叉的軟件。這個來自BIP34的規則用一個叫做?IsSUperMajority()?的函數實現了。最開始它包含了一個單項的激活閾值,達到了便開始實行BIP34的新共識規則:

75%規則:如果最新的1000個區塊中有75%是vision2或者更大的,就開始拒絕無效的vision2區塊

在這個功能的開發期間,人們決定加入第二項激活閾值,決定性地修復使用BIP34所要解決的問題:

95%規則:如果最新的1000個區塊中有950個都是vision2乃至更大的,就拒絕所有vision1區塊

拒絕舊版本區塊這個規則的一個已知問題是,除非所有礦工都已經升級,每天都可能有幾個無效區塊產生。已經升級并執行ISM規則的節點會拒絕這些區塊,但更老的節點和輕客戶端不知道這個規則,所以會接受這些區塊。這會讓網絡比普通情形更加依賴于不在無效塊后面繼續挖礦的礦工。

ISM以及無驗證挖礦:BIP66嚴格DER激活

在2014年9月,PieterWuille?發現?OpenSSL在處理不同平臺的DER編碼簽名時存在分歧。這個可以被利用來,比如說,創建一個在Linux操作系統上可以通過驗證但在windows操作系統上會失敗的區塊——攻擊者定點創造鏈分裂。Wuille和其他幾位開發者秘密開發了補丁,并致力于以軟分叉激活,保證所有簽名都使用同樣的格式。BIP66就是為這件事創建的,在公開宣傳中,是作為移除比特幣對OpenSSL依賴的一步。在BIP66獲得用戶和開發者充分多的支持之后,它使用與BIP34相同的ISM激活機制,將區塊版本號遞增為v3,并要求達到95%的閾值后就拒絕v2和更低版本號的區塊。

75%的閾值在2015年7月4日達到,而95%閾值在區塊高度363725處達成,所有的節點都運行?BitcoinCorev0.10.0?乃至更高版本的軟件,開始實行新規則。不過,在區塊高度363731處,一個沒升級的礦工生產了一個沒包含當前版本號的區塊,在新的ISM激活規則下不是有效區塊。但其他礦工都在這個無效區塊后面繼續生產,最終產生了一條帶有6個無效區塊的鏈。這意味著未升級的節點和許多輕客戶端都會將第一個無效區塊中的96筆交易當成積累了6個區塊確認的交易,即使它們在當時還沒獲得過哪怕一個有效區塊的確認。最終,開發者只能聯系礦池運營者,讓他們手動重啟軟件并回到有效的鏈上。這樣的事件在第二天又重演了一次,使一些交易獲得了三次無效的確認。幸運的是,這六個和三個區塊中的所有常規交易,后來都打包到了有效區塊內,意味著普通用戶沒有損失。

最初位于363731高度的無效區塊就是僅僅因為使用舊的版本號而變成無效的、預計每天都有可能出現的約5%區塊之一。而下一個區塊是未升級礦工挖出的概率也是5%,所以連續兩個區塊都是版本號取消區塊的概率是0.25%。給定95%的礦工都已升級,連續6個區塊都是版本號無效區塊的概率是0.000002%——但罪魁禍首還不是極端壞運氣。沒有考慮到的是礦工可能會做“無驗證挖礦”,也就是礦工在收到一個新區塊之后,不加驗證,直接在后面繼續生產,這樣可以提高一點效率。雖然無驗證挖礦軟件理論上很容易就能處理無效區塊版本號,這個功能在當時挖掘那五個區塊的礦工所用的軟件中還沒有實現。最終,足夠多的礦工升級了他們的無驗證挖礦軟件,或者升級了他們的節點,而BIP66激活相關的意外鏈分裂就此絕跡。

為了應對這些導致?2015年7月出現分叉的問題,開發者加倍努力減少對無驗證驗證挖礦的需求,成果如?BIP152?壓縮區塊的中繼以及?FIBRE?軟件。開發者也開始思考一種更好的激活機制,也就是后面會提到的BIP9協議。

最后一次ISM:BIP65OP_CHECKLOCKTIMEVERIFY?激活

BIP66嚴格DER軟分叉之前,就有人提出要用軟分叉為比特幣增加一個新的操作碼?OP_CHECKLOCKTIMEVERIFY?,但因為修復OpenSSL漏洞而推遲了。這就體現了ISM機制使用遞增版本號的另一個弱點——一個礦工如果發出信號支持最新的提議也就隱含地表示了支持之前所有的提議。這就限制了使用ISM同時協調多個升級的能力。

不過,盡管BIP66激活時出了一些問題,ISM被再一次用到了推遲的?BIP65?的激活中。這一次就沒有再出問題了。

Tags:比特幣BIPIP3ISM比特幣是什么時候發行的bipt幣合法IP3價格ETNA Metabolism

幣贏交易所
比特幣再次去中國化:13家機構宣布退出大陸_比特幣:APP

原標題:比特幣再次去中國化:火幣、幣核等13家機構宣布退出大陸9月24日,央行、部等10個部委聯合發布了《關于進一步防范和處置虛擬貨幣交易炒作風險的通知》.

1900/1/1 0:00:00
資本市場對元宇宙狂熱 “元宇宙”商標注冊爆發_ETA:Metasphere

原標題:起底騰訊游戲“元宇宙”全家桶天美、光子、北極光、魔方四大工作室傾巢出動技術上能否實現暫擱一邊,反正“Metaverse元宇宙”概念是又火了一把.

1900/1/1 0:00:00
過中秋來虎符抽盲盒 神秘大獎等您來領_NOS:ANK

人間良時總有親朋美酒,共賞風月、音好花開。山水萬重亦能錦書遙寄,天涯此時、月圓人安。值此中秋佳節,虎符特別推出“過中秋來虎符抽盲盒”系列活動,無論新老用戶,參與活動即可獲取盲盒抽取次數,神秘大獎.

1900/1/1 0:00:00
在內幕交易爭議中 OpenSea 推出NFT應用程序_OPEN:NFTNDR幣

最大的NFT市場OpenSea將于本周四在GooglePlay和AppleAppStore中為用戶推出一款應用程序.

1900/1/1 0:00:00
NFT考古:最早的以太坊藝術市場誕生于2014年_以太坊:以太坊幣最高價格是多少錢

注:原文來自bankless,作者是WilliamM.Peaster。如果我問你,“最古老的以太坊藝術市場是什么”,你會怎么回答? 如果你的第一個猜測是在2015年7月以太坊主網啟動之后發生的事.

1900/1/1 0:00:00
尼日利亞央行數字貨幣eNaira官方網站上線,將于10月啟動試點_IRA:LUNAINU

9月27日消息,即將推出的尼日利亞央行數字貨幣eNaira的官方網站已經上線,距離預定的eNaira發布僅一周時間。根據THISDAY監控分析,該網站上線24小時后,已有超過100萬次點擊.

1900/1/1 0:00:00
ads