什麼是 BigchainDB,它如何與乙太坊一起使用?
它是對乙太坊等去中心化處理平台的補充。
在區塊鏈堆棧中,它表明乙太坊的“分散處理”高於文件系統和 BigchainDB。
BigchainDB如何在乙太坊中使用?Geth 可以使用 BigchainDB 嗎?鑑於 BigchainDB 不斷重複“每秒一百萬次寫入”,這與每秒事務數相同嗎?然後解決了 tx/second 的可擴展性問題嗎?
我是 Dimi - BigchainDB 的開發人員。
在區塊鏈堆棧中,它表明乙太坊的“分散處理”高於文件系統和 BigchainDB。
在 BigchainDB,我們相信每項技術都有其用途。在典型的 Web 應用程序堆棧中,某些技術(例如 Amazon EC2)比數據查詢(例如 MongoDB)更擅長處理。對於開發人員來說,將類似的堆棧映射到去中心化範式應該很自然。
這是一個看起來如何的範例。
__________________________________________________________________ | Application: DApp | ___________________________________________________________________ | Processing: Ethereum, Hyperledger, ... | ___________________________________________________________________ | File Storage: | Database: | e-cash/e-gold: | | IPFS, Swarm, ... | BigchainDB, IPDB, ... | Bitcoin, Ripple, ... | ___________________________________________________________________
BigchainDB如何在乙太坊中使用?
有很多途徑可以實現這一目標。一些約束是執行期間 EVM 的隔離、消息和 OP 程式碼的標準化、數據的確定性等。下面我列出了一些關於如何將 Bigchaindb 與乙太坊以及可能的其他智能合約平台集成的場景。請注意,其中一些比其他的更擱置 - 這需要額外的操作碼或原始碼的一個分支。
- 使用乙太坊智能合約作為具有訪問控制權限的系統資料庫,用於儲存指向外部資源(如 BigchainDB 和 IPFS)的 URI。
- 使用 BigchainDB 作為乙太坊智能合約的系統資料庫。例如 dapp.registry。
- 將數據從 BigchainDB 推送到乙太坊作為預言機,而無需通過例如更改乙太坊。Oraclize 和其他
- 在乙太坊 dapp 中使用 BigchainDB 中的數據,作為一等公民,但需要對乙太坊進行更改:需要將操作碼添加到乙太坊
- 使用Interledger 協議 (ILP)交換消息/資產/數據。
- 由 BigchainDB 和 Ethereum 互補的更高級別的區塊鏈平台集成(BigchainDB 作為數據庫後端;乙太坊作為智能合約或貨幣)。例如Monax、MonetaGo、BlockEx
- 通過 BDB 和 Ethereum 互補的高級區塊鏈應用程序集成(BigchainDB 作為 DB;乙太坊作為智能合約或貨幣)
鑑於 BigchainDB 不斷重複“每秒一百萬次寫入”,這與每秒事務數相同嗎?然後解決了 tx/second 的可擴展性問題嗎?
當我們最初發布 BigchainDB 時,我們在底層數據儲存(RethinkDB)上展示了 1M 寫入/秒,以展示大規模吞吐量的可能性,並作為對 BDB 吞吐量的期望(我們談論“邁向 1M”)。大約在那個時候,我們有高達 200K tx/s 的內部基準。從那時起,我們暫停了吞吐量方面的工作,專注於事務 UX 和穩定性。因此,BDB 目前的吞吐量較低,但在我們的路線圖中,我們努力將 BDB 重新優化為理想的數字,能夠利用底層數據儲存的高性能和水平擴展以及並行處理。
編輯: