側鏈并不具備廣大的以太坊社區所期待的安全性。
引言
Layer-2對以太坊的重要性與日俱增,而且已成共識。
但是,“Layer-2”是個不精確的標簽。有些人說起“Layer-2”時,僅僅指的是“不在以太坊Layer-1”。但實際上,方案到底怎么跟以太坊Layer-1交互,是非常重要的。同屬“Layer-2”名目下的不同方案,特性可以有天壤之別。可以爭議“Layer-2”應該專指具備特定屬性的某些東西。不過,這不是我這里要講的主題。
我在這里要討論的是側鏈的屬性。
側鏈的基本含義是:由一組驗證者,把一條鏈的最新狀態提交給一個智能合約,如此推進的一類系統。這些檢查點可被一個橋接合約使用,以支持用戶的存款和取款。一般來說,在該組驗證者之間也會有一個領袖選舉流程,來決定某時某刻由誰來創建側鏈區塊;例如PoA權威證明算法和PoS算法。
三星利用區塊鏈技術防止文件偽造和篡改:三星今日宣布,將在其網站上推出“無紙化”服務,通過區塊鏈技術解決文件偽造和篡改問題。Paperless 是一種服務,無需構建單獨的系統,即可通過鏈接三星 SDS 提供的標準功能 (API) 來安全地管理合同、協議和證書等各種文件。三星 SDS 將大容量文檔和敏感個人信息等數據加密并存儲在單獨的服務器上,并且僅對文檔或數據使用哈希值(縮寫文件特征的加密數字,以證明復制數據的身份)。記錄在區塊鏈上。(韓聯社)[2021/7/8 0:35:46]
側鏈在以太坊生態中也扮演著重要的角色。在研究人員還未開發出更好的方案之前,它們是可擴展性和可用性的臨時解決方案。像xDai這樣的產品,也點出了大家對更好的用戶體驗的需求,并使之擴散了開來。
但是,側鏈并不具備廣大的以太坊社區所期待的安全性。這不是說永遠不該使用側鏈這種方案。如果人們完全知情,但是愿意用,那是他們自己的選擇,也可能是值得的。但如果人們是不知情的,那就危險了。本文是希望提供一些信息。如果每個人都已經完全知曉了這些特性,那我這再寫一篇也無傷大雅。但如果這文章能幫助大家意識到自己的誤解,那就算做了好事了。
Block.one發布最新EOSIO區塊鏈線上研討會系列:Block.one今日在推特發布最新的EOSIO區塊鏈線上研討會系列,包括全部會議日程。這次的研討會覆蓋全面內容,從區塊鏈基礎入門到智能合約,再到應用程序的構建。(MEET.ONE)[2020/4/16]
那么側鏈到底缺少了哪些安全特性?幾乎所有的側鏈,都不能夠提供:
審查抗性終局性資金所有權保證如果這些特性你全都要,那你可能得另找方案來代替側鏈了。當然,也有可能在維持側鏈核心架構的前提下改進具體方案在這些維度上的表現。
我覺得開放性的討論對大家都有好處。
顯然,側鏈的審查抗性比區塊鏈要弱。不然,那也根本不需要區塊鏈了。但這里我們挖得再深一些。
如果某條側鏈有N個驗證者,而只要有M個驗證者一致同意就可以審查任意一筆交易,那么只需要(N-M)個驗證者聯合起來,就可以審查一個區塊。這就導致了一個有趣的兩難:要讓審查交易變得更難,就會讓審查區塊變得更簡單。因為審查交易和審查區塊都是糟糕的事情,所以側鏈就在根本上不能獲得強健的審查抗性。
行情 | 美股開盤:美股區塊鏈概念股全線下跌:美股開盤,三大股指普遍低開,美股區塊鏈概念股全線下跌。柯達下跌0.79%,埃森哲下跌1.39%,overstock.com下跌3.24%,Riot Blockchain下跌0.49%,Marathon Patent平盤,Square下跌2.07%。[2019/9/10]
這種擔憂在使用PoS時也依然存在,甚至按權益來計算出塊權重會讓它變得更糟糕,因為達成閾值的獨立實體數量可能會更低。
數據可得性保證
假設只要(N-M)個驗證者就可以創建一個區塊。再假設所有其他驗證者需要擁有整個狀態的數據才能夠驗證新狀態。那么,只要(N-M)個驗證者是惡意的,他們可以:
創建一個新區塊拒絕與誠實驗證者共享區塊數據本質上就是將N-(N-M)=M名誠實驗證者移出了共識過程,因此完全掌控了整個系統這種情況發生的可能性有多大呢?顯然需要更具體的細節才能下結論,但我們可以這樣開始思考:一個理性的驗證者,要跟其他人共享數據的激勵在哪里呢?在傳統的權威證明機制中,不這樣做可能對聲譽有損。但是,其實聲譽機制也很難起作用,因為實際上并沒有辦法證明數據被扣起來了,除非其他人把所有數據都放到了鏈上。覺得這個解決方案聽起來像是optimisticrollup?沒錯,就是如此。這也意味著,帶有更好安全性的側鏈,本質上就“退化”成了optimisticrollup。
區塊鏈技術助力醫療事業:世界經濟論壇第四次工業革命中心的技術和政策專家Zvika Krieger說,無人機正在被用于向盧旺達邊遠村莊運送醫療用品,用區塊鏈軟件構建的數字賬本可以用來追蹤新生兒的疫苗接種。[2018/4/17]
在大多數側鏈方案中,驗證者可以因為自己的工作而獲得某種形式的支付。對于誠實的驗證者,獎勵會在N個驗證者之間共享。對于不誠實的驗證者,同樣多的獎勵只會在N-(N-M)=M個驗證者之間共享,所以驗證者完全有激勵不跟其他人分享更新后的狀態。
在這里,有一個根本性的難題:很難辨別數據可得性攻擊。對于誠實驗證者來說,很難分辨出,到底是有人發動了攻擊,還是自己遇到的同步問題。
假設狀態轉換的流程如下:
state1=>state2=>state3
而每一次的轉換都需要一些交易在已有的狀態上生效從而改變狀態。而終局性就是說,交易一旦生效,就不能撤銷。
歐洲央行行長:對區塊鏈技術感興趣:歐洲央行行長德拉吉今日表示,歐洲央行對區塊鏈技術非常感興趣。他同時認為,比特幣不是貨幣。[2018/2/13]
側鏈的檢查點,經過側鏈驗證者的共識之后發送到以太坊區塊鏈上,并根據以太坊的共識機制被固化下來。有些人可能因此就認為,側鏈的終局性等同于以太坊的終局性;要回滾側鏈的區塊,你也需要回滾以太坊的區塊。但這完全搞錯了。
因為終局性是說不能回滾交易,不是說不能用新狀態來替代舊狀態。只要(N-M)個驗證者同意,他們可以執行如下的狀態轉換:
state1=>state2=>state1
側鏈資金所有權保證
假設現在的state1={Alice:1000,Bob:0}。即Alice有1000塊,而Bob啥也沒有。那如果Bob是惡意的,而且控制著POA驗證者中的絕大多數,他可以怎么做?
他可以執行一個狀態轉換,state1=>state2,而state2={Alice:0,Bob:1000}。也就是偷走Alice所有的錢并交給Bob。
因此,側鏈的防御就減弱為,不會有(N-M)個驗證者同意去執行這樣的非法狀態轉換。
這已經是眾所周知的事,但我認為還是有必要提醒大家。你對一條側鏈的信心,只能是相信驗證者中的大多數不會干這樣的事情。對側鏈的大部分安全分析都應該關注這一點。
可能還是有某些人你可以在某種程度上信任他們。就像我們中的許多人都中心化的服務提供商。有時候這種犧牲是值得的。重要的是,你得清楚這是一種權衡。
使用治理程序作為防御手段的問題
有一種說法是:”我們可以使用治理程序來解決上面提到的所有問題“。這種方法是有缺陷的,因為整個系統會退化為一個治理流程。這種說法格外使我擔心的一個理由是,它意味著側鏈的其他屬性是劇院。舉個例子,如果治理流程才是防范上述問題的最終手段,那也就意味著,什么PoS、PoA,統統都不重要。系統的治理流程才是真正的PoA。而且,很明顯,對系統的治理流程,同樣可以發動一模一樣的攻擊。
側鏈的特性在哪里可能特別有用?
除了側鏈的一些附加屬性,比如更快的區塊時間,確實有一些場合,是側鏈的特點可以大放異彩的。比如:
你就是想要N-M個驗證者就能執行任意狀態轉換。希望有一個高級控制權限的企業應用就是一個例子。M=0,且N個驗證者可以執行任意狀態轉換的情況。例如,一個四方參與的游戲。不過問題是,1個驗證者就可以關停這條鏈。結語
曾經,側鏈是在保持一定水平的以太坊可組合型和互操作性的前提下,唯一可用的方案。現在,隨著別的一些Layer-2擴展方案的成熟,是時候考慮側鏈如何與其他方案更好地結合了。
有一些屬性,很適合讓側鏈加以整合:
實現不收費的大規模遷移,保證用戶不會因為費用而被卡住,無法退出。將領袖選舉機制替換為其他具備更強審查抗性的方案需要協調器來處理鏈上兩個狀態的差異。加入錯誤性證明來防止非法的狀態轉換。隨著optimisticrollup和optimisticVM技術的成熟,項目的權衡范圍也會改變,因此,現在是反思側鏈屬性及其相關取舍的好時機。
文:以太坊愛好者
Tags:以太坊區塊鏈POA以太坊幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢POA價格POA幣
PepeCoin在與懷疑和懷疑的斗爭中取得了勝利,令人難以置信的反彈甚至讓最嚴厲的批評者感到震驚.
1900/1/1 0:00:00貝萊德等金融巨頭申請比特幣現貨ETF后,加密市場出現了一波反彈,隨后“遠古”的POW板塊在BCH、BSV等帶領下也出現了較好的上漲行情,以往它們上漲基本就是行情的尾聲了.
1900/1/1 0:00:00Curve團隊在早先的失誤后終于推出了穩定幣。crvUSDTVL隨著社交活動的增加而恢復。在意外發布其穩定幣腳本后,CurveFinance已將其重新部署到以太坊主網上.
1900/1/1 0:00:00FX168財經報社(香港)訊比特幣周二(3月14日)亞市午盤前,繼續保持24000美元上方不破.
1900/1/1 0:00:00伴隨著金融科技的興起,越來越多的傳統金融業將不得不加速轉型,而對銀行來說,同樣也需要改革現有的模式,我們知道,資金融通謂之金融.
1900/1/1 0:00:00不能排除XRP的飆升可能使XLM受益的可能性。鏈上創新是XLM最近市場上漲的主要原因。StellarLumen的主要功能是將個人用戶連接到金融機構支付網絡.
1900/1/1 0:00:00