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

比特幣:比特幣安全嗎?深入探索比特幣的安全模型(下)

Author:

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

干貨 | 深入探索比特幣的安全模型(上)

另外,每個區塊鏈系統都將創世塊硬編碼到了節點軟件中。你可能會覺得,“共享歷史” (即,賬本)是一種社會契約 —— 一旦某個區塊的歷史足夠悠久,網絡中的所有參與者之間都會達成共識,認為這個區塊永遠都不會被回滾。當開發者選定一個早期挖出的區塊并用它來創建檢查點時,更多是作為一種公認的完整性檢查,而非對歷史的客觀描述。

除了檢查點之外,節點如何實現自引導也是一個問題。目前,比特幣節點的自引導流程是檢查節點是否在本地存儲了之前從對等節點那里了解到的數據。如果沒有的話,節點將查詢一組被硬編碼到軟件中的 “DNS 種子”。這些種子負責維護一個連接良好的比特幣節點的列表,并將這個列表返回給你的節點。

正如我們可以從代碼中看到的那樣,Bitcoin Core 0.13 目前使用由 Pieter Wuille、Matt Corallo、Luke Dashjr、Christian Decker、Jeff Garzik 和 Jonas Schnelli 運行的 DNS 種子。任何人都可以使用 Pieter Wuille 的比特幣種子生成器軟件或?Matt Corallo 的軟件來運行 DNS 種子。但是,他們必須說服某個全節點實現的開發者將他們的 DNS 種子主機添加至對方的軟件。

比特幣核心客戶端Bitcoin Core 25.0已正式發布:5月26日消息,Bitcoin Core 25.0 已正式發布,該版本包括新功能、各種錯誤修復和性能改進,以及更新的翻譯。Bitcoin Core 運行者需將舊版本完全關閉后進行升級。Bitcoin Core 可在使用 Linux 內核、macOS 10.15+ 和 Windows 7 及更高版本的操作系統上運行,同時包括大多數其他類 Unix 系統。[2023/5/26 9:44:57]

新節點的引導過程僅僅依賴 6 個 DNS 種子,這看似又是一個極端中心化的單點問題。但是別忘了,比特幣的安全模型只需要你連接到一個誠實的對等節點,就足以抵御女巫攻擊。

因此,一個新的節點只需能夠連接到一個沒有遭受攻擊的 DNS 種子即可,這個種子會返回誠實節點的 IP 地址。但是,為了防范所有 DNS 節點因某種原因全都無法訪問的情況,還有一個備用方案 —— 一個被硬編碼到軟件中的可靠節點 IP 地址的列表,會隨著每個新版本發布而更新。

在圍繞這些初始化參數構建的安全模型下,全節點運營者不需要信任 X 個 DNS 種子或 Y 個 Bitcoin Core 軟件開發者會向他們提供真實的數據,只需要相信有 1/X 的 DNS 節點沒有遭受攻擊,或 1/Y 的 Bitcoin Core 軟件開發者會誠實地審查被硬編碼的對等節點更改的有效性即可。

“比特幣再次站上40000美元”登上微博熱搜榜:微博熱搜數據顯示,“比特幣再次站上40000美元”登上微博熱搜榜,現排名第48位,熱度136961。[2021/2/6 19:05:14]

從更深層次來看,你在運行一個全節點時,會在一定程度上信任你正在運行的硬件和軟件。

你可以采用多種方法將你的二進制文件的簽名與?van der Laan 的進行核對,以此驗證軟件是否可靠,但是很少會有人愿意惹這個麻煩。至于如何驗證硬件的可靠性,這是個棘手的問題。如果你需要一個安全的硬件解決方案,最接近的選擇是?ORWL。如果有人試圖篡改 ORWL,會觸發它的 “自毀” 機制。

但是,由于 CPU、RAM 等重要硬件通常都是專有的,你永遠也無法 100% 確定它們不會遭到入侵。

當你開始研究比特幣系統中不同參與者之間的關系時,會發現自己如墜五里霧中。

運行全節點的目的是保護你的金融主權。這就意味著,一旦你安裝并運行了特定版本的軟件,即表明你與該軟件以及其他所有網絡參與者都達成了一項協議 —— 不僅你會遵守該軟件的規則,而且其他網絡參與者也必須遵守這些規則。

聲音 | 比特幣核心開發者:已將Parity2.6.8完全同步到以太坊區塊9,390,000:比特幣核心開發者、Casa的技術總監Jameson Lopp今日發推特稱,我的基準測試計算機花了9天2個小時將Parity2.6.8完全同步到以太坊區塊9,390,000。它執行超過47TB的磁盤讀取和42TB的磁盤寫入。[2020/2/2]

因此,如果人們想要對軟件的規則做出無法向后兼容的更改,你必須運行新版本的軟件來表示你明確同意這些規則更改。另一方面,如果是向后兼容的規則更改,即使你不同意,也可以在網絡中實行。

有人高度概括了比特幣內部的分權制衡:

比特幣治理的三大權力部門:

全節點(可以否決礦工和開發者)

礦工(可以否決開發者)

開發者(可以幫助其他人繞開某些否決)

需要注意的是,全節點軟件不會自動更新,這是設計使然。自動更新會導致權力的天平向開發者傾斜,讓開發者可以在未經節點和礦工許可的情況下強制更改規則。

比特幣期貨收跌約2%:CME比特幣期貨BTC 6月合約收跌約2.12%,報9235美元,5月3日以9675美元創3月7日以來主力合約收盤最高位。CBOE比特幣期貨XBT 6月合約收跌約1.97%,報9220美元,5月4日以9705美元錄得3月7日以來主力合約收盤最高位。[2018/5/9]

可惜的是,雖然規則更改在技術層面上有可能是向后兼容的,但是多年來的經驗告訴我們足夠有創意的軟分叉也是可以實現違背舊版本規則的更改的。例如,Vitalik Buterin 曾經提過這樣一個設想:通過軟分叉將比特幣的區塊時間從 10 分鐘縮短到 2 分鐘,這必然會加快比特幣的發行速度。

面對不喜歡的軟分叉,全節點有一張王牌:利用硬分叉與其他支持軟分叉的礦工劃清界限。這(在設計上)執行起來很難,而且引發了關于如何衡量共識和找到經濟比重高的節點等諸多問題。

從技術上來說,這種硬分叉可以通過將挖礦算法從雙 SHA256 改成另一種哈希函數來實現。一旦成功,所有 SHA256 ASIC 礦機將無法用來挖比特幣。因此,節點運營者應該時刻警惕比特幣生態中發生的變化,并提醒礦工越權會有被取代的風險。

許多博弈論都會討論礦工操作及其對比特幣安全性的威脅,我在之前的文章中推測了挖礦生態可能會發生怎樣的變化。雖然比特幣挖礦的中心化程度不盡如人意,但是迄今為止依然運作良好。這是因為比特幣礦工投入了大量資金,他們不會冒著巨大的損失在一個受到所有人監視的系統中作惡。

比特大陸創始人吳忌寒:比特幣會損害國家貨幣發行權益,但區塊鏈是中性的:近日,比特幣大陸創始人吳忌寒在接受財新網采訪時表示,比特幣是一種損害國家貨幣發行權益的貨幣體系,同時給反洗錢帶來一定的挑戰,但區塊鏈技術較為中性。不過,在可見的將來,區塊鏈仍然沒有解決其應用層面上如何創造用戶價值的問題。但是代幣(token)已經展示出了一種作為獨特金融工具的屬性,這或許可以幫助區塊鏈盡早實現應用。[2018/3/7]

很多比特幣用戶使用輕量級客戶端而非全節點訪問網絡,因為前者需要消耗的資源要少得多,但依然能夠提供很強的安全性。

使用簡易支付驗證(SPV)的客戶端會下載整條鏈上所有區塊的區塊頭的完整副本。這就意味著,自比特幣誕生以來,下載和存儲需求會隨時間的推移呈線性增長。詳情見比特幣白皮書的第 8 節。

中本聰在白皮書中寫道,SPV 客戶端 “無法自行驗證交易,但是通過把交易與區塊鏈關聯起來,它可以看到網絡中的節點已經接受了該交易,隨著越來越多區塊上鏈,則進一步證實網絡已經接受了該交易”。SPV 假設經過 X 個區塊確認后的交易偽造成本極高。

SPV 看似具備堪比全節點的安全性,但是它引入了額外的假設:只要一個區塊的區塊頭和工作量證明有效,它包含的所有交易也都是有效的。因為 SPV 客戶端不會驗證本文第 1 節中提到的所有共識規則,所以它們假設響應交易查詢請求的節點已經驗證過了共識規則。

另一個較小的安全性差異在于對等節點有可能向你隱瞞信息。如果你運行了一個全節點,對等節點可以向你隱瞞未確認的交易和區塊。但是,一旦你從對等節點那里獲得了一個區塊,就沒人可以向你隱瞞這個區塊中的任何交易。另一方面,如果你運行的是 SPV 客戶端,對等節點有可能向你提供區塊頭,然后隱瞞對應區塊中的交易信息。

SPV 客戶端可以查詢某個地址的相關交易。盡管對等節點使用虛假交易來欺騙 SPV 客戶端會付出很高的代價(需要挖出一個帶有充分 PoW 的區塊),但是它們可以謊稱 SPV 客戶端用來查詢交易的布隆過濾器(bloom filter)沒有結果。另外還要注意的一點是,由于布隆過濾器的缺陷,SPV 在隱私性上遭受了嚴重破壞。

BitcoinJ 在一篇文章中很好地闡述了 SPV 的安全性模型。關于未確認交易,他們指出:

在 SPV 模式下,只要你所連接的節點將某個交易轉發給你,你就只能相信這個交易是有效的。如果攻擊者能夠確保你所連接的節點都是他的,就可以向你發送一個完全無效的交易(花費根本不存在的錢),而你會認可這個交易是有效的。

對于普通用戶來說,SPV 的安全性已經 “足夠高” 了。盡管如此,我們還可以利用 SPV 欺詐證明對其進行改進。雖然人們已經就欺詐證明進行了一些討論,但是關于如何將它們構建到比特幣協議內的提案尚未實現。

如果你沒有運行全節點(以及實際用它來驗證交易),那你至少要在一定程度上信任第三方,這會導致安全性模型產生差異。請注意,這不需要所有用戶和企業直接在 Bitcoin Core 的 RPC API 上構建他們的軟件。

一些替代基礎設施配置包括但不限于:

1)使用安卓版比特幣錢包、GreenAddress?或?Stash?等移動錢包配置僅查詢你自己的全節點的錢包。

2)在 SPV 節點庫(如 BitcoinJ)上構建應用并將這些應用設置成僅連接你自己的全節點。在 BitcoinJ 中,這可以通過定義你自己的?SeedPeer?并在初始化過程中將其傳遞給你的?PeerGroup?來實現。通過 libbitcoin,你可以使用該示例定義與特定節點的網絡連接。

3)構建一個兼容 Bitcoin Core 的 JSON-RPC API 的代理服務器。這個 API 不僅會向第三方服務發送一些調用,也會通過調用本地全節點自動驗證第三方服務返回的數據。BitGo 的 BitGoD 軟件就是一個例子。這種混合模型可以達到兩全其美的效果:你可以使用第三方提供的高級功能,同時保留自己的金融主權。

顯然,運行自己的全節點是最安全的方案,需要的假設也最少。構建一臺能夠運行可靠全節點的計算機只需幾百美元。你不妨算一下這筆賬,再決定是否值得付出這些來保護自己的金融主權。

感謝 Kristov Atlas、Eric Martindale、Andrew Miller 和 Kiara Roble 對本文的審閱和反饋。

Tags:比特幣SPVBITBITC比特幣價格發展SPV價格bybit招聘Bitcoin Pay

歐易交易所
區塊鏈:區塊鏈橋接介紹:在加密網絡之上構建網絡

經過多年的研發,我們終于形成了一個多鏈的市場結構。目前有超過 100 個活躍的公共區塊鏈,其中許多都有自己獨特的應用程序、用戶、地區分布、安全模型和設計權衡.

1900/1/1 0:00:00
NFT:金色DeFi日報 | SushiSwap社區治理人0xMaki:已從日常運營轉變為顧問

DeFi數據 1.DeFi總市值:1370.19億美元 DeFi總市值數據來源:Coingecko2.

1900/1/1 0:00:00
ISA:Visa正式發布CBDC互操作概念UPC 實現跨區塊鏈CBDC轉移

支付巨頭 Visa 朝著實現中央銀行數字貨幣 (CBDC) 的愿景邁出了一步。Visa已經開發了一個概念,展示了各種 CBDC 如何相互操作以進行支付.

1900/1/1 0:00:00
NFT:金色早報 | 支付寶發布《我不是胖虎》系列NFT

頭條 ▌支付寶發布《我不是胖虎》系列NFT,并將于9月16日推出亞運會數字火炬9月12日,支付寶發布《我不是胖虎》系列NFT,該系列分為4個時段售賣.

1900/1/1 0:00:00
比特幣:比特幣ETF年內有可能獲批嗎?從SEC對 VanEck的申請審批再次推遲談起

據美國證券交易委員會(SEC)官網信息顯示,其對 VanEck 所提交的比特幣 ETF產品——VanEck Bitcoin Trust的審批決定時間再一次延期.

1900/1/1 0:00:00
區塊鏈:區塊鏈、NFT進入電影IP衍生業 化解“高成本”難題指日可待?

“我們正在籌備一只專投區塊鏈版權市場這類的基金,可能至少10億規模以上。”9月21日,凱諾資本創始人、總裁韓田新在第五屆國際電影IP授權與衍生產業開發論壇上介紹道.

1900/1/1 0:00:00
ads