【译】CREDITS: Peer-to-peer (P2P) network and its components
CREDITS:點對點(P2P)網絡及其組件
CREDITS區塊鏈平臺是直接節點交互,分散式,計算機網絡或所謂的對等網絡。?它通過Internet工作,并使用TCP / IP網絡模型作為網絡內數據和命令傳輸的主要模型。?網絡成員在對等的基礎上相互交流 - 相等。?所有數據都通過用戶數據報協議(UDP)應用程序傳輸到網絡并返回,存儲概念本身就是一個高性能NoSQL系統,用于以LevelDB鍵值格式存儲數據。
該網絡包括以下服務:
節點(對等)
節點是創建分散網絡的關鍵組件。
節點是安裝在用戶計算機上的客戶端應用程序。?它執行交易的處理和存儲,智能合同條款的執行和確認,處理來自第三方系統的請求,并根據請求提供數據。
此外,運行該系統需要最新版本的Java庫,特別是創建和處理SmartContracts。?要下載它,請點擊以下鏈接:?https?:?//www.java.com/ru/download/
任何網絡節點都具有相同的指定功能,并通過以下五個模塊執行上述功能:
- CREDITS傳輸/傳輸協議(CSP)
- 決策模塊
- 數據存儲
- 智能合約處理模塊
- API
TCP / IP網絡模型由UDP(用戶數據報協議)傳輸協議表示。?計算機應用程序可以使用UDP通過IP網絡向其他主機發送消息(在這種情況下稱為數據報),沒有用于選擇特殊數據傳輸協議的強制性初步消息。
2.決策(共識)模塊
從概念上講,?CREDITS網絡的共識算法的描述如下:
- 根據DPoS技術,生成參與特定輪次的節點列表
DPoS建立聲譽評級體系。?換句話說,它創建了一組有權驗證事務,生成事務池,驗證并將池發送到節點的權限的節點,以進一步進行鏈式記錄。
每個新一輪每5毫秒(5×10-3秒)組織一次。?一輪內只創建一個事務池。?所有使用的網絡節點列表形成。?每個節點都分配一個隨機數(評分)。?根據這些數字,節點列表按降序排列。?該列表中的第一個節點成為主要網絡節點。列表中的以下節點成為可信節點,其數量根據以下算法計算:如果節點總數等于10,則其中50%成為可信節點(但不小于3)。?
對于100和更高的節點數量,只有10%變得可信。?這些節點的平均數量在使用的網絡節點總數的10%-50%范圍內變化。?通過生成的節點列表,可以獲取特定池的編號。?參與處理池的節點不參加新一輪。?使用所提到的數字,系統通過上述算法開始新一輪,而不用等待前一個處理的完成。?因此,事務池的異步處理被執行并且一連串池被創建。
- 在一輪內進行驗證并建立一連串泳池(根據BFT技術)。
拜占庭容錯(BFT)。?該算法允許將軍(驗證者)管理網絡狀態并交換消息,從而提供誠實并對交易和池的有效性做出決定。
在創建之后,任何事務都會轉發到主節點,并從此處轉發到受信任的節點,然后進行驗證。?每個可信節點都連接到相鄰節點,以進行聯合交易驗證。?可信節點使用BFT數學模型來確定交易的有效性。?之后,事務被發送回主節點以記錄到池中。?在提及的時間段結束后,或者在積累了一定數量的交易之后,游泳池關閉。?根據這種池的數量和前一個池的哈希總和生成池的哈希總和。?之后,它被發送到網絡的所有節點,以便在鏈中進一步記錄。?因此,圓形結束。
3)數據存儲
為了存儲數據,該平臺使用LevelDB,這是一種由Google開發的具有鍵值數據存儲格式的高性能可復制NoSQL系統。?LevelDB數據存儲是用C ++編寫的,并以應用程序的形式連接到共享庫,提供了存儲有序數據集的可能性,其中任意二進制密鑰映射到任意二進制值。
數據存儲算法。?數據作為鍵值對存儲在SS表(Sorted String Tables)中。?這組SS表形成一個LSM樹。?LSM樹(日志結構合并樹)具有多個級別的存儲。第一個(零或MemTable)級別在RAM中,其余的在磁盤上。?每個級別代表一棵樹或一個樹列表,每個級別都有一個大小限制(通常每級10倍)。
LevelDB中的數據壓縮是使用內部Snappy庫進行的。?在單核CPU Core i7上,64位Snappy組件能夠以250 Mb / s壓縮數據流并以500 Mb / s解壓縮。?對于普通文本,Snappy提供的壓縮級別為1.5-1.7倍,對于HTML文件 - 2-4倍。
4)?智能合約處理模塊
任何智能合約都是用Java編寫的代碼。
智能合約處理模塊接收來自桌面錢包的合同并將其存儲在其數據存儲器中的特定地址,然后由合同構造者(稱為“初始化過程”)執行。?之后,在決策模塊中,我們會收到執行合同某一部分的信號和輸入數據的值。?換句話說,執行該類中的某個Java方法,并將全局變量數據存儲在數據存儲中的每個合約中。?新的代幣創建功能也可用。?它通過提供核心的API與網絡進行交互。
5)?節點的API
與第三方服務溝通CREDITS平臺使用Apache Thrift技術。?這是用于確定和創建不同編程語言服務的接口描述語言。?它將程序管道與代碼生成引擎結合在一起開發服務,在某種程度上可以高效且輕松地處理C#,C ++,Delphi,Java,Perl,PHP,Python,JavaScript等語言。換句話說,Thrift是一個二進制通信協議。
以下方法用于實現第三方服務與平臺核心的連接。?它們分為兩類(?獲取?- 請求和結果?- 響應):
- BalanceGetResult,BalanceGet?- 特定錢包的余額
- TransactionGetResult,TransactionGet?- 特定事務的散列
- TransactionsGetResult,TransactionsGet?- 特定錢包的交易列表
- TransactionFlowResult,TransactionFlow?- 事務
- PoolListGetResult,PoolListGet -事務池
- PoolGetResult PoolGet?- 池的散列
- NodesCounteGet,NodesCounteResult?- 使用的網絡節點的數量
節點安裝的系統要求:
最低系統要求:
- 操作系統:?Windows?7 /Windows?8 /Windows?10 64位(使用最新的更新軟件包)
- 處理器(CPU):頻率為1 GHz(或更快),支持PAE,NX和SSE2;
- 內存(RAM):2-4 Gb
- HDD:1 Gb
- 互聯網連接:3 Mbit / s
推薦的系統要求:
- 操作系統:Windows?7 /Windows?8 /Windows?10 64位(使用最新的更新軟件包)
- 處理器(CPU):英特爾?酷睿?i3或AMD Phenom?X3 8650
- 內存(RAM):4-8 Gb
- SSD:1 Gb
- 互聯網連接:5 Mbit / s。
桌面錢包
CREDITS錢包桌面是錢包的桌面版本。?這個版本的錢包提供了高度的安全性,隱私性和穩定性。?桌面應用程序的功能比Web版本更復雜。
只有在使用此版本的錢包之前,Wallet Desktop才能與必須參與的網絡節點一起工作。
功能特點
- 創建交易
- 交易分析的歷史
- 平衡分析
- 創建一個新的令牌(通過智能合約)
- 創建一個智能合約
網絡錢包
CREDITS錢包是一個客戶端界面,可與P2P網絡進行安全且輕松的交互,易于使用,靈活且易于定制。
CREDITS Web-Wallet允許在不安裝完整節點的情況下快速將貨幣從一個用戶轉移到另一個用戶,并且在已經部署的智能合約中執行操作(如果不需要自行編譯)。?與網絡同步是實時自動執行的。?通過API平臺連接到P2P網絡。
基本功能:
- 創建交易
- 已部署的智能合約中的一系列操作
- 貨幣和貴重物品的交換和轉移(根據我們的標準發行的CS和其他代幣)
- 跟蹤當前和以前完成的交易的細節的可能性
- 檢查天平
- 檢查交易歷史
所描述的操作會復制通過我們的桌面應用程序可用的選項,不包括編譯和上傳新智能合同的可能性。?通過與上述場景類比來進行交易的啟動和執行。
系統要求:
使用Web客戶端需要更新的Web瀏覽器版本。?最低要求:
- IE 10;
- Safari 9,iOS 9;
- Android 5.0,Edge 13(及更高版本)
- 監控
CREDITS監視器是應用程序的基于Web的版本,可以分析公共傳輸記錄。?監視器在Java + Angular JS中實現,并通過API平臺連接到P2P網絡。?統計信息每30秒更新一次。
以下信息顯示在CREDITS監視器頁面上:
- 網絡節點總數
- 交易統計
- 平衡
- 某個錢包的交易詳情
- 關于某個智能合約的一般信息
- 已打開的智能合約的詳細信息
總結
以上是生活随笔為你收集整理的【译】CREDITS: Peer-to-peer (P2P) network and its components的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【译】A Brief History o
- 下一篇: 【译】Build Knowledge G