如果說以分布式記賬系統著稱的區塊鏈都保證不了某乙個數字貨幣的安全,那我為什麼還要用你,你又有什麼資格談支付,談應用,談未來?
這兩天bch社群的討論焦點除了如何為bch專案開發募集資金以外,又多了另外兩件事,巧的是,這兩件事都與ifo幣有關。乙個是關於lbtc(閃電位元幣),另乙個是關於btg(位元幣**),這兩件事的起因都是由於各自的安全性出現了問題。
區塊鏈還能被暫停?區塊鏈不應是去中心化的嗎,分布式記賬系統不是能夠保證即使有個別節點出現問題,整體網路不會出現問題嗎?是的,還真就暫停了,還是10天之久。就其暫停原因,歸咎起來還是由於lbtc的演算法問題,lbtc放棄了pow工作量證明機制,採用的是和eos一樣的dpos機制,該機制使得出塊不再由算力決定,而是由節點投票出塊。而號稱有101個節點的lbtc之所以能暫停區塊鏈,原因只可能是這些節點是集中分布的,且超過51%的節點被「控制「。區塊鏈暫停所帶來的最直接的問題就是交易也被暫停,試想一下,交易要10天後才能生效是一種什麼樣的感受。區塊鏈都能暫停,哪還有什麼安全性可言。
btg被熱議的原因是由於btg網路遭到了礦工的雙花攻擊,丟失了價值千萬美金的btg。據外媒報道,上週,一名礦工對位元幣**網路成功實施了雙花攻擊,為了實施此次攻擊,該礦工至少獲得了51%的btg總算力,臨時控制了區塊鏈,並成功逆轉了22個區塊。從5月16日以來,涉及此次攻擊的位元幣**位址已收到超過388200個btg。
btg被盜的原因其實也很簡單,算力不足。btg將位元幣的挖礦演算法從sha256改為equihash(一種顯示卡演算法),並宣稱將使位元幣更加去中心化。顯示卡挖礦明面是打著人人皆可挖礦的幌子,實則換湯不換藥,因為顯示卡礦機同樣是礦機,而只要是礦機,只要用於挖礦,同樣就會產生集中效應,產生礦場,算力集中不可避免。這樣做不僅不利於去中心化,反而降低了雙花攻擊的成本。舉個列子,神威超級計算機總共有超過1000萬個計算核心,可以輕易的對btg發起攻擊。並且btg專案方預挖20萬btg的不公平做法,也讓很多礦工不願意去挖btg。
對比之下,bch則不會出現上述的兩種問題。
強大的算力保障
pow機制不可能暫停,只要有一台礦機在執行,bch網路就不會斷。根據礦池**pool.viabtc.com的算力資料顯示,目前bch的全網算力為4.335e,有效礦工為113723,除去這一過程中不斷增長的算力,理論上你需要控制56862名礦工才能發起51%算力攻擊,這個數量的礦工,有哪個礦場能夠做到,誰又願意去那樣做呢?真正掌握算力的礦工只會竭盡全力維護位元幣現金的網路。位元幣則又不同了,位元幣的礦工如果摧毀位元幣,需要上百億的礦機陪葬,core摧毀位元幣,大不了被人身攻擊,躲起來就行了。core還汙衊礦工沒有投票權,而真相是礦工遠比core可靠。
atlantis以及區塊孤立等技術手段保障
不可否認,bch也有面臨零確認「雙花攻擊」的風險,「雙花攻擊」主要可分為兩種,一種是非算力使用者發起的雙花,第二種是算力使用者發起的雙花。第一類很容易預防,此次btg遭受的便是第二種攻擊。
針對非算力使用者發起的雙花,bch有著專門防範零確認「雙花攻擊」的專案——atlantis。atlantis專案在全球部署了許多bitcoincash節點伺服器,用於探測雙花交易,以便實時為提醒使用者可能發生的交易風險。此外,atlantis專案也提供api服務,保證商家對交易中雙花概率和風險的獲取,以支援零確認交易。
針對算力使用者發起的雙花,csw提出了區塊孤立政策,攻擊構造的隱藏交易(tx2)無法被廣播,倘若可以設定在一定時間內發現tx2交易在最新的區塊內,那麼可以將其直接孤立,在其前乙個高度挖礦,在保持足夠算力的情況下,基本沒有礦池敢發起tx2交易來對零確認交易造成攻擊。
在此前,bch已經針對「雙花攻擊」的風險進行過一次壓力測試,測試在購物**cryptonize上進行,結果顯示,攻擊者中有些人最後花了2000美元購買了一張1000美元的禮品卡,為了攻擊而付出了雙倍代價。
總而言之,位元幣現金的網路安全性是毋庸置疑的。通過對比,我們也能大致了解為什麼bch能在眾多數字貨幣中脫穎而出,因為基於共識而誕生的bch是一群志同道合的早期位元幣布道者不得已而為的產物,而不是某些心懷不軌之人的圈錢工具,沒有預挖、沒有拋售的做法也讓很多礦工願意去相信bch,所以bch更有資格與bce競爭誰是位元幣的未來。
為什麼說飛機並不是最安全的交通工具?
為什麼說飛機並不是最安全的交通工具?文 王易見 最近一段時間一直在關注法航空難的資訊,首先,筆者對空難表示萬分的悲痛,並祈禱乘客能平安回來。不過,這仍然無法迴避乙個核心話題,飛機到底是不是最安全的交通工具?當代人們普遍認為飛機是最安全的交通工具,對於飛機的安全性眾說紛紜,有人說行進相同的路程飛機出事...
為什麼說String是不可變的
簡單的例子 string s1 abc string s1 s1 s1 def 此時s1變化了嗎?變了!s1的位址從指向 abc 變成指向 def 重要的不在這裡,記憶體上的 abc 本身並沒有被改變!指向 abc 的s2也沒有被改變 兩個final 乙個在string的類修飾符,乙個是string...
為什麼說TCP協議是可靠的
由於ip 資料報的 mtu 有長度限制,tcp報文段過大時,需要切割。切割之後傳送出去,由於網路鏈路的不確定性,接收端接收到包的次序和傳送次序很大概率是不一致的。接收端如何把接收到的 同一批 tcp報文段資料拼接成預期的二進位制資料?傳送方傳送了乙個tcp報文,怎麼樣確認接收方接收到了這個報文?傳送...