比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

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

Author:

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

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

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

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

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

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

美聯儲主席:比特幣市場有些泡沫:美聯儲主席鮑威爾以特殊目的收購公司(SPAC)和比特幣為例,稱市場有些泡沫。此外,鮑威爾稱,穩定幣應該有監管,但現在并沒有。(金十)[2021/7/16 0:55:45]

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

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

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

挪威公司Aker ASA設立比特幣投資部門:3月8日,挪威控股公司Aker ASA宣布設立新部門,專門用于投資于比特幣和區塊鏈技術。(路透社)[2021/3/8 18:24:46]

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

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

天橋資本創始人:比特幣可能在2022年2月達到10萬美元:美國對沖基金天橋資本(Skybridge Capital)創始人Anthony Scaramucci在接受采訪時表示,比特幣很容易突破10萬美元大關。他認為,在未來12個月,貨幣貶值可能會使美元供應量增加40%。持續的貨幣貶值使比特幣成為一種有吸引力的價值儲存手段。除了貨幣貶值,比特幣的數字特性和用戶增長也使它對企業更具吸引力。他表示,在宏觀經濟背景下,比特幣可能在2022年2月達到10萬美元。[2021/2/17 17:23:14]

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

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

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

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

動態 | 比特幣轉賬優勢凸顯:鯨魚轉賬4.685億美元的BTC僅需374.98美元手續費:據Bitcoinist消息,Whale Alert周一發推稱,比特幣鯨魚“Unknown Owner 26”支付374.98美元費用轉移價值4.685億美元的比特幣(49756枚)。雖然這種規模的轉移在加密世界中經常發生,但值得指出的是,這種轉移不需要提供個人身份信息,也不需要向當地和國際金融監管機構登記轉移。若Owner 26選擇通過西聯匯款、TransferWise或傳統的銀行機構進行匯款,費用會高得多。TransferWise是國際匯款的主要提供者,也是通過大銀行匯款的另一種選擇。如果使用TransferWise,發送者將被收取0.36%的費用。4.685億美元的匯款需要支付1684800美元費用。 Owner 26支付的費用比之前類似規模的比特幣交易要高。5月1日,一筆2.12億美元的轉賬僅花費3.93美元。費用的巨大差異或在于這筆交易使用SegWit地址進行轉賬。SegWit用戶支付的費用更少,交易也更快。 Whale Alert跟蹤Owner 26的另外3筆交易,每筆交易金額約4.5億美元。鑒于每筆交易的規模幾乎相同,似乎是某個加密貨幣交易所正在錢包之間轉移資金。[2019/7/30]

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

分析 | 比特幣多頭或是欲揚先抑:瑞海咨詢首席分析師Steven觀點:比特幣在突破10800(Coinbase價格)后,已經成功打破自14000以來的下跌趨勢線,并于昨日在10800成功構筑第二個低點,形成新的上升趨勢線;目前價格形成一個新的三角震蕩區間,如果價格能成功防守住11000-11200的關鍵區間,則可能延續反彈至11700附近;11000則成為日內多空分水嶺,10800將成為本周末的多空分水嶺。[2019/7/6]

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

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

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

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

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

Tags:比特幣BIPIP3VAL比特幣價格今日行情走勢圖bipt幣合法IP3幣Valuables

以太坊最新價格
比特幣:比特幣挖礦難度自 7 月以來飆升 31%

隨著比特幣網絡哈希率在全球礦工積累更多容量的情況下繼續恢復,加密貨幣變得越來越難以開采。根據區塊鏈瀏覽器 BTC.com 的數據,周二,比特幣網絡再次發布挖礦難度調整,上漲3.2%,達到近 19.

1900/1/1 0:00:00
區塊鏈:受迪拜王室邀請 虎符將出席迪拜未來區塊鏈峰會

9月14日,虎符(HOOExhcange)創始人Rexy W、全球執行主席華贊一同登上2021 FUTURE BLOCKCHAIN SUMMIT(未來區塊鏈峰會)官網首頁.

1900/1/1 0:00:00
元宇宙:元宇宙將如何塑造未來商業 并影響營銷業的發展?

想象一下在不久的將來,一個二月的陰雨天,您醒來,戴上智能眼鏡,接收每日天氣通知、會議、任務和其他日常待辦事項,然后這個設備會詢問您想在哪里喝每天早晨的咖啡.

1900/1/1 0:00:00
區塊鏈:創業老兵:區塊鏈企業進入企業服務市場的3點忠告

9月28日,在BSN全球合作伙伴大會上分論壇上,分布科技創始人達鴻飛、眾享比特副總裁陳鴻剛、量子鏈創始人帥初、宇鏈科技創始人羅驍以《企業服務的市場和機會》為主題展開圓桌討論.

1900/1/1 0:00:00
NFT:庫里花116萬買了一個頭像?NFT 不只是 Jpg 和 TXT

NFT,是在區塊鏈上唯一和可驗證的資產,一直是今年的熱門話題,但我在與專家的交談中得到的一個共同的看法是,它沒有任何意義。這也是主流媒體眼中的一個常見的觀點.

1900/1/1 0:00:00
DAO:DAO擴展需要克服的五個主要挑戰

比為一個DAO工作更酷的唯一事情是為所有DAO工作。但要做到這一點,您需要弄清楚所有DAO需要什么。這對我們來說也很棘手。所以在DAO峰會上,我們聚集了一些領先的DAO創始人、運營商和投資者.

1900/1/1 0:00:00
ads