編者按:本文來自Conflux中文社區,作者Conflux研究組,Odaily星球日報經授權轉載。上一期《最重鏈規則的優勢與隱患》,我們介紹了最重鏈規則在縮短確認時間這件事情上的強大潛力。但其中我們也提到了,在最重鏈規則判斷一個區塊是否被確認時,前提條件之一是這個區塊是“公共祖先”。在樹圖結構中,我們不要求待確認區塊是公共祖先,但要求待確認區塊所在epoch中的主鏈區塊是公共祖先。以太坊采用了最重鏈規則的一個變種,我們就將以太坊當做最重鏈規則一個實際部署的例子。在以太坊中,我們可以看到,多數區塊都進入了主鏈,然后只需等待幾分鐘甚至更短的時間,所有新生成的誠實區塊都會出現在這個區塊的子樹中。也就是說,這個區塊成為了公共祖先。然后所有新的誠實區塊齊心協力增加它的子樹權重。使得占有少數算力的攻擊者無法再“扶植”一個兄弟作為競爭者。公共祖先區塊積累了足夠的優勢后,這個區塊就被確認了。在Conflux的實驗中,在沒有攻擊的情況下,每個區塊可以在十秒左右內就成為公共祖先,或者進入到公共祖先的epoch中。如果出塊速度很快的話,再過很短的時間就可以確認了。看似一切都很美好,然而,一些攻擊策略可以阻止新的區塊成為“公共祖先”。也就是說,對于已經成為公共祖先、已經確認的區塊,攻擊者是沒有能力逆轉的。然而,攻擊者有能力讓誠實的節點對下一個公共祖先區塊是誰,達不成統一意見,從而使誠實節點陷入曠日持久的“王儲之爭”。之后任何一個新生成的區塊都無法得到全體誠實節點的確認。這種不以雙花已確認交易為目的,以阻止新的交易被確認為目的的攻擊,我們稱為“存活性攻擊”。到目前為止,被公開討論的比較多的有一種存活性工具策略,我們稱之為“平衡攻擊”。平衡攻擊的思想很簡單,就是攻擊者在最后一個公共祖先區塊下面,“扶植”兩個勢均力敵的孩子,即嘗試維護2個大小相同的子樹。攻擊者通過對區塊網絡傳輸的影響,讓差不多一半的算力貢獻在其中一棵子樹上,另一半算力貢獻在另一棵子樹上。如果兩棵子樹上的算力很接近但不完全相等,攻擊者可以使用自己的算力來平衡這種差距,最終實現兩棵子樹上的算力均等。而被分成兩部分的誠實算力,就變成了對立的兩個陣營。兩棵大小差不多的子樹,以相同的平均速度增長子樹權重。在攻擊者的刻意影響下,每個區塊生成以后,會在很短的時間內被自己陣營的節點看到,但是需要過一段時間才能被另一個陣營的節點看到,每一個陣營都覺得自己的子樹權重略微大一些,然后在自己陣營的子樹上繼續貢獻算力。這就是攻擊者制造的一個困局。如果攻擊者只平衡兩棵子樹的算力和網絡,不進行“藏塊”的操作,誠實節點還是有能力打破這個困局的。因為挖礦的過程總有一些隨機性,其中一個陣營在一段時間內挖出的區塊會多一些。然而,假設網絡中平均有n個區塊處于正在廣播、但還沒有傳遍所有節點的狀態,誠實節點自己打破這個困局需要的時間是n平方。在給定的網絡延遲下,每加快一倍的出塊速度,n相應地也會翻倍,而誠實節點自行打破困局的時間就會成平方量級上升。而如果攻擊者還會在每個分支上挖一些塊藏起來,那么每次誠實節點即將打破困局的時候,攻擊者可以“主動干預”,放出一些藏在弱勢分支上的區塊,來繼續維持平衡。通過一些分析可以得到,在出塊速度足夠快的時候,哪怕算力很小的攻擊者,都有一定的概率讓誠實節點永遠無法打破這個困局。而作為共識機制的設計者,這個問題應當怎么解決?很簡單,像比特幣那樣,讓出塊速度慢下來,讓n的數值減小。如果將一個塊傳遍全網需要10秒,出塊時間是10分鐘,在攻擊者沒有進行“藏塊”操作的時候,一個新的誠實區塊在生成時,有59/60的概率,網絡中是沒有其他區塊在傳輸的,所有誠實節點的本地樹圖結構是一致的,不存在誠實節點在兩個陣營里的情況。即使攻擊者有更強的攻擊能力,也會發現在出塊速度慢的情況下,需要自己“干預”的次數大大增加,而自己的算力已經力不從心了。我們構建了一個理論的模型。在這個模型里,誠實節點的算力為平均每秒n個區塊,所有的誠實節點被分成兩個小組,兩個小組的算力都是均等的。小組內的區塊傳播是沒有延遲了,小組間的區塊傳播有一個延遲d秒。這樣,每個小組內收到的區塊都一樣,兩個小組看到的區塊并不完全一樣。在開始的時候,兩個小組選擇了同一個父親區塊下不同的兩個孩子區塊作為主鏈區塊,并在它們的下面貢獻權重,兩個孩子區塊的初始權重相同。如果在某一時刻,其中一個小組所選擇的孩子區塊在自己的本地視圖內也不占優,也就是這個小組根據最重鏈規則要“倒戈”的時候,攻擊者需要放出一些區塊避免這件事情,從而維持兩個小組不能為誰是下一個“公共祖先”達成一致。如果攻擊者不能放出區塊,那么則攻擊失敗。如果攻擊者希望攻擊永遠不失敗的概率大于0,那么攻擊者需要滿足一個最低的算力要求。下圖展示了在不同的d*n的情況下最低的算力需求。可以看到,在d*n的取值非常小的時候,要求的最近算力接近每秒n個區塊,也就是全體好人的區塊生成速率。此時,對平衡攻擊的要求不比雙花攻擊低。當d*n的取值非常大的時候,要求的算力趨近于0。如果我們將出塊速度降的足夠低,使d*n的取值低于0.1,那么攻擊者就很難以較低的算力發起這種攻擊了(比特幣不是最重鏈規則,但我們可以用比特幣的參數舉個例子。在比特幣中,d*n大約是0.02。)然而,將攻擊出塊速度慢了下來,又違背了我們的初衷——造一個確認時間極短的PoW公鏈。這就出現了一個兩難的選擇。出塊速度快:已經確認的區塊沒有安全性危險。沒人攻擊時確認速度非常快,有人攻擊時永遠無法確認。出塊速度慢:同樣可以保證安全性,也可以保證在有人攻擊時能夠在一段時間后確認交易,但是即使沒有人攻擊,確認時間也會非常慢。到目前為止,最重鏈規則的“瑕”幾乎完全掩蓋了最重鏈規則的“玉”。那么在這個困局中,我們是否有辦法實現二者兼得,既有出塊速度慢的安全,又有出塊速度快的效率呢?我們將在接下來的幾期內容中,為大家揭曉答案。
Morgan Creek首席執行官:BTC能夠在網絡上存儲和轉移價值是本世紀最重要的創新之一:Morgan Creek首席執行官Mark W. Yusko表示,BTC能夠在網絡上存儲和轉移價值是本世紀最重要的創新之一,通過消除金融交易中對可信賴的第三方和尋租中間人的需求,將釋放出令人難以置信的財富創造。[2020/11/27 22:22:44]
Higer:DeFi是公鏈遺失的最重要的一個拼圖:2020年8月13日晚,Cocos-BCX 中文社區發起“Cocos-BCX 熱點 AMA 之 DeFi 狂想曲”主題討論活動。區塊鏈研習社創始人 Higer 發表“DeFi 是公鏈遺失的最重要的一個拼圖”主題分享,其從公鏈發展簡史、公鏈發展困局、DeFi 是公鏈最后的希望和公鏈的 DeFi 生態發展思路四方面闡述了 DeFi 對公鏈發展的重要性,并表示 DeFi 的三駕馬車是穩定幣、借貸、交易。而穩定幣已經取得廣泛共識,公鏈最值得做的是借貸和交易。[2020/8/13]
聲音 | 摩根大通:區塊鏈最重大影響集中在貿易融資 將在三五年后出現:據彭博社消息,摩根大通全球研究主管Joyce Chang近日接受采訪時表示:“區塊鏈不會重新創造全球支付系統,但會帶來一些微小的改進。最有意義的影響可能在三到五年后,大部分是在貿易融資方面。”Chang領導的分析師在本月24日發布的報告中指出,貿易融資的區塊鏈解決方案比其他領域的更常見,因為數字化很可能提高效率。雖然加密貨幣吸引了外界的大部分關注,但用于驗證和記錄交易才是區塊鏈技術的重要應用。Chang認為,區塊鏈面臨四大挑戰:擴展性、一體化、性價比和監管。她指出,加密貨幣的交易量已經下降,大零售商并沒有應用它。但她認為區塊鏈整體有潛力。“我們需要將區塊鏈與加密貨幣區別對待,區塊鏈取得了進展,有一些成功的用例。”[2019/1/30]
聲音 | 以太坊聯合創始人:柏林是“區塊鏈宇宙”中最重要城市:以太坊聯合創始人Joseph Lubin稱柏林是“區塊鏈宇宙“中最重要的城市。Joseph Lubin說:“柏林有基礎設施,真正優秀的程序員在這里。如果柏林希望保持其作為區塊鏈樞紐的地位的話,政府需要制定更多計劃來推廣區塊鏈。”[2018/7/26]
一年前,我按照當時的理解來闡述Web3堆棧。最近又提到了Web3的投資主題,正如我所強調的,Web3的一個關鍵含義是數據所有權和應用邏輯的解綁.
1900/1/1 0:00:00事件數字通證最有影響的KOL,都知道是中本聰和V神,但他們已經過氣了,現在一統天下的是特朗普。風險提示:全球局勢動蕩失控正文1全球面臨“百年未有之大變局”兩百年前,感受到來自異域的沖擊,李鴻章認.
1900/1/1 0:00:00主流區塊鏈的狀態達到最終性需要多長時間?我需要等多久才能確認一筆比特幣交易真正完成結算?有哪些風險因素可能會導致我需要額外的交易確認?交易確認的數量是如何影響交易結算的?令人驚訝的是.
1900/1/1 0:00:00比特幣不只是錢的問題,它關乎自由。常常有人說比特幣要取代黃金、要取代貨幣或者是金融體系,但其實比特幣的目標從來都不是這些,它更像是一種替代品.
1900/1/1 0:00:00周末兩天,主流幣在EOS帶領下,全線上漲,EOS漲幅將近20%,ETH漲幅10%,BCH漲幅9%,LTC漲幅10%。與此相對的是,大盤BTC卻并沒有表現,依舊在小區間震蕩走勢.
1900/1/1 0:00:00本文來自Trustnodes,Odaily星球日報譯者|Moni不出意外的話,第一個完全合規的實物結算比特幣期貨會于9月23日開始交易.
1900/1/1 0:00:00