區(qū)塊鏈?zhǔn)且粋€(gè)分布式系統(tǒng)霎箍,它將獨(dú)立用戶聚集到一個(gè)網(wǎng)絡(luò)中六敬。與任何分布式軟件系統(tǒng)一樣锌蓄,區(qū)塊鏈?zhǔn)菄@多層體系架構(gòu)構(gòu)建的〕硐睿現(xiàn)在我們來(lái)更詳細(xì)地討論構(gòu)成CREDITS體系的邏輯層涯雅,指出其功能和組件交互作用背后的基本原則。
? ? ? ? ? 分布式網(wǎng)絡(luò)軟件中通常有三個(gè)邏輯層展运。根據(jù)網(wǎng)絡(luò)實(shí)現(xiàn)方法活逆,包括抽象層和獨(dú)特層:?
? ? ? ? ? 1.表示層;
? ? ? ? ? 2.應(yīng)用邏輯層拗胜;?
? ? ? ? ? 3.數(shù)據(jù)層蔗候。?
各邏輯層的特征
? ? ? ? ? 表示層。確保將信息轉(zhuǎn)換并提供給用戶的軟件系統(tǒng)組件構(gòu)成表示層埂软⌒庖#客戶端可以是外部的、獨(dú)立于系統(tǒng)的勘畔,也可以完全是系統(tǒng)中固有的所灸。在后一種情況下,客戶端形成表示層炫七,這是客戶端-服務(wù)器系統(tǒng)的典型特征爬立。在網(wǎng)絡(luò)交互通過(guò)客戶端程序的區(qū)塊鏈網(wǎng)絡(luò)中,經(jīng)常采用相同的原理诉字。?
? ? ? ? ?應(yīng)用邏輯層懦尝。本層通過(guò)表示層傳遞由客戶端請(qǐng)求的交易知纷。程序和業(yè)務(wù)流程由網(wǎng)絡(luò)決定。根據(jù)功能需求陵霉,一個(gè)層可以進(jìn)一步分成多個(gè)組件琅轧,每個(gè)組件采用一套流程、單獨(dú)程序和種類(lèi)的形式踊挠。
? ? ? ? ?數(shù)據(jù)層乍桂。該部分用于管理數(shù)據(jù)庫(kù)連接和處理數(shù)據(jù)使用。
? ? ? ? ?在一個(gè)層次的進(jìn)程不需要在另一個(gè)層次的直接數(shù)據(jù)訪問(wèn)效床,因此可以為每個(gè)進(jìn)程分配單獨(dú)的程序睹酌。?
網(wǎng)絡(luò)層和多層系統(tǒng)
? ? ? ? 從概念上講,有多種可能的層組合剩檀,所以現(xiàn)在是討論層級(jí)的時(shí)候了憋沿。?
? ? ? ? 例如,形成相當(dāng)繁瑣的系統(tǒng)的一層網(wǎng)絡(luò)建議將所有組件布置在一個(gè)層級(jí)中沪猴。通常辐啄,這種類(lèi)型的系統(tǒng)是用最簡(jiǎn)單的語(yǔ)言編寫(xiě)的,由于其整體性設(shè)計(jì)运嗜,相對(duì)難以進(jìn)行維護(hù)壶辜,但從數(shù)據(jù)轉(zhuǎn)換成本的角度來(lái)看,其成本很低担租。?
? ? ? ? 反過(guò)來(lái)砸民,兩層體系架構(gòu)在客戶端-服務(wù)器系統(tǒng)中相當(dāng)普遍,在這種系統(tǒng)中奋救,表示層擁有單獨(dú)的層級(jí)岭参。
? ? ? ? 與一層和兩層網(wǎng)絡(luò)相比,三層和多層網(wǎng)絡(luò)更適合于復(fù)雜的集成模型尝艘。其體系架構(gòu)需要在客戶端-服務(wù)器交互中引入第二層(基于軟件)冗荸。用于集成邏輯的專(zhuān)用空間是這種體系架構(gòu)的核心優(yōu)勢(shì)。中間件層程序提供了引入附加功能屬性的機(jī)會(huì)利耍,例如事件記錄、數(shù)據(jù)完整性保證等盔粹。?
? ? ? ? ?區(qū)塊鏈?zhǔn)且粋€(gè)多層級(jí)系統(tǒng)隘梨,適應(yīng)性強(qiáng),但實(shí)施成本較高舷嗡。?
支持CREDITS網(wǎng)絡(luò)設(shè)計(jì)的原則
? ? ? ? ?我們來(lái)更具體地了解一下多層級(jí)體系架構(gòu)在CREDITS分散式網(wǎng)絡(luò)中是如何準(zhǔn)確地傳送的轴猎,以及其邏輯組件是如何相互作用的。
表示層
? ? ? ? ? 第一層由確保用戶與區(qū)塊鏈平臺(tái)交互的組件構(gòu)成进萄,這些組件是網(wǎng)頁(yè)界面捻脖、桌面應(yīng)用程序和監(jiān)控器(網(wǎng)絡(luò)監(jiān)控系統(tǒng))或由外部用戶開(kāi)發(fā)的任何其他應(yīng)用程序锐峭。客戶端應(yīng)用程序必須在具有活動(dòng)互聯(lián)網(wǎng)連接的計(jì)算機(jī)上安裝和啟動(dòng)可婶,才能與信用網(wǎng)絡(luò)交互沿癞。所有請(qǐng)求都是通過(guò)這個(gè)客戶端應(yīng)用程序發(fā)送到區(qū)塊鏈網(wǎng)絡(luò)的,也正是在這里矛渴,用戶能夠看到中間件和交易的最終結(jié)果椎扬。任何區(qū)塊鏈系統(tǒng)在其體系架構(gòu)中都具有覆蓋網(wǎng)絡(luò);為建立與網(wǎng)絡(luò)的連接具温,計(jì)算機(jī)必須能夠處理針對(duì)該網(wǎng)絡(luò)的消息并影響其狀態(tài)蚕涤。實(shí)際上,這是安裝客戶端的真正目的铣猩。在一些區(qū)塊鏈網(wǎng)絡(luò)中揖铜,該層次的特征在于對(duì)公共系統(tǒng)的有限訪問(wèn),例如达皿,銀行鏈僅允許銀行建立到分布式網(wǎng)絡(luò)的連接天吓。CREDITS不會(huì)施加這種約束,任何希望成為區(qū)塊鏈系統(tǒng)一部分的用戶都可以訪問(wèn)應(yīng)用程序鳞绕。
? ? ? ? ?此外失仁,還可以通過(guò)網(wǎng)頁(yè)版?zhèn)魉秃?jiǎn)化的網(wǎng)絡(luò)交互選項(xiàng),這不需要安裝完整節(jié)點(diǎn)或客戶端應(yīng)用程序们何。事實(shí)上萄焦,所有交易都只能使用網(wǎng)頁(yè)界面來(lái)執(zhí)行。對(duì)于不習(xí)慣操作軟件控制臺(tái)的用戶來(lái)說(shuō)冤竹,這樣處理起來(lái)更簡(jiǎn)單快捷拂封。?
? ? ? ?“最輕”交互選項(xiàng)是使用查看版或監(jiān)控器。它顯示整個(gè)網(wǎng)絡(luò)狀態(tài)鹦蠕、最近交易及其他信息冒签。但是,無(wú)法通過(guò)此服務(wù)執(zhí)行操作钟病。?
應(yīng)用邏輯層?
? ? ? ? ?傳送應(yīng)用機(jī)制的第二層分為網(wǎng)絡(luò)節(jié)點(diǎn)萧恕、傳輸協(xié)議和平臺(tái)內(nèi)核。節(jié)點(diǎn)是已安裝客戶端和總賬儲(chǔ)存并連接到公共網(wǎng)絡(luò)的計(jì)算機(jī)肠阱。形成區(qū)塊鏈系統(tǒng)的是節(jié)點(diǎn)票唆,其最簡(jiǎn)單的形式如下:將節(jié)點(diǎn)合并以形成統(tǒng)一的網(wǎng)絡(luò),相互通訊屹徘,信息按照一致性算法分布在節(jié)點(diǎn)之間走趋。節(jié)點(diǎn)的排列也有其背后的邏輯,它們根據(jù)驗(yàn)證數(shù)據(jù)和投票回合被分解成規(guī)則的噪伊、可信的首節(jié)點(diǎn)簿煌。節(jié)點(diǎn)的類(lèi)型也影響其預(yù)期目的氮唯,從參與選擇受信任節(jié)點(diǎn)和首節(jié)點(diǎn)到?jīng)Q定將信息添加到塊中。
? ? ? ? ?CREDITS網(wǎng)絡(luò)依賴于點(diǎn)對(duì)點(diǎn)基礎(chǔ)數(shù)據(jù)從一個(gè)節(jié)點(diǎn)傳輸?shù)搅硪粋€(gè)節(jié)點(diǎn)的原理姨伟。為了確保更快地?cái)?shù)據(jù)傳輸惩琉,該網(wǎng)絡(luò)采用了UDP (用戶數(shù)據(jù)報(bào)協(xié)議),這是一種用于從大量用戶處盡可能快地傳送消息的最佳協(xié)議授滓。許多區(qū)塊鏈項(xiàng)目開(kāi)發(fā)者一直在努力解決這種網(wǎng)絡(luò)的低吞吐量問(wèn)題琳水。CREDITS系統(tǒng)為這個(gè)問(wèn)題提供了一個(gè)根本解決方案:許多技術(shù)發(fā)現(xiàn)使開(kāi)發(fā)者能夠?qū)崿F(xiàn)每秒48萬(wàn)次以上交易的平均網(wǎng)絡(luò)吞吐量。
數(shù)據(jù)層
? ? ? ? 區(qū)塊鏈系統(tǒng)的數(shù)據(jù)層包括兩大組件般堆,即分布式總賬和共識(shí)算法在孝。
? ? ? ? ? 分布式總賬。該邏輯組件是通過(guò)使用節(jié)點(diǎn)應(yīng)用程序控制的數(shù)據(jù)結(jié)構(gòu)淮摔∷骄冢客戶端應(yīng)用程序一旦啟動(dòng),用戶就可以訪問(wèn)和查看區(qū)塊鏈系統(tǒng)總賬的內(nèi)容和橙。例如仔燕,當(dāng)操作以太幣(Ethereum)時(shí),用戶能夠按照應(yīng)用軟件代碼中規(guī)定的網(wǎng)絡(luò)規(guī)則訪問(wèn)太幣總賬并與之交互魔招,即應(yīng)用智能合同晰搀、執(zhí)行其他類(lèi)型的交易等。在CREDITS網(wǎng)絡(luò)中采用了類(lèi)似的原理办斑。網(wǎng)絡(luò)節(jié)點(diǎn)將數(shù)據(jù)存儲(chǔ)在分布式散列表中外恕,允許用戶訪問(wèn)分布式總賬(第三層),并通過(guò)使用在該應(yīng)用程序(第二層)中傳送的軟件方法的應(yīng)用程序(第一層)發(fā)送命令乡翅,來(lái)對(duì)該總賬執(zhí)行操作鳞疲。
? ? ? ? ? 共識(shí)算法。作為客戶端應(yīng)用程序的一部分傳送蠕蚜,提供“游戲規(guī)則”尚洽,即規(guī)定如何在區(qū)塊鏈上構(gòu)建塊的條款。參與協(xié)商一致意見(jiàn)形成進(jìn)程可得到若干不同框架的支持:工作量證明靶累、利息證明腺毫、證明時(shí)間;無(wú)論使用哪種方法挣柬,在添加到一致性接受流程之前拴曲,節(jié)點(diǎn)都必須經(jīng)過(guò)確認(rèn)。在CREDITS邏輯體系架構(gòu)中嵌入了相同的框架凛忿。
中間件層
? ? ? ? ?除此之外,系統(tǒng)還有數(shù)字簽名竞川、散列和生成等中間件層店溢。智能合同提供的機(jī)會(huì)還意味著其功能在整個(gè)系統(tǒng)中得到利用叁熔。?
? ? ? ? ?我們從邏輯組件的角度討論了區(qū)塊鏈網(wǎng)絡(luò)體系架構(gòu)。從這一設(shè)計(jì)原則來(lái)看床牧,可以認(rèn)為CREDITS是一個(gè)非常有前景的區(qū)塊鏈網(wǎng)絡(luò)荣回,具有高吞吐量指標(biāo)和內(nèi)部多層邏輯。該項(xiàng)目在不斷發(fā)展壯大的同時(shí)戈咳,也在不斷完善現(xiàn)有技術(shù)和增加新技術(shù)心软。我們看到網(wǎng)絡(luò)用戶群體每天都在不斷擴(kuò)大。希望不久之后著蛙,網(wǎng)絡(luò)成員會(huì)協(xié)助把平臺(tái)提升到下一個(gè)甚至更高的層次删铃。
官網(wǎng):https://credits.com/?
Telegram(英文):https://t.me/creditscom??
Telegram(中文):https://t.me/creditschina??
QQ群:569100510?