如今的區(qū)塊鏈實施成本太高且速度太慢,無法作為通用的 Web3 計算平臺運行。成功的系統(tǒng)正在使用實時的鏈下數(shù)據(jù)來尋找市場契合點。
撰文:Pieter Humphrey,DataStax
編譯:善歐巴,
如今,Web3 正處于一個棘手的境地,不僅僅是因為高調(diào)的不良行為者給區(qū)塊鏈生態(tài)系統(tǒng)投下了過長的陰影。如果不放棄區(qū)塊鏈最初吸引人的原則,就很難克服三個重大問題:
- 與 Web 2.0 的同類產(chǎn)品相比,鏈上存儲和寫入操作的成本高得令人望而卻步。
- 為了確?;趨^(qū)塊鏈的系統(tǒng)所承諾的安全性,鏈上存儲和寫入操作非常慢(可以說是設(shè)計使然)。由于需要超過 51% 的節(jié)點就寫入的新數(shù)據(jù)的有效性達成一致,隨著節(jié)點添加到網(wǎng)絡(luò)以及寫入請求流量的增加,性能會進一步下降。
- 任何給定區(qū)塊鏈賬本的長度(大小)都會隨著使用而顯著增長,打破了當(dāng)今市場上絕大多數(shù)數(shù)據(jù)庫基礎(chǔ)設(shè)施的限制。
操作數(shù)據(jù)庫、分析數(shù)據(jù)庫和分布式賬本都是有效且不同類型的數(shù)據(jù)庫管理系統(tǒng)。涌現(xiàn)的不同點對點區(qū)塊鏈網(wǎng)絡(luò)令人困惑的是,它們不僅僅是「數(shù)據(jù)庫」,許多還是可用于托管(服務(wù))互聯(lián)網(wǎng)應(yīng)用程序(或「dApps」)的「服務(wù)器」- 去中心化應(yīng)用程序)由任何有能力的開發(fā)人員編寫。
大多數(shù)新技術(shù)都會經(jīng)歷一個使用過度普遍化的階段,直到找到適合的產(chǎn)品或市場。這三個挑戰(zhàn)的根源在于同樣的「用正確的工具來做錯誤的工作」。例如,大多數(shù) IT 專業(yè)人員不會將操作數(shù)據(jù)庫用作分析數(shù)據(jù)庫,反之亦然。使用分布式賬本作為操作或分析數(shù)據(jù)庫(例如,在部署到區(qū)塊鏈網(wǎng)絡(luò)的 dApp 下)是一種特別糟糕的搭配,原因?qū)⒃谙旅孢M一步解釋。
當(dāng)然,區(qū)塊鏈社區(qū)正在研究創(chuàng)新的方法來解決性能問題而不損害安全性,但這需要時間。以太坊最近在這方面采取了一些變化??梢哉f,信任必須放在某個地方。區(qū)塊鏈將這種信任從傳統(tǒng)的 Web 2.0 模型中轉(zhuǎn)移出來,但并沒有從根本上消除這種要求——至少在今天還沒有。
鏈下實時數(shù)據(jù)為 Web3 尋找產(chǎn)品 / 市場契合度提供了直接途徑。然而,這種方法以 dApp 的操作 / 分析數(shù)據(jù)的形式在 Web 2.0 系統(tǒng)中找到了信任。然而,市場上最成功的 dApp 和基于區(qū)塊鏈的服務(wù)已經(jīng)做出了這種權(quán)衡,使用正確的工具 - 正確的工作方法,利用每種技術(shù)發(fā)揮其最擅長的功能。
在更深入地探討 Web3 如何以及為何能夠利用實時數(shù)據(jù)取得進步之前,讓我們先考慮一下 Web3 的未來前景,無論我們剛剛確定的這三重挑戰(zhàn)如何。
什么將繼續(xù)推動 Web3 向前發(fā)展?
在這樣的時刻,重要的是要記住區(qū)塊鏈≠加密貨幣。加密貨幣是區(qū)塊鏈概念和基礎(chǔ)技術(shù)構(gòu)建塊的應(yīng)用。NFT 和更廣泛的 Web3 概念也是如此。區(qū)塊鏈的核心概念——交易、頭寸和誰擁有什么的不可篡改的公共記錄——與當(dāng)前的金融體系有著持續(xù)而有趣的不同,在當(dāng)前的金融體系中,此類賬本駐留在私人數(shù)據(jù)庫中,只能通過管理機構(gòu)和監(jiān)管機構(gòu)的規(guī)則訪問機構(gòu)和法律。對于特定的用例來說,確實有現(xiàn)實世界的價值和意義。這些是什么?
據(jù)麥肯錫稱, 2021 年最大的 Web3 借貸平臺發(fā)放了 2000 億美元的貸款。貸款、存款、匯款、資產(chǎn)互換、貿(mào)易融資和保險已成為有效的用例。其他點對點、游戲、社交和在線媒體雖然起步較早,但表現(xiàn)出顯著的活躍度。
數(shù)字身份服務(wù)以及供應(yīng)鏈和物流管理仍然是一種明顯的可能性。假設(shè)的元宇宙中的投機用例正在推動真正的投資美元,F(xiàn)acebook 等公司正在轉(zhuǎn)向、更名為 Meta 并全力以赴。
封閉和受保護網(wǎng)絡(luò)上的私有區(qū)塊鏈系統(tǒng)(例如 Hyperledger Fabric)可能不是創(chuàng)建者所設(shè)想的,但現(xiàn)在可以為特定行業(yè)和機構(gòu)提供更通用的用例(代價是成為一個向公眾開放的 Web3 系統(tǒng))民眾)。NFT(不可替代代幣),或者說,獨特、不可分割和不可篡改的代幣理念在以數(shù)字方式表示現(xiàn)實世界和僅限在線的臨時資產(chǎn)方面具有真正的潛在商業(yè)價值。
這些都是安全的公眾猜測使之成為可能的事情,但尚未解決。合法地(在某些情況下,物理上)建立現(xiàn)實世界與數(shù)字 NFT 的連接仍在進行大量探索。Web3 提供商 Alchemy 在本季度的報告中指出,智能合約部署量較 2021 年同季度增長了 143%。
盡管像任何新想法一樣,還有一些重大問題需要克服,但投資資金、開發(fā)商和機構(gòu)興趣確實具有吸引力,可以吸引推動區(qū)塊鏈向前發(fā)展的能量。隨著核心技術(shù)的完善,將會創(chuàng)造更多的 Web3 價值。隨著更多價值的產(chǎn)生,新的機會將會出現(xiàn),從而激發(fā)人們對解決監(jiān)管、法律、數(shù)據(jù)隱私以及更好的開發(fā)人員和最終用戶體驗的興趣。
Web3 開發(fā)人員的鏈上數(shù)據(jù)注意事項
基于工作量證明的區(qū)塊鏈產(chǎn)品面臨的挑戰(zhàn)延伸到了其底層架構(gòu)中。操作數(shù)據(jù)庫非常適合快速、高效的數(shù)據(jù)存儲和檢索。分析數(shù)據(jù)庫非常適合快速、開放式查詢和探索。非關(guān)系數(shù)據(jù)庫大規(guī)模提供不同級別的操作或分析功能,而不犧牲性能和可用性。
基于區(qū)塊鏈的系統(tǒng)提供了安全、不可變的賬本,但以性能為代價。嘗試使用安全的、僅附加的不可變賬本作為操作、分析或非關(guān)系數(shù)據(jù)庫將導(dǎo)致以下問題:
不可接受的表現(xiàn)
Web 2.0 技術(shù)堆棧設(shè)定了世界上大多數(shù)人對快速響應(yīng)的數(shù)字體驗的期望,無論您使用的是平板電腦、手機還是臺式機 / 筆記本電腦,都不需要兩分鐘到六小時。大多數(shù)流行的區(qū)塊鏈實現(xiàn)都基于緩慢的工作證明算法來保護對區(qū)塊鏈數(shù)據(jù)存儲的寫入,并基于緩慢的點對點共識來確??绻?jié)點網(wǎng)絡(luò)讀取的數(shù)據(jù)一致。
數(shù)據(jù)量導(dǎo)致生產(chǎn)中斷
區(qū)塊鏈不僅僅是一個「大數(shù)據(jù)」問題;它也是一個問題。這是巨大的、令人難以置信的數(shù)據(jù),而且隨著使用量的增加只會變得越來越大。很少有操作或分析數(shù)據(jù)庫能夠達到這個級別,甚至更少的數(shù)據(jù)庫能夠真正實現(xiàn)該級別的線性可擴展,從而大大縮小了選擇范圍。
相互矛盾且不準確的數(shù)據(jù)
區(qū)塊鏈廣泛的點對點、最終一致的設(shè)計和工作量證明性質(zhì)使其安全,但會產(chǎn)生不一致的數(shù)據(jù),使其無法作為 Web3 應(yīng)用程序的操作或分析數(shù)據(jù)庫。由于這些問題沒有錯誤消息或故障代碼,因此編寫錯誤處理代碼來測試、解釋或解決這些錯誤以試圖進行補償是很耗時的,或者是不可能的。當(dāng)然,生產(chǎn)中的調(diào)試或其他危急時刻的調(diào)試對于所有相關(guān)人員來說都是一場噩夢。下游技術(shù)支持將無法為憤怒的用戶提供答案,開發(fā)人員也無法為技術(shù)支持人員提供答案。提示應(yīng)用商店的負面評論。
不可接受的存儲 / 使用成本
鏈上操作成本高昂:以太坊區(qū)塊鏈上 1GB 的數(shù)據(jù)需要花費數(shù)千美元。
其他考慮因素
在鏈外索引或同步區(qū)塊鏈數(shù)據(jù)并不簡單,因為這些數(shù)據(jù)不是人類可讀的。區(qū)塊鏈數(shù)據(jù)需要通過第三方數(shù)據(jù)服務(wù)進行解碼、豐富、重組和數(shù)據(jù)建模,然后才能被開發(fā)人員輕松使用。
解決方案:實時鏈下同步數(shù)據(jù)
流行的區(qū)塊鏈網(wǎng)絡(luò)實施需要時間來解決其設(shè)計中的性能問題。鏈下處理是成功的 IT 專業(yè)人員用來充分利用現(xiàn)有數(shù)據(jù)庫技術(shù)和區(qū)塊鏈的優(yōu)勢的主要技術(shù),將每種技術(shù)用于其最佳設(shè)計目的。簡單來說,dApp 應(yīng)該從鏈外數(shù)據(jù)庫讀取數(shù)據(jù),并將數(shù)據(jù)寫回鏈(但僅記錄交易最終結(jié)果所需的最低限度的詳細信息)。
通過將區(qū)塊鏈的狀態(tài)實時同步到操作或分析數(shù)據(jù)庫,您可以確保 dApp 快速運行的數(shù)據(jù)準確性 / 貨幣性。然后,當(dāng)您的 dApp 和鏈下數(shù)據(jù)庫完成盡可能多的預(yù)處理后,將最終結(jié)果提交回鏈。
靜態(tài)和二進制資產(chǎn)可以使用 IPFS 等系統(tǒng),但出于同樣的原因,明智的做法是盡可能考慮鏈下對象存儲(例如 S3)。因此,在實踐中,具有始終同步的鏈狀態(tài)克隆的鏈外數(shù)據(jù)庫應(yīng)該成為盡可能多的操作或分析工作負載的讀 / 寫目標。
但正如前面所討論的,龐大的數(shù)據(jù)量(尤其是隨著時間的推移)會破壞大多數(shù)數(shù)據(jù)基礎(chǔ)設(shè)施。Apache Cassandra 是在這種容量、規(guī)模和性能水平上最強大的操作數(shù)據(jù)庫系統(tǒng)之一。
借助正確的數(shù)據(jù)模型,應(yīng)用程序可以體驗到 Redis 等內(nèi)存緩存以及持久數(shù)據(jù)庫管理系統(tǒng) (DBMS) 所期望的亞秒級速度。如果非關(guān)系數(shù)據(jù)服務(wù)可提供歷史數(shù)據(jù)和始終最新(實時)的鏈下數(shù)據(jù)會怎樣?
在索引過程中,原始數(shù)據(jù)會自動解碼。對于開發(fā)人員來說,這改變了使用原始十六進制數(shù)據(jù)的區(qū)塊鏈數(shù)據(jù)的體驗,如下所示:
對于人類可讀的數(shù)據(jù),如下所示:
然后,Web3 開發(fā)人員通常需要重新組織和豐富來自 Etherscan、whatsabi?、NFT 元數(shù)據(jù)等第三方數(shù)據(jù)服務(wù)的鏈數(shù)據(jù),以便對最簡單的查詢有用。如果隨后將豐富的數(shù)據(jù)建模為可查詢的數(shù)據(jù)庫表,那么開發(fā)人員將擁有標準 DBMS 查詢語言的全部功能(而不是必須學(xué)習(xí)區(qū)塊鏈分析 API)。
讓我們看一個例子:
開發(fā)者意圖:從塊組 134 中搜索五個條目
實際查詢代碼:
系統(tǒng)響應(yīng):
那么,這在實踐中是什么樣的呢?為了讓它變得栩栩如生,請看一下這兩個(實時)示例應(yīng)用程序,它們正是使用這樣的脫鏈實時數(shù)據(jù)服務(wù)。Web3 開發(fā)人員應(yīng)該熟悉應(yīng)用程序源代碼;它是使用流行的 Web3.js 庫編寫的。
NFT 探索者
- 搜索在幾秒鐘內(nèi)創(chuàng)建的每一個 NFT
- 在單個 API 調(diào)用中提取 NFT 的傳輸歷史記錄
NFT Explorer 使用 React 和 Next JS 構(gòu)建,為用戶提供了以太坊區(qū)塊鏈上支持的已實時鑄造或傳輸?shù)?NFT 的完整視圖。
區(qū)塊鏈瀏覽器
- 按區(qū)塊號拉動歷史 Gas 價格
- 按區(qū)塊號拉取 ERC20 傳輸數(shù)量
與 NFT Explorer 一樣,該區(qū)塊鏈數(shù)據(jù)瀏覽器從鏈下數(shù)據(jù)中提取所有區(qū)塊鏈數(shù)據(jù),并為用戶提供已開采的最新區(qū)塊以及最新以太坊交易的實時視圖。
在托管云服務(wù)上提供所有這些將有助于克服傳統(tǒng)的反射,以實現(xiàn)關(guān)系 DBMS 式的易用性和上市時間。在 Cassandra 之上構(gòu)建這樣的服務(wù)還可以獨特地提供將這些數(shù)據(jù)與您的 Web3 應(yīng)用程序在任何區(qū)域或多區(qū)域中共置的能力,而無需分片。Cassandra 的內(nèi)置復(fù)制已經(jīng)在十多年來最極端的互聯(lián)網(wǎng)規(guī)模生產(chǎn)環(huán)境中進行了戰(zhàn)斗測試。
Web3 應(yīng)用程序和開發(fā)人員的優(yōu)勢
通過最小化 dApp 大小、鏈上數(shù)據(jù)存儲和鏈下處理的區(qū)塊鏈寫入,大多數(shù)用例的運營成本將重新調(diào)整到 Web 2.0 水平。用戶在其選擇的設(shè)備上的 dApp 性能恢復(fù)到可接受 / 預(yù)期的水平。然后,dApp 開發(fā)人員可以設(shè)計適當(dāng)?shù)摹傅却龝r間」對話框、屏幕和警告,以設(shè)置用戶在需要向基于區(qū)塊鏈的系統(tǒng)提交寫入操作時的期望。
最大、最棘手的數(shù)據(jù)一致性問題已得到解決,因為 dApp 的大部分操作數(shù)據(jù)都存儲在快速、可靠的鏈下數(shù)據(jù)庫中。這不僅可以節(jié)省數(shù)小時的令人沮喪(并且可能毫無結(jié)果)的調(diào)試時間,而且可以避免可能無法解決的生產(chǎn)錯誤。
由于非關(guān)系數(shù)據(jù)庫等鏈外系統(tǒng)可以處理大數(shù)據(jù)量,因此隨著區(qū)塊鏈的增長,您的 dApp 將滿足正常運行時間和響應(yīng)時間的預(yù)期,而無需在投入生產(chǎn)幾個月后進行昂貴的系統(tǒng)重新設(shè)計或徹底重寫。根據(jù)最新的 Stack Overflow 開發(fā)者調(diào)查,與 Cassandra 一起工作——可以說是最可靠、最可擴展和最快速的非關(guān)系數(shù)據(jù)庫——也是薪酬最高的工作之一。
對企業(yè)的好處
損壞、緩慢或不準確的應(yīng)用程序會導(dǎo)致用戶、收入和投資者信心的不可挽回的損失。但是,讓我們來討論一下我們都希望進行的對話——將區(qū)塊鏈狀態(tài)實時同步到鏈下、非關(guān)系型基礎(chǔ)設(shè)施可能會帶來哪些令人興奮的事情?
- 分析 dApp:將 dApp 與鏈下分析數(shù)據(jù)庫集成,打開了整個「Web 2.0」選項和用例的前景。
- 欺詐檢測 / 預(yù)防功能:構(gòu)建可以驅(qū)逐不良行為者或標記 / 阻止濫用的 dApp,從而保護您的用戶社區(qū)和您的業(yè)務(wù)。
- 數(shù)字資產(chǎn)交換的權(quán)威:NFT 交換需要準確 / 最新的市場數(shù)據(jù),以促進最佳的交易 / 銷售 / 交換。當(dāng)用戶在幾分鐘后看到自己以較低的價格購買的商品時,防止買家后悔,以及資源密集型的退款流程和負面的用戶評論。
- 基于位置的功能:了解當(dāng)前位置是當(dāng)今許多移動應(yīng)用程序的基礎(chǔ)。將其帶到您的 dApp 中!
- 物聯(lián)網(wǎng)應(yīng)用:來自軟件或硬件的機器生成的數(shù)據(jù)的寫入速度和容量只有非關(guān)系數(shù)據(jù)庫才能毫不妥協(xié)地處理。
- 數(shù)據(jù)主權(quán):出于合規(guī)性、監(jiān)管或法律原因,使用 dApp 找到區(qū)塊鏈狀態(tài)的同步副本(無論其部署在世界何處)。
區(qū)塊鏈交易解析時間由協(xié)議決定,如果沒有汽油 / 交易費或使用加速器服務(wù)就無法加快。通過盡可能多地在鏈外進行預(yù)處理,您可以最大限度地減少交易最終結(jié)果的大小和頻率。這將降低任何用例的鏈寫入成本并提高 dApp 速度。
親自嘗試作為服務(wù)
這種對實時數(shù)據(jù)的關(guān)注超越了區(qū)塊鏈。這是該行業(yè)十多年來一直在創(chuàng)新的領(lǐng)域。但區(qū)塊鏈等技術(shù)有助于表明實時數(shù)據(jù)成為數(shù)據(jù)架構(gòu)和業(yè)務(wù)模型一部分的重要性。
當(dāng)我們等待量子密碼學(xué)作為一種服務(wù)、原子鐘的普及和分布式共識算法的新創(chuàng)新時,實時數(shù)據(jù)現(xiàn)在可以通過 Web 2.0 成本結(jié)構(gòu)獲得。實時數(shù)據(jù)仍將是未來任何區(qū)塊鏈實施的核心、基本要素。