使用區塊鏈構建應用程序
區塊鏈的承諾很簡單,但功能強大:提供完全有序的日志的抽象,該日志分布在一組參與者中,并且對篡改保持穩健。
這種完全有序的日志抽象保證了參與的每一方將看到i)相同的一組操作,并且ii)將以相同的順序看到這些操作。考慮下面的簡單資產轉移示例:Alice和Bob分別有兩次存款,然后是從Bob轉移到Alice,最后是Alice提款。每個操作都記錄在一個完全有序的日志中,由一個銀行聯盟維護。
實現共享日志的簡單銀行聯盟。
然后可以輕松地使用生成的共享日志來實現共享狀態,其有效性得到所有聯盟參與者的證明。Bob可以在BoA查詢狀態,而Alice是Chase的客戶,但他們仍然保證同意。到目前為止,一切都很好!
走向交易系統
雖然完全有序日志抽象的推理很簡單,但遺憾的是它不能滿足大多數傳統Web服務應用程序的實際需求。一個簡單的日志可能足以滿足上述基本資產轉移,但無法滿足更復雜的在線交易處理(OLTP)風格的應用程序,例如在線供應商、在線銀行或多航空公司/酒店預訂。從廣義上講,造成這種情況的原因有兩個:
原始日志可擴展性。
應用程序希望他們的數據庫快速。當請求不在同一數據上競爭時,它們應該水平擴展,否則優雅地降級。通常,數據庫通過依賴分片、可序列化和并發控制來做到這一點。
Gem更名OpenSea Pro,新版官網上線:4月5日消息,Gem宣布更名OpenSea Pro,并上線新版官網。官網表示,OpenSea Pro仍在追蹤用戶在平臺上的活動,并將持續“記分”。新版官網上線后,OpenSea Pro增加了指定地址的交易量gas消耗查詢功能。
2022年4月,OpenSea宣布收購Gem,收購完成后Gem作為獨立的產品和品牌繼續獨立于 OpenSea運營。[2023/4/5 13:45:16]
相反,我們完全有序的日志抽象的現有實現通常采用分布式和復制狀態機(RSM)的形式,它可以容忍一部分節點任意行為不端。有很多很酷的協議可以解決這個問題,盡管最流行的協議是PBFT(OSDI'99)和Hotstuff(PODC'19)。這些來自許多fotm改編,盡管通常都有相同的缺點:
一方面,每個副本完全對每個操作進行排序,然后按順序執行——顯然,這對于擴展吞吐量來說并不理想。
其次,他們依賴專門的領導者充當排序器,這既是瓶頸又是公平問題——領導者必須接收、處理和轉發所有事務,以及它具有不成比例的影響過度訂購,并可能“意外”審查交易,或搶先獲得財務優勢。
最后,這些協議需要幾個階段來安全地提交每個操作,與通常部署的崩潰容錯系統相比,延遲明顯更高……
ApeCoin DAO擬推出“ApeCoin膠囊”,持20枚APE的錢包將有資格申領:2月17日消息,ApeCoin DAO已發起一項全新提案AIP-150并啟動投票,擬推出全新“ApeCoin膠囊(ApeCoin Capsules)”,該膠囊中將包含4份貼紙、1個Patch和1份海報,總計1000份,其中250份將作為贈品由ApeCoin保留,持有20枚APE的錢包將有資格申領,但每個錢包/實體地址僅能申領1個“膠囊”。本次投票將于2月23日結束,當前贊成率為100%。[2023/2/17 12:12:38]
好的——此時你可能會問“你是不是簡化太多了?我們知道如何以更優化的方式構建我們的系統!”當然,你是對的——為了改善可擴展性瓶頸,我們投入了大量精力來仔細調整這些共識協議——直到我們能夠每秒訂購100或1000次額外的操作。
虛擬操作的高排序速度并不是高應用速度的決定性因素。
不幸的是,可擴展性只是故事的一半。同樣重要的是可編程性和可用性:
可用性和應用程序可擴展性。
通常容易被擱置的問題是我們真正想要訂購的操作是什么?
答案相當簡單。當今世界已經使用傳統數據庫系統構建的應用程序希望繼續使用數據庫。
通過Avalanche Bridge跨鏈至Avalanche的比特幣數量已接近3300枚:10月14日消息,據Snowtrace數據顯示,在Avalanche Bridge新增對比特幣的支持后,通過Avalanche Bridge跨鏈至Avalanche的比特幣數量約為3278枚。
此前報道,通過Avalanche Bridge跨鏈至Avalanche的比特幣數量于9月28日左右突破2000枚。[2022/10/14 14:27:49]
應用程序可能會尋求許可的區塊鏈來實現去中心化的分布式數據庫的功能。
不幸的是,現有的數據庫不是去中心化的,對攻擊或不誠實的一方也不健壯。那么我們能做些什么來彌補這個差距呢?為了采用我們很酷的BFT工作,應用程序想要我們什么?
1.應用程序需要事務和查詢功能。它們必須能夠將操作組捆綁在一起,并以原子方式執行它們。這樣做極大地簡化了應用程序開發和無錯誤代碼的設計。此外,應用程序還希望能夠執行查詢以有效地計算過度狀態。許多人使用SQL這樣做,并且不愿意放棄大量遺留代碼。
??應用程序的操作不是單一的請求,而是事務的一部分。
2.其次,應用程序開發人員需要交互性:即直接將數據庫請求與應用程序代碼交錯的能力。存儲過程或完全獨立的事務請求不被開發人員和通常非初學者1所喜歡,因為它們使初始開發和以后的功能更新變得復雜。
Meta元宇宙設備Quest 2遭觸覺技術開發公司Immersion專利侵權起訴:金色財經報道,觸覺技術開發公司 Immersion 已對 Meta 提起訴訟,指控后者通過侵犯其專利的方式打造了虛擬現實(VR)頭戴設備。Immersion 在提交給得克薩斯州韋科聯邦法院的一份起訴書中稱,Meta Quest 2 侵犯了六項涉及觸覺技術的專利,該公司正尋求法院下令阻止 Meta 使用侵權技術并尋求數額不詳的賠償金額。Meta 首席執行官馬克·扎克伯格(Mark Zuckerberg)此前承諾每年投入 100 億美元來實現由 VR 支撐的元宇宙愿景,數據顯示,Meta Quest 2 的銷量在 2021 年達到 870 萬部,是前一年的兩倍,占據了 80% 的市場份額。截止目前,Meta 官方尚未就技術侵權訴訟時間發表置評。(law360)[2022/5/29 3:48:20]
??一般事務的操作不是事先確定的。
1在實踐中,大多數DBMS使用此類事務模型的時間不到10%
結論:我們不是在排序獨立的操作,而是作為交互式事務的一部分的操作。
這是一個艱難的生活
不幸的是,完全有序的日志自己提供的簡單的順序執行模式,并沒有滿足這些需求。它不僅將接口限制為可以在本地執行的限制性事務模型,而且一次性將它們全部排序,從而扼殺了橫向可擴展性的希望。
CoinW成為西班牙甲級足球聯賽贊助商:據官方消息,CoinW宣布登陸西甲聯賽(西班牙人VS瓦倫西亞),并將在8萬人體育館進行區塊鏈內容展示。除了足球板塊外,CoinW還將布局籃球、F1方程式、臺球等體育賽道,將區塊鏈與體育進行融合。
針對此次合作,CoinW CEO表示,“非常榮幸能夠成為西甲聯賽的贊助商,通過此次合作,希望能推動區塊鏈和加密資產走進全球億萬用戶的生活,同時CoinW幣贏也將為數億球迷帶來獨家區塊鏈體驗。”[2022/5/16 3:17:37]
但那不是真的?!讓我們分片,讓我們部分訂購!。
可擴展性創可貼
為了提高并行度,應用程序可以選擇對其數據存儲進行分區以水平擴展資源。這有幫助,但只是針對底層日志缺點的創可貼:各個分片仍然是內部有序的,并且需要跨分片協調機制來保持多分片事務的一致性。
我們可以嘗試提前部分排序執行嗎?不幸的是,答案是否定的——對交互性和靈活交易的需求給我們的計劃帶來了麻煩。不可能戰略性地并行調度事務執行,因為交互性意味著我們不再提前知道完整的事務。例如,應用程序可能最初發出一個讀取請求,并且僅基于結果決定接下來要觸摸哪個鍵
2不要與將數據分發與排序層中的共識分開的內存池樣式DAG相混淆。
建立交易系統
盡管如此,為了圍繞我們的日志抽象構建表達性事務系統,我們需要在復制層之上構建事務語義。
將分布式提交(2PC)和并發控制(CC)分層在完全有序的分片日志日志庫之上的模塊化系統架構示例。—致謝:張等。al,什么時候訂購?
不幸的是,雖然這樣的設計實現了數據庫的API要求,但其模塊化特性引入了冗余,并且在吞吐量和延遲方面不足。
重要的是——盡管在討論我們的日志性能時被可悲地忽略了——吞吐量被衡量為應用程序的進度,而不是復制進度:排序的操作不再對應于單個、獨立的事務,但是對于確保事務原子性和語義正確性的單獨的讀或寫操作和相關的CC機制。
??應用程序的吞吐量不是?以操作的順序來衡量的,而是以提交的事務來衡量的。
我們將對此類模塊化設計及其缺點的更詳細探索推遲到現有工作中——雖然我們會在聊天結束時簡單地回到它——而是問以下問題:
觀察到的性能缺陷是根本性的嗎?
不幸的是,正如我們將爭論的那樣,目前的答案是肯定的。
不足……
我們認為,可擴展性差的根本原因是,我們正在構建的系統在排序層和物化層之間存在堅如磐石的分離。
在日志之上實現應用程序的系統中的抽象關注點分離。
目前,排序層僅與信任有關。它基本上是在說,多方如何就如何排序相同的字節序列達成一致?
相反,物化層是關于語義和數據的。它詢問您如何實際執行這些字節或那些操作來生成數據庫?
因為排序層不理解操作的語義,所以它不能做得更好。排序層有很多改進——例如使用多個領導者、流水線協議或記錄DAG而不是序列——但大多數人從根本上忽略了上面的層。
互動+擴展的關鍵
那么,我們該何去何從?
幸運的是,我們知道在實踐中,大多數現實世界的工作負載主要由訪問完全不同對象的操作組成,因此根本不需要相互排序。事實上,對于原本可以愉快地并行執行的操作來說,施加總訂單的要求太強了:以分別想購買賽車和冰淇淋的Alice和Bob為例。不需要對另一筆交易進行排序。
可序列化,傳統數據庫的主要安全約束,抓住了這個觀察:
它指出,操作可以并行執行,并且以非原子方式執行,只要結果看起來與事務按順序執行隔離的執行沒有區別。
Alice、Bob和Charlie可以愉快地并行執行他們的事務,并將執行拆分為非原子子操作。結果相當于順序執行。
模糊線條
復制層和分布式事務層都冗余地實現了一致性。換句話說,復制層的排序是不必要的,因為應用程序層已經強制執行可串行化!我們兩個都不需要!
擴展的關鍵是打破使層分開的黑盒接口,并將復制集成到并發控制本身中。Basil就是一個可以做到這一點的系統。
簡而言之,Basil允許所有用戶樂觀地并行執行交互式事務,并允許副本無序地處理所有操作。由于副本可以在本地觀察到的事務集上強制執行可串行化,因此我們可以通過依賴仲裁交集來保持容錯和一致性。
結果Basil可以更快地顯示和提交事務:在常見情況下,它可以在一次往返中提交事務(最壞情況下為2次——而不是需要2-5個RT通過基于SMR的設計,在競爭瓶頸的工作負載上,延遲的減少反過來又顯著提高了吞吐量。
如果這聽起來很有趣,去看看這篇論文吧!Basil:用ACID分解BFT
評估預告片:
TLDR:?Basil比模塊化BFT交易堆棧好5倍!
在我們分道揚鑣之前,我們將向您簡要介紹一下這在實踐中的效果如何。
下圖顯示了Basil與3個基準系統相比的吞吐量:Tapir(SOSP'15),它是最先進的容錯容錯數據庫系統,以及TxHotstuff和TxBFTSmart,它們是在Hotstuff上實現并發控制的事務系統和PBFT分別實現。工作負載是經典的OLTP基準,模擬在線供應商(TPCC)、在線銀行(Smallbank)和輕量級Twitter(Retwis)。
該實驗在具有3個分片且f=1的本地網絡設置上運行:
跨OLTP基準工作負載的峰值事務吞吐量。
Basil的性能比BFT的同類產品好得多,主要是因為它減少了延遲,這轉化為吞吐量。隨著網絡延遲的增加,預計這種影響會進一步加劇。Basil仍然比Tapir慢,主要是因為它使用簽名來保證安全——值得注意的是,隨著可用簽名方案的不斷改進,這一成本將會縮小。
閉幕致辭
當然,這一切說起來容易做起來難!打開復制黑盒會帶來一系列需要解決的挑戰。了解Basil如何處理這一問題的所有很酷的細節是您閱讀整篇論文的眾多樂趣之一!
來源:金色財經
隨著互聯網技術的迭代與更新,萬物互聯。如今在大數據時代下,我們的生活消費得到了巨大變革,僅在2020年,世界上每個人每秒就創建了大約1.7Mb的數據.
1900/1/1 0:00:00BobbyOng是CoinGecko的聯合創始人,CoinGecko成立于2014年4月,是全球最大的加密資產行情分析平臺.
1900/1/1 0:00:00Circle、Tether和BinanceUSD等穩定幣為投資者提供了保持最小損失的機會。對于一些人來說,這些與美元掛鉤的加密貨幣提供了在市場下跌時全力以赴的機會.
1900/1/1 0:00:002022-0824晚間分析比特幣短線阻力21800,強壓22500;支撐21150,強支撐20800策略一:建議21100-20900區間買入,保護20700.
1900/1/1 0:00:00目前各種公鏈雨后春筍般涌出,其中最有代表性的還數Aptos、Sui、Linera等Meta系。今天整理了30個未發幣公鏈項目,有興趣收藏、關注.
1900/1/1 0:00:00以太坊正在努力清除兌美元的1,650美元阻力位。ETH仍面臨跌破1,500美元支撐位的風險。以太坊試圖清除1,650美元的阻力位但失敗了。價格現在低于1,630美元和100小時簡單移動平均線.
1900/1/1 0:00:00