干貨|深入探索比特幣的安全模型
安全模型誤區
另外,每個區塊鏈系統都將創世塊硬編碼到了節點軟件中。你可能會覺得,“共享歷史”是一種社會契約——一旦某個區塊的歷史足夠悠久,網絡中的所有參與者之間都會達成共識,認為這個區塊永遠都不會被回滾。當開發者選定一個早期挖出的區塊并用它來創建檢查點時,更多是作為一種公認的完整性檢查,而非對歷史的客觀描述。
除了檢查點之外,節點如何實現自引導也是一個問題。目前,比特幣節點的自引導流程是檢查節點是否在本地存儲了之前從對等節點那里了解到的數據。如果沒有的話,節點將查詢一組被硬編碼到軟件中的“DNS種子”。這些種子負責維護一個連接良好的比特幣節點的列表,并將這個列表返回給你的節點。
正如我們可以從代碼中看到的那樣,BitcoinCore0.13目前使用由PieterWuille、MattCorallo、LukeDashjr、ChristianDecker、JeffGarzik和JonasSchnelli運行的DNS種子。任何人都可以使用PieterWuille的比特幣種子生成器軟件或?MattCorallo的軟件來運行DNS種子。但是,他們必須說服某個全節點實現的開發者將他們的DNS種子主機添加至對方的軟件。
MicroStrategy首席執行官:比特幣是價值250萬億美元的問題解決方案:MicroStrategy首席執行官Michael Saylor最近解釋了公司公開購買比特幣的原因。Saylor認為,大多數非比特幣的資產都受到擴張性貨幣政策的負面影響,比特幣的市值僅為2500億美元,但它是一個價值250萬億美元的問題解決方案。他稱,在一個擴大貨幣供應的環境中,所有股票、所有債券的單位貨幣購買力都在下降,這些資產的實際價值都會降低,而解決方案是比特幣,比特幣有固定的供應量,而且不會引發通貨膨脹。(Decrypt)[2020/10/31 11:17:18]
新節點的引導過程僅僅依賴6個DNS種子,這看似又是一個極端中心化的單點問題。但是別忘了,比特幣的安全模型只需要你連接到一個誠實的對等節點,就足以抵御女巫攻擊。
因此,一個新的節點只需能夠連接到一個沒有遭受攻擊的DNS種子即可,這個種子會返回誠實節點的IP地址。但是,為了防范所有DNS節點因某種原因全都無法訪問的情況,還有一個備用方案——一個被硬編碼到軟件中的可靠節點IP地址的列表,會隨著每個新版本發布而更新。
在圍繞這些初始化參數構建的安全模型下,全節點運營者不需要信任X個DNS種子或Y個BitcoinCore軟件開發者會向他們提供真實的數據,只需要相信有1/X的DNS節點沒有遭受攻擊,或1/Y的BitcoinCore軟件開發者會誠實地審查被硬編碼的對等節點更改的有效性即可。
聲音 | Morgan Creek Digital聯合創始人:若無比特幣投資組合,美國養老金將面臨壓力:Morgan Creek Digital聯合創始人Anthony Pompliano發推稱,美國養老金資金嚴重不足,已陷入困境。比特幣是一種不相關、不對稱的資產。從某種程度上說,如果沒有比特幣投資組合,每筆養老金都將面臨來自其服務對象的壓力。[2019/9/16]
沒有絕對安全性
從更深層次來看,你在運行一個全節點時,會在一定程度上信任你正在運行的硬件和軟件。
你可以采用多種方法將你的二進制文件的簽名與?vanderLaan的進行核對,以此驗證軟件是否可靠,但是很少會有人愿意惹這個麻煩。至于如何驗證硬件的可靠性,這是個棘手的問題。如果你需要一個安全的硬件解決方案,最接近的選擇是?ORWL。如果有人試圖篡改ORWL,會觸發它的“自毀”機制。
但是,由于CPU、RAM等重要硬件通常都是專有的,你永遠也無法100%確定它們不會遭到入侵。
分析 | 比特幣COT持倉周報:短期內依然會繼續目前的震蕩格局,下周還應以多頭策略為主:本周CME比特幣期貨持倉中,賣方(Dealer)的賬戶依然持有50手凈空單不變。大型投資基金(Asset Manager)賬戶多空都出現下降,整體雖然保持凈多單,但數量已經下降至15手。
回看過去兩個月的持倉變化,大型投資基金自6月中旬之后持倉便出現大幅跳水,至今凈多倉依然維持較低水位,說明投機資金目前無意推動市場再次向上。但從賣方賬戶的角度來看,整個7月他們都看空市場,但在8月中旬之后開始轉變看法,這說明市場即便表現得很弱但至少近期不會出現一瀉千里的局面,維持牛市的因素依然存在。
綜合而言,短期內依然會繼續目前的震蕩格局,在多空策略的分配上,下周還應以多頭策略為主。[2019/8/31]
比特幣的分權制衡
當你開始研究比特幣系統中不同參與者之間的關系時,會發現自己如墜五里霧中。
運行全節點的目的是保護你的金融主權。這就意味著,一旦你安裝并運行了特定版本的軟件,即表明你與該軟件以及其他所有網絡參與者都達成了一項協議——不僅你會遵守該軟件的規則,而且其他網絡參與者也必須遵守這些規則。
分析 | 7個主要標志確認比特幣牛市已經回歸:據bitcoinist報道,有7個主要標志可以確認比特幣牛市已經回歸:1. BTC的使用率穩步上升,算力接近60 EH / S,平均區塊大小已超過1MB,達到1.26MB;2. 谷歌比特幣搜索指數持續攀升,如果BTC價格達到1萬美元,那么FOMO(擔心錯過)將來臨;3. 機構投資者正在為比特幣牛市做準備,灰度上個月購買了1.1萬枚BTC;4. 根據Diar的分析,過去12個月里,比特幣錢包的積累數量穩步上升,擁有1千到1萬枚BTC的錢包地址增加了7%;5. 機構交易量創下新高,昨天韓國在LocalBitcoins的比特幣交易量創下新高,超過2.18億韓元(1.83億美元);6. 更多機構采用比特幣,比特幣正在走向大眾;7. BTC價格近期大幅攀升。[2019/5/31]
因此,如果人們想要對軟件的規則做出無法向后兼容的更改,你必須運行新版本的軟件來表示你明確同意這些規則更改。另一方面,如果是向后兼容的規則更改,即使你不同意,也可以在網絡中實行。
有人高度概括了比特幣內部的分權制衡:
比特幣今日下跌超10%:根據CoinDesk的比特幣價格指數(BPI),比特幣的價格今天下跌了10%以上,跌幅超過1200美元。截至發稿時,比特幣價格約為10,237.25美元,較開盤價11,522.86美元下跌約11.16%,目前的價格接近今日最低點10,050.79美元。[2018/1/23]
比特幣治理的三大權力部門:
全節點
礦工
開發者
需要注意的是,全節點軟件不會自動更新,這是設計使然。自動更新會導致權力的天平向開發者傾斜,讓開發者可以在未經節點和礦工許可的情況下強制更改規則。
可惜的是,雖然規則更改在技術層面上有可能是向后兼容的,但是多年來的經驗告訴我們足夠有創意的軟分叉也是可以實現違背舊版本規則的更改的。例如,VitalikButerin曾經提過這樣一個設想:通過軟分叉將比特幣的區塊時間從10分鐘縮短到2分鐘,這必然會加快比特幣的發行速度。
面對不喜歡的軟分叉,全節點有一張王牌:利用硬分叉與其他支持軟分叉的礦工劃清界限。這執行起來很難,而且引發了關于如何衡量共識和找到經濟比重高的節點等諸多問題。
從技術上來說,這種硬分叉可以通過將挖礦算法從雙SHA256改成另一種哈希函數來實現。一旦成功,所有SHA256ASIC礦機將無法用來挖比特幣。因此,節點運營者應該時刻警惕比特幣生態中發生的變化,并提醒礦工越權會有被取代的風險。
許多博弈論都會討論礦工操作及其對比特幣安全性的威脅,我在之前的文章中推測了挖礦生態可能會發生怎樣的變化。雖然比特幣挖礦的中心化程度不盡如人意,但是迄今為止依然運作良好。這是因為比特幣礦工投入了大量資金,他們不會冒著巨大的損失在一個受到所有人監視的系統中作惡。
SPV安全性
很多比特幣用戶使用輕量級客戶端而非全節點訪問網絡,因為前者需要消耗的資源要少得多,但依然能夠提供很強的安全性。
使用簡易支付驗證的客戶端會下載整條鏈上所有區塊的區塊頭的完整副本。這就意味著,自比特幣誕生以來,下載和存儲需求會隨時間的推移呈線性增長。詳情見比特幣白皮書的第8節。
中本聰在白皮書中寫道,SPV客戶端“無法自行驗證交易,但是通過把交易與區塊鏈關聯起來,它可以看到網絡中的節點已經接受了該交易,隨著越來越多區塊上鏈,則進一步證實網絡已經接受了該交易”。SPV假設經過X個區塊確認后的交易偽造成本極高。
SPV看似具備堪比全節點的安全性,但是它引入了額外的假設:只要一個區塊的區塊頭和工作量證明有效,它包含的所有交易也都是有效的。因為SPV客戶端不會驗證本文第1節中提到的所有共識規則,所以它們假設響應交易查詢請求的節點已經驗證過了共識規則。
另一個較小的安全性差異在于對等節點有可能向你隱瞞信息。如果你運行了一個全節點,對等節點可以向你隱瞞未確認的交易和區塊。但是,一旦你從對等節點那里獲得了一個區塊,就沒人可以向你隱瞞這個區塊中的任何交易。另一方面,如果你運行的是SPV客戶端,對等節點有可能向你提供區塊頭,然后隱瞞對應區塊中的交易信息。
SPV客戶端可以查詢某個地址的相關交易。盡管對等節點使用虛假交易來欺騙SPV客戶端會付出很高的代價,但是它們可以謊稱SPV客戶端用來查詢交易的布隆過濾器沒有結果。另外還要注意的一點是,由于布隆過濾器的缺陷,SPV在隱私性上遭受了嚴重破壞。
BitcoinJ在一篇文章中很好地闡述了SPV的安全性模型。關于未確認交易,他們指出:
在SPV模式下,只要你所連接的節點將某個交易轉發給你,你就只能相信這個交易是有效的。如果攻擊者能夠確保你所連接的節點都是他的,就可以向你發送一個完全無效的交易,而你會認可這個交易是有效的。
對于普通用戶來說,SPV的安全性已經“足夠高”了。盡管如此,我們還可以利用SPV欺詐證明對其進行改進。雖然人們已經就欺詐證明進行了一些討論,但是關于如何將它們構建到比特幣協議內的提案尚未實現。
比特幣網絡沒有127.0.0.1
如果你沒有運行全節點,那你至少要在一定程度上信任第三方,這會導致安全性模型產生差異。請注意,這不需要所有用戶和企業直接在BitcoinCore的RPCAPI上構建他們的軟件。
一些替代基礎設施配置包括但不限于:
1)使用安卓版比特幣錢包、GreenAddress?或?Stash?等移動錢包配置僅查詢你自己的全節點的錢包。
2)在SPV節點庫上構建應用并將這些應用設置成僅連接你自己的全節點。在BitcoinJ中,這可以通過定義你自己的?SeedPeer?并在初始化過程中將其傳遞給你的?PeerGroup?來實現。通過libbitcoin,你可以使用該示例定義與特定節點的網絡連接。
3)構建一個兼容BitcoinCore的JSON-RPCAPI的代理服務器。這個API不僅會向第三方服務發送一些調用,也會通過調用本地全節點自動驗證第三方服務返回的數據。BitGo的BitGoD軟件就是一個例子。這種混合模型可以達到兩全其美的效果:你可以使用第三方提供的高級功能,同時保留自己的金融主權。
全節點:為自由故
顯然,運行自己的全節點是最安全的方案,需要的假設也最少。構建一臺能夠運行可靠全節點的計算機只需幾百美元。你不妨算一下這筆賬,再決定是否值得付出這些來保護自己的金融主權。
感謝KristovAtlas、EricMartindale、AndrewMiller和KiaraRoble對本文的審閱和反饋。
9月24日,在2021中關村論壇上,騰訊公司政務云副總裁王景田表示,區塊鏈與云計算協同發展已經成為當前的行業趨勢,以此為基礎,構建了極具創造力的鏈上政務新生態.
1900/1/1 0:00:001.什么是數字人民幣??數字人民幣是由中國人民銀行發行的數字形式的法定貨幣。由指定運營機構參與運營,以廣義賬戶體系為基礎,支持銀行賬戶松耦合功能,與實物人民幣等價,具有價值特征和法償性、支持可控.
1900/1/1 0:00:00在以太坊2.0到來之前,新興公鏈和Layer2始終都有機會。不過現在新興公鏈的角逐已經進入下半場,而Layer2賽道的角逐才正式開始.
1900/1/1 0:00:00今日下午5點整,中國人民銀行在官網發布《關于進一步防范和處置虛擬貨幣交易炒作風險的通知》,引起行業內的高度關注與討論.
1900/1/1 0:00:00目前穩定幣的總供應量接近1100億美元,幾乎是2021年初供應量的4倍。但這種增長并沒有在各種穩定幣中平均分配。在不確定的加密市場中,穩定幣市場也在發生變化.
1900/1/1 0:00:00自上周五發改委、央行等連發通知整治挖礦及虛擬貨幣交易炒作后,加密市場整體呈現震蕩下行的態勢。與此同時,為響應相關政策,多家交易所、機構、項目紛紛落實通知要求,發布清退中國用戶措施.
1900/1/1 0:00:00