Libra協(xié)議允許來自不同權限的一組副本(稱為驗證器)共同維護可編程資源的數(shù)據(jù)庫盆色。
這里沒有語言 - 系統(tǒng)將由一系列權威機構以自上而下的方式控制舞痰。 但請注意,它表示數(shù)據(jù)庫是針對“可編程資源”而不僅僅是數(shù)字貨幣苇经。
這些資源由公鑰加密認證的不同用戶帳戶擁有案淋,并遵守這些資源的開發(fā)人員指定的自定義規(guī)則。
使用諸如“資源”之類的通用詞語使我懷疑這不僅僅是一個穩(wěn)定的幣介陶。
事務基于預定義的堤舒,在未來的版本中,用戶定義的智能合約采用名為Move的新編程語言哺呜。 我們使用Move來定義區(qū)塊鏈的核心機制舌缤,例如貨幣和驗證者成員資格。好的,現(xiàn)在它變得有趣了国撵。 使用定制的智能合約語言將導致很多關于語言功能豐富的問題陵吸,從而導致系統(tǒng)對抗對抗合同的能力。 還有一些關于開發(fā)人員友好性以及天秤座如何保護智能合約開發(fā)人員不受影響的問題介牙。
這些核心機制可以創(chuàng)建一種獨特的治理機制壮虫,該機制建立在早期現(xiàn)有機構的穩(wěn)定性和聲譽的基礎上,但隨著時間的推移過渡到一個完全開放的系統(tǒng)环础。
聽起來天秤座協(xié)會將成為一個聯(lián)邦囚似,可以借助投票系統(tǒng)和某種先前存在的聲譽來發(fā)展。
還有一些關于開發(fā)人員友好性以及天秤座如何保護智能合約開發(fā)人員不受影響的問題喳整。1.簡介
這個生態(tài)系統(tǒng)將提供一種新的全球貨幣 - 天秤座硬幣 - 這將完全支持一籃子銀行存款和來自高質(zhì)量中央銀行的國債谆构。
Libra是一種通用的加密資產(chǎn)協(xié)議,第一個資產(chǎn)將是一個stablecoin框都。
隨著時間的推移搬素,會員資格將轉(zhuǎn)變?yōu)橥耆_放,僅基于會員持有的天秤座魏保。
聽起來很像股權證明熬尺。 顯然,計劃是在五年后開放會員資格谓罗,并希望他們當時能夠找到股份證明 - 盡管我預計它們會遇到與以太坊相同的問題粱哼。
該協(xié)會發(fā)布的報告概述了向無權制度轉(zhuǎn)變的路線圖。
我很確定這將是分布式網(wǎng)絡首次從權限轉(zhuǎn)換為無權限檩咱。也許整個網(wǎng)絡可以轉(zhuǎn)換為股權證明揭措,但為了維持穩(wěn)定的硬幣/籃子,一些實體必須保持對傳統(tǒng)金融系統(tǒng)的開放刻蚯。 這將是通過天秤座協(xié)會集中控制的持久點绊含。
驗證者輪流推動接受交易的過程。 當驗證者充當領導者時炊汹,它建議將客戶直接提交給他們的交易和通過其他驗證人間接提交的交易交給其他驗證人躬充。 所有驗證器都執(zhí)行事務并形成包含新分類帳歷史記錄的經(jīng)過身份驗證的數(shù)據(jù)結(jié)構。 作為共識協(xié)議的一部分讨便,驗證者對該數(shù)據(jù)結(jié)構的驗證者進行投票充甚。
這聽起來像實際的拜占庭容錯,這是一個20年前很好理解的算法霸褒,盡管他們可能做了一些調(diào)整伴找。我們在白皮書的第5節(jié)中了解到它被稱為LibraBFT,它是HotStuff共識協(xié)議的變體废菱。
作為在版本i處提交事務T i的一部分技矮,共識協(xié)議在版本i處輸出數(shù)據(jù)庫的完整狀態(tài)的簽名 - 包括其整個歷史 - 以驗證對來自客戶端的查詢的響應眉反。
這是值得注意的,主要是因為它意味著新的驗證器應該能夠加入網(wǎng)絡并快速同步穆役,而不必重放區(qū)塊鏈的整個歷史記錄,假設它們信任現(xiàn)有的驗證器梳凛。
帳戶模型是有道理的耿币,因為Facebook不太可能關注隱私,而它確實對智能合約感興趣韧拒。
2.邏輯數(shù)據(jù)模型
Libra協(xié)議使用基于帳戶的數(shù)據(jù)模型來編碼分類帳狀態(tài)淹接。
從數(shù)據(jù)結(jié)構的角度來看,天秤座比以太幣更像是以太幣或漣漪叛溢。由于基于輸出的歷史記錄的簡單性塑悼,UTXO模型具有優(yōu)點和缺點 - 例如更好的隱私和更強大的交易歷史 - 但是使用復雜的智能合約可能更難。 因此楷掉,帳戶模型是有道理的厢蒜,因為Facebook不太可能關注隱私,即使該平臺聽起來對智能合約感興趣烹植。
Libra協(xié)議不會將帳戶與真實身份相關聯(lián)斑鸦。 用戶可以通過生成多個密鑰對來自由創(chuàng)建多個帳戶。 由同一用戶控制的帳戶彼此之間沒有固有的鏈接草雕。 該方案遵循比特幣和以太坊的示例巷屿,因為它為用戶提供假名。
聽起來令人驚訝的好墩虹,但我想知道資產(chǎn)天秤座硬幣的情況是否也是如此嘱巾。 有趣的是觀察這個系統(tǒng)對于那些想要構建更加保護隱私的應用程序的開發(fā)人員的開放程度。每個資源都有一個模塊聲明的類型诫钓。 資源類型是名義類型旬昭,由類型的名稱以及資源的聲明模塊的名稱和地址組成。
您似乎可以生成一個地址尖坤,只要每個資產(chǎn)都有唯一的名稱稳懒,該地址就可以分配任意數(shù)量的資產(chǎn)。
執(zhí)行事務T i產(chǎn)生新的分類帳狀態(tài)S i以及執(zhí)行狀態(tài)代碼慢味,氣體使用和事件列表场梆。
那么,現(xiàn)在我們知道如何保護系統(tǒng)免受資源耗盡攻擊纯路,可能是利用類似于以太坊的資源成本系統(tǒng)或油。
分類帳歷史中沒有交易塊的概念。
有趣驰唬。 Libra協(xié)議中沒有實際的區(qū)塊鏈數(shù)據(jù)結(jié)構 - 塊更像是一個虛擬的邏輯結(jié)構顶岸,驗證器使用它來協(xié)調(diào)系統(tǒng)狀態(tài)的確認快照腔彰。 備份,現(xiàn)在該部分的第一句話更有意義:Libra Blockchain中的所有數(shù)據(jù)都存儲在單個版本化數(shù)據(jù)庫中辖佣。 版本號是無符號的64位整數(shù)霹抛,對應于系統(tǒng)執(zhí)行的事務數(shù)。
我熟悉的每個加密資產(chǎn)網(wǎng)絡都以相同的方式在非常高的層次上工作:存在系統(tǒng)狀態(tài)卷谈,然后執(zhí)行事務并且實際上是狀態(tài)轉(zhuǎn)換功能杯拐,然后存在新的系統(tǒng)狀態(tài)。
將批量事務放入容器或塊中的目的是為了對它們進行排序和加時間戳世蔗。 這對于無權網(wǎng)絡非常重要端逼,其中數(shù)據(jù)通過動態(tài)多方成員簽名進行身份驗證,其中驗證者可以自由加入和離開網(wǎng)絡污淋。 由于Libra運行一個允許的系統(tǒng)顶滩,它可以使用更有效的一致性算法,不需要批處理事務寸爆,因為事務歷史記錄更不可能被重寫礁鲁。在Libra協(xié)議的初始版本中,用戶只能使用Move的一小部分功能赁豆。 雖然Move用于定義核心系統(tǒng)概念救氯,例如Libra貨幣,但用戶無法發(fā)布聲明其自己的資源類型的自定義模塊歌憨。 這種方法允許Move語言和工具鏈通過實現(xiàn)核心系統(tǒng)組件的經(jīng)驗成熟 - 在向用戶公開之前着憨。 該方法還延遲了通用智能合約平臺固有的事務執(zhí)行和數(shù)據(jù)存儲中的可擴展性挑戰(zhàn)。
這聽起來與前面提到的“開放驗證者成員資格”計劃非常相似务嫡。 好像Facebook還沒有解決以太網(wǎng)多年來一直在努力解決的任何大問題甲抖。
為了管理對計算容量的需求,Libra協(xié)議收取以天秤座硬幣計價的交易費用心铃。天秤座硬幣實際上是協(xié)議的原生單位准谚,很像ETH是以太坊的原生單位。 這導致了另一個關于天秤座假名性質(zhì)的問題:你可以在沒有AML / KYC的情況下獲得硬幣嗎去扣? 如果沒有柱衔,那么您似乎無法匿名使用任何系統(tǒng)的功能。 從閱讀Calibra錢包愉棱,它將需要AML / KYC唆铐。 所以我想知道最終是否會進入不嚴格控制的系統(tǒng)。
該系統(tǒng)設計為在正常運行期間奔滑,當有足夠的容量時艾岂,費用較低。
這真的很模糊朋其,并提出了許多問題:什么是低費用王浴? 什么是正常操作脆炎? 什么是足夠的容量?
3.執(zhí)行交易
區(qū)塊鏈核心邏輯的許多部分都是使用Move定義的氓辣,包括扣除燃氣費秒裕。 為了避免循環(huán),VM在執(zhí)行這些核心組件期間禁用氣體計量钞啸。這聽起來很危險簇爆,但該文檔的作者指出,核心組件必須以防御性方式編寫以防止DoS攻擊爽撒。
Move的關鍵特性是能夠定義自定義資源類型...... Move類型系統(tǒng)為資源提供特殊的安全保證。永遠不能復制資源响蓉,只能移動資源硕勿。這些保證由Move VM靜態(tài)強制執(zhí)行。這允許我們將Libra硬幣表示為Move語言中的資源類型枫甲。
這清除了早先的問題源武,即天秤座硬幣是否是ETH或BTC等本土資產(chǎn)。我希望這些硬幣只是系統(tǒng)啟動時允許的默認或唯一資源類型想幻,其他資源將在以后出現(xiàn)粱栖。
Move的基于堆棧的字節(jié)碼比較高級別的源語言具有更少的指令。此外脏毯,每條指令都具有簡單的語義闹究,可以通過更少的原子步驟來表示。這減少了Libra協(xié)議的規(guī)范占用空間食店,并且更容易發(fā)現(xiàn)實現(xiàn)錯誤渣淤。這聽起來經(jīng)過深思熟慮;希望這意味著他們的腳本語言的安全性將比以太坊更好。
我們看到“天秤座區(qū)塊鏈”實際上并不是區(qū)塊鏈吉嫩。
4.經(jīng)過身份驗證的數(shù)據(jù)結(jié)構和存儲
Libra協(xié)議使用單個Merkle樹為分類帳歷史提供經(jīng)過驗證的數(shù)據(jù)結(jié)構...具體而言价认,分類帳歷史使用Merkle樹累加器方法來形成Merkle樹,這也提供了有效的附加操作自娩。
我們再一次看到“天秤座區(qū)塊鏈”實際上并不是區(qū)塊鏈用踩。這個協(xié)議似乎設計得非常好,但是當分類帳歷史的數(shù)據(jù)結(jié)構是一組簽名的分類帳狀態(tài)時忙迁,它們?nèi)匀环Q它為區(qū)塊鏈脐彩,這真的很奇怪。驗證器正在為每個分類帳狀態(tài)做出承諾姊扔,并且所有歷史分類帳狀態(tài)也都在Merkle樹中承諾丁屎,但我還沒有真正看到形成鏈的任何反向鏈接數(shù)據(jù)列表 - 更不用說是一系列塊。帳戶的身份驗證者是此序列化表示的哈希值旱眯。
請注意晨川,此表示形式要求在對帳戶進行任何修改后重新計算整個帳戶上的身份驗證器证九。 此操作的成本為O(n),其中n是完整帳戶的字節(jié)表示的長度共虑。
嗯愧怜,如果對給定帳戶存儲的數(shù)據(jù)量沒有限制,聽起來像是對DoS攻擊的開放妈拌。
我們預計拥坛,隨著系統(tǒng)的使用,最終與帳戶相關的存儲增長可能會成為一個問題尘分。 正如天然氣鼓勵負責任地使用計算資源一樣猜惋,我們期望存儲可能需要類似的基于租金的機制。 我們正在評估最適合生態(tài)系統(tǒng)的基于租金的機制的各種方法培愁。
另一個未解決的問題著摔。 不能等待“租金太高了!”模因定续。投票權必須在紀元期間以及紀元之后的一段時間內(nèi)保持誠實谍咆,以便允許客戶同步到新配置。脫機時間超過此期限的客戶端需要使用某些外部事實源重新同步以獲取他們信任的檢查點私股。
哎喲摹察。目前尚不清楚這個“時間段”有多長,但如果一個時代不到一天倡鲸,那么我猜測指定的“時間段”也是如此供嚎。看起來這個共識協(xié)議不夠強大峭状,參與者可以按照自己的意愿離開并重新加入網(wǎng)絡查坪。
5.拜占庭容錯共識
LibraBFT假設一組3f + 1票在一組可能是誠實的驗證者或拜占庭人之間分配。 LibraBFT保持安全宁炫,防止雙重花費和分叉等攻擊偿曙,最多f投票由拜占庭驗證員控制。
與PBFT非常相似羔巢,這種一致性算法可以容忍33%的驗證者不誠實望忆。 HotStuff修改聽起來很合理:通過使驗證器簽署塊的狀態(tài)而不僅僅是事務序列來抵抗非確定性錯誤。
一個發(fā)出明確超時的起搏器竿秆,驗證器依靠法定人數(shù)進入下一輪 - 這應該可以提高活力启摄。
不可預知的領導者選舉機制,以限制針對領導者的DoS攻擊幽钢。
聚合簽名保留簽署仲裁證書的身份驗證器歉备,以對塊接受進行投票。
6.網(wǎng)絡
Libra協(xié)議中的每個驗證器都維護系統(tǒng)的完整成員資格視圖匪燕,并直接連接到需要與之通信的任何驗證器蕾羊。 假設無法直接連接的驗證器屬于系統(tǒng)容忍的拜占庭故障的配額范圍喧笔。
這將需要大量工作才能將系統(tǒng)擴展到數(shù)百個驗證器。7.天秤座核心實施
Libra Blockchain的安全性取決于驗證器龟再,Move程序和Move VM的正確實現(xiàn)书闸。 解決Libra Core中的這些問題正在進行中。
幾乎總結(jié)了這一部分利凑,盡管他們在Rust中編寫了實現(xiàn)浆劲,這似乎是性能和安全性的良好開端。
8.表現(xiàn)
我們預計Libra協(xié)議的首次推出將支持每秒1,000次支付交易哀澈,并且在提交和提交的交易之間有10秒的最終時間牌借。
由于只有100個左右的驗證器,并且它們都直接相互連接割按,因此10秒的塊時間聽起來可行膨报。
最低節(jié)點要求:40 Mbps互聯(lián)網(wǎng)連接
1個商品CPU
16 TB SSD
之前有一些參考文獻要求保持驗證程序從頭開始執(zhí)行初始同步的能力,而不是信任來自其他驗證程序的簽名狀態(tài)哲虾。 我希望如果天秤座得到充分利用,那么執(zhí)行這樣的同步將很快變得非常不切實際择示,因此束凑,節(jié)點安全模型將高度依賴于信任驗證器。
9.用移動實施天秤座生態(tài)系統(tǒng)政策
[天秤座硬幣]儲備是實現(xiàn)價值保護的關鍵機制栅盲。 通過儲備汪诉,每枚硬幣都有一套穩(wěn)定和流動的資產(chǎn)。 Libra硬幣合約允許協(xié)會在何時鑄造新硬幣