bloXroute任務(wù)是支持和開放每一個想要擴展的區(qū)塊鏈項目。雖然區(qū)塊鏈發(fā)行網(wǎng)絡(luò)(BDN)的第一個版本將支持比特幣、比特幣現(xiàn)金和以太坊。
bloXroute的發(fā)展速度正在加快——我們將很快部署系統(tǒng)的第1版,這只是使所有區(qū)塊鏈社區(qū)都可以使用bloXroute的第一步。bloXroute是一個對所有區(qū)塊鏈開放的中立平臺,我們的目標是不斷增加對新的區(qū)塊鏈項目的支持。我們意識到每個項目都想要擴展,我們不太可能跟上對可擴展性區(qū)塊鏈的需求。因此,我們將集成API設(shè)計得盡可能簡單,以便任何社區(qū)都可以實現(xiàn)網(wǎng)關(guān)邏輯,并確保BDN是可證明中立的。
背景
在深入討論細節(jié)之前,我們先簡要回顧一下bloXroute體系結(jié)構(gòu)。bloXroute部署了一個區(qū)塊鏈分發(fā)網(wǎng)絡(luò)(BDN),幫助區(qū)塊鏈節(jié)點傳播事交易,并更快、更有效地阻塞交易,最重要的是,它具有擴展性,即實現(xiàn)每秒數(shù)千個交易(TPS)。BDN的架構(gòu)、中立性和性能在以前的媒體文章中討論過。
BDN由兩種類型的節(jié)點組成: Relay和 網(wǎng)關(guān)。Relay是相互連接的高端服務(wù)器,以形成全局bloXroute主干,以高效的方式快速傳輸區(qū)塊鏈消息(交易和塊)。網(wǎng)關(guān)是一個小型的開源軟件,并排部署在區(qū)塊鏈節(jié)點上,因此兩者運行在同一臺機器上。網(wǎng)關(guān)的一端使用區(qū)塊鏈節(jié)點說區(qū)塊鏈“語言”,另一端使用RelaybloXroute語言。 它有許多功能;最值得注意的是,它將塊從節(jié)點壓縮和加密到Relay,并將塊從Relay解密和解壓縮到區(qū)塊鏈節(jié)點。
實現(xiàn)您自己的網(wǎng)關(guān)
bloXroute 網(wǎng)關(guān)將是開源的,因此您可以調(diào)整網(wǎng)關(guān)代碼,使其支持任何區(qū)塊鏈協(xié)議。在高層次上,這包括三項任務(wù):
1. 實現(xiàn)區(qū)塊鏈消息(即交易和塊),以便bloXroute 網(wǎng)關(guān)能夠理解它們
2. 實現(xiàn)消息轉(zhuǎn)換(即,編寫接受本地區(qū)塊鏈消息并將其轉(zhuǎn)換為bloXroute消息的代碼,反之亦然)。
3. 定義特定于您的區(qū)塊鏈的協(xié)議(即,編寫協(xié)議處理程序。例如,比特幣和以太坊的常見處理程序有a) handshake, (b) ping和 pong, inv, (d) transaction message, (e) block message, 等。)
將網(wǎng)關(guān)與bloXroute集成
雖然任何人都可以實現(xiàn)bloXroute網(wǎng)關(guān),但是繼續(xù)前進需要與bloXroute團隊進行協(xié)調(diào)。需要進行協(xié)調(diào)的理由如下。
首先,我們需要知道bloXroute中當前是否支持協(xié)議所需的消息類型。例如,bloXroute已經(jīng)支持諸如交易和塊之類的通用消息。但是,如果您需要支持其他消息類型,我們必須首先在bloXroute中實現(xiàn)它。接下來,是您的區(qū)塊鏈節(jié)點發(fā)送的所有消息在自然界中廣播,即,需要到達所有其他區(qū)塊鏈節(jié)點。如果是這樣,廣播原語已經(jīng)部署在bloXroute中。但是,如果您需要支持其他通信類型,例如單播或多播,我們必須首先理解并實現(xiàn)這部分。隨著BDN的成熟,我們越來越擅長處理各種消息類型和通信模式,這種討論將會減少。
其次,出于純粹的操作原因,我們需要了解您的區(qū)塊鏈網(wǎng)絡(luò)的預(yù)期統(tǒng)計數(shù)據(jù),以便為部署做好適當?shù)臏蕚?。例如,交易在您的網(wǎng)絡(luò)中保持多長時間有效?積木有多大?預(yù)期的TPS率是多少?你目前有多少礦工或驗證者?您希望您的網(wǎng)絡(luò)擁有多少節(jié)點(不一定是礦化器或驗證器)?節(jié)點的地理分布如何?所有這些信息將幫助我們調(diào)整我們的系統(tǒng),例如,在一個新的區(qū)域添加一個BDN節(jié)點(Relay),以最好地服務(wù)于這個項目。
第三,我們將為您的項目分配一個惟一的網(wǎng)絡(luò)ID,它將部署在Relay和 網(wǎng)關(guān)上。由您的網(wǎng)關(guān)生成的所有消息都將包含此網(wǎng)絡(luò)ID,該ID有助于我們的BDN識別和將消息優(yōu)化路由到屬于您的網(wǎng)絡(luò)的其他網(wǎng)關(guān)。
最后,在轉(zhuǎn)入生產(chǎn)模式之前,有必要測試整個系統(tǒng)的功能。為此,我們將配置一個測試環(huán)境來支持您所分配的網(wǎng)絡(luò)ID。我們還將提供非常強大的調(diào)試支持,使您能夠了解潛在的問題所在以及如何消除它們。
或者,您可以選擇將您自己的網(wǎng)關(guān)實現(xiàn)到您的區(qū)塊鏈代碼中,并直接連接到我們的Relay網(wǎng)絡(luò)。選擇讓您的節(jié)點本機使用bloXroute協(xié)議將會提高性能,因為您跳過了網(wǎng)關(guān)將區(qū)塊鏈協(xié)議“轉(zhuǎn)換”為bloXroute協(xié)議的過程。網(wǎng)關(guān)協(xié)議最初很可能會發(fā)生更改,所以請確保您的代碼考慮到了這一點。
最好的開始方式是什么?
在開始上述任何步驟之前,了解單個區(qū)塊鏈節(jié)點能夠獨立維持的最大TPS速率是很有幫助的。如果您不知道,您應(yīng)該測試它,因為這是您系統(tǒng)可以達到的性能上限。在比特幣中,這可以通過觀察一個只有一家礦工組成的網(wǎng)絡(luò)可以處理多少筆交易來驗證。bloXroute是一個很好的資產(chǎn),可以幫助促進任何項目,但是bloXroute不能改善您的區(qū)塊鏈節(jié)點可能遇到的潛在端點瓶頸。我們可以根據(jù)解決此類瓶頸的經(jīng)驗提供指導。
結(jié)論
在這篇博客文章中,我們概述了將區(qū)塊鏈項目與bloXroute集成以實現(xiàn)規(guī)模的高級流程。bloXroute對單個區(qū)塊鏈網(wǎng)絡(luò)中的所有實體都是中立的,同樣,它對不同的區(qū)塊鏈項目也是中立的。
評論
查看更多