Velas是一個(gè)會(huì)自主學(xué)習(xí)和優(yōu)化的區(qū)塊鏈平臺(tái),用于安全、可交互操作、可擴(kuò)展性極好的交易和智能合約。Velas使用基于AI的DPoS(AIDPoS)共識(shí)來確保區(qū)塊鏈的高容量交易處理安全,同時(shí)不減弱去中心化特性、穩(wěn)定性和安全性。通過使用基于 AI 的 DPoS 共識(shí)算法,消除了人性腐敗問題,從而形成了一個(gè)容錯(cuò)系統(tǒng),防止了現(xiàn)有大多數(shù)公鏈項(xiàng)目的主要問題,如 51% 的攻擊和無抵押?jiǎn)栴}。
介紹
Velas區(qū)塊鏈平臺(tái)采用 AI 優(yōu)化的神經(jīng)網(wǎng)絡(luò)來增強(qiáng)其共識(shí)算法。Velas 的目的是解決和修正大多數(shù)現(xiàn)有區(qū)塊鏈所面臨的問題和挑戰(zhàn)。
神經(jīng)網(wǎng)絡(luò)用于作為計(jì)算節(jié)點(diǎn)運(yùn)行和區(qū)塊形成時(shí)間的獎(jiǎng)勵(lì)。矩陣計(jì)算服務(wù)器(神經(jīng)網(wǎng)絡(luò)權(quán)重)位于網(wǎng)絡(luò)成員的節(jié)點(diǎn)上,用于接收獎(jiǎng)勵(lì)。與比特幣礦工類似,節(jié)點(diǎn)需要有大量的算力來計(jì)算矩陣。例如,安裝功能強(qiáng)大的專用顯卡(GPU)。
為了訓(xùn)練神經(jīng)網(wǎng)絡(luò),在訓(xùn)練前采用遺傳算法,利用誤差反向傳播的方法,求出目標(biāo)函數(shù)的最小值。
網(wǎng)絡(luò)訓(xùn)練算法
遺傳算法:
1. 創(chuàng)建一個(gè)樣本:一個(gè)權(quán)重隨機(jī)(基因)的矩陣
2. 競(jìng)爭(zhēng):獲得目標(biāo)函數(shù)的最小值
3. 選擇:按誤差排列樣本,誤差最小的獲得勝利。
4. 復(fù)制:矩陣元素或基因的交換,從前兩個(gè)最成功的以 50/50交換。
5. 重復(fù)該循環(huán),直到達(dá)到 70% 的概率。
選擇最好的網(wǎng)絡(luò)。
·在形成新的區(qū)塊循環(huán)之前,節(jié)點(diǎn)形成一個(gè)測(cè)試數(shù)據(jù)集。
·在形成測(cè)試樣例后,檢查矩陣。
·誤差最小的矩陣獲勝,進(jìn)入下一個(gè)周期。
·獲勝矩陣的節(jié)點(diǎn)從網(wǎng)絡(luò)接收 Velas(VLX)
銷售和購(gòu)買最有效樣本的市場(chǎng)將不斷進(jìn)化,這將打開區(qū)塊鏈網(wǎng)絡(luò)維護(hù)算法的發(fā)展,并獎(jiǎng)勵(lì)基于 Velas 的其他系統(tǒng)。
在基于量子技術(shù)的超高速計(jì)算系統(tǒng)時(shí)代,在短時(shí)間內(nèi)可以實(shí)現(xiàn)接近理想狀態(tài)的神經(jīng)網(wǎng)絡(luò),在商用量子計(jì)算機(jī)中對(duì)其進(jìn)行訓(xùn)練,而隨著時(shí)間的推移只需增加一些新功能。
通過解決區(qū)塊鏈網(wǎng)絡(luò)維護(hù)任務(wù),各 AIDPoS 節(jié)點(diǎn)實(shí)際上為后續(xù)開發(fā)神經(jīng)網(wǎng)絡(luò)貢獻(xiàn)了智能計(jì)算。這一切都是在不需要所選節(jié)點(diǎn)的運(yùn)行者理解任何編程語言的情況下,就可以發(fā)生的。
網(wǎng)絡(luò)版本推出計(jì)劃
階段 1(預(yù) Alpha ):
創(chuàng)建區(qū)塊鏈系統(tǒng)結(jié)構(gòu)、代幣、4 個(gè)節(jié)點(diǎn)上的交易。節(jié)點(diǎn)將由網(wǎng)絡(luò)組織者在Pre-Alpha 階段運(yùn)行。錢包中的智能合約將允許所有 CPS 幣(CoinPaymentsCoin)用戶被 1:1 轉(zhuǎn)換為 VLX(Velas)。創(chuàng)建代幣或自定義數(shù)字資產(chǎn)。
階段 2(Alpha):
創(chuàng)建一個(gè)穩(wěn)定的系統(tǒng),在 10 個(gè)節(jié)點(diǎn)上部署 Velas,從網(wǎng)絡(luò)組織者 4 個(gè)服務(wù)器測(cè)試 AI 。引入支持多幣種的錢包容器,支持公共和私有發(fā)送功能。
階段 3(Beta):
添加 AI 填充測(cè)試節(jié)點(diǎn),與服務(wù)器端 AI 競(jìng)爭(zhēng)。進(jìn)一步擴(kuò)展支持多幣種的錢包容器系統(tǒng),支持所有主流加密數(shù)字貨幣,支持發(fā)送、接收和智能合約等功能。
階段 4(候選發(fā)布):
將 AI 集成到現(xiàn)有 advisor 節(jié)點(diǎn)中,其數(shù)量由 AI 邏輯設(shè)置。
第 5 階段(發(fā)布):
啟動(dòng)系統(tǒng)的全部功能。用戶可以下載神經(jīng)網(wǎng)絡(luò)工具包,并使用可視化工具為他們的項(xiàng)目進(jìn)行優(yōu)化,并根據(jù)貢獻(xiàn)獲得獎(jiǎng)勵(lì)。代幣節(jié)點(diǎn)將使用經(jīng)過訓(xùn)練的神經(jīng)元網(wǎng)絡(luò)在大多數(shù)環(huán)境下進(jìn)行預(yù)備訓(xùn)練,并允許輕松設(shè)置和維護(hù)代幣節(jié)點(diǎn)。
Velas 平臺(tái)概述
術(shù)語和定義
·VelasCycle——有限時(shí)間段和區(qū)塊數(shù)。每個(gè) VelasCycle 由 一個(gè) SimpleBlock+ 一個(gè) CycleBlock 組成;
·CycleBlock– 一個(gè)區(qū)塊,其包含允許在當(dāng)前 VelasCycle 中出塊節(jié)點(diǎn)列表;
·SimpleBlock– 包括交易列表 – 不與 CycleBlock 混淆;
·NodeID– 每個(gè)節(jié)點(diǎn)都包含一個(gè)密鑰和公鑰。公鑰是節(jié)點(diǎn)標(biāo)識(shí)符,密鑰用于生成 BlockSign;
·BlockSign– 區(qū)塊創(chuàng)建者標(biāo)識(shí)區(qū)塊編號(hào)的簽名;
·TxQuery– 查詢或“特殊交易”。它必須廣播到網(wǎng)絡(luò),以顯示其在下一個(gè) VelasCycle 內(nèi)生產(chǎn)區(qū)塊的意圖。此交易將包括NodeID。生成 TxQuery 需要 100,000 個(gè) Velas 代幣。
在 VelasCycle 結(jié)束時(shí),每個(gè)節(jié)點(diǎn)必須通過以下方式定義下一個(gè)算法:
1. 從上一個(gè) VelasCycle 收集所有 TxQueries;
2. 按 NodeIDs 對(duì) TxQueries 列表按詞典順序排序;
3. 為下一個(gè) VelasCycle 生成一個(gè)潛在節(jié)點(diǎn)列表;
4. 收集上一個(gè) VelasCycle 的所有 BlockSign;
5. 用 BlockSign 做一棵默克爾樹,這將產(chǎn)生一個(gè) VelasSeed。VelasSeeds 用于同步 Velas 網(wǎng)絡(luò)中所有節(jié)點(diǎn)之間的隨機(jī)函數(shù)。算法具有確定性;
6. 利 用 一 個(gè) VelasCycle 的 時(shí) 間 周 期 和 區(qū) 塊 時(shí) 間, 計(jì) 算 下 一個(gè) VelasCycle 的 區(qū) 塊 數(shù)。 例 如,VelasCycle–20 小 時(shí),區(qū)塊時(shí)間 –1 秒;20 小時(shí) *60 分鐘 /1 秒 =72000 個(gè)區(qū)塊每VelasCycle;
7. VelasSeed 用于隨機(jī)化函數(shù);
8. 最后一步包括在下一個(gè) VelasCycle 中調(diào)用隨機(jī)函數(shù),調(diào)用次數(shù)和下一 VelasCycle 中的區(qū)塊一樣,以此來同步所有節(jié)點(diǎn);
出塊節(jié)點(diǎn)的選擇標(biāo)準(zhǔn)最初將完全基于抵押的 Vela 數(shù)量。因此,一個(gè)節(jié)點(diǎn)抵押越多代幣,它越有可能被選為出塊節(jié)點(diǎn),并收到 Velas(VLX)回報(bào)。
例如,一個(gè)擁有 2,000,000 VLX 的節(jié)點(diǎn)被選中的概率是擁有 1,000,000 VLX的節(jié)點(diǎn)的 2 倍。
請(qǐng)注意,大多數(shù)抵押 Velas 的節(jié)點(diǎn)需要抵押累積 51% 的代幣。這是在 Velas區(qū)塊鏈上達(dá)成共識(shí)所需的最低限度。
VelasCycle 被 允 許 跳 過 SimpleBlocks。 至 少 51% 的 區(qū) 塊 需 要 在VelasCycle 中進(jìn)行驗(yàn)證。
達(dá)成共識(shí)的方法
AIDPoS 能夠成功地解決現(xiàn)有備選方案的許多缺點(diǎn)和局限性。當(dāng)網(wǎng)絡(luò)開始 1:1 轉(zhuǎn)換 CoinPayments Coin(CPS)到 Velas(VLX)時(shí),2,000,000,000 枚代幣被預(yù)挖。
1. 形成區(qū)塊鏈時(shí),所有代幣在服務(wù)組織者之間共享。
2. 當(dāng)形成新區(qū)塊并結(jié)束循環(huán)區(qū)塊時(shí),將釋放代幣。
3. 發(fā)行的代幣被獎(jiǎng)勵(lì)給出塊者。
交易驗(yàn)證是通過在附屬網(wǎng)絡(luò)上“抵押”(持有)代幣來執(zhí)行的。Velas(VLX)的抵押建立了一個(gè)可信的驗(yàn)證人網(wǎng)絡(luò),該網(wǎng)絡(luò)將處理和形成一個(gè)到鏈的交易區(qū)塊。從本質(zhì)上講,正是所抵押的 Velas(VLX)數(shù)量使人們對(duì)區(qū)塊鏈的當(dāng)前狀態(tài)達(dá)成共識(shí)。
參加者將獲得易于使用的錢包軟件來抵押代幣。通過收取一段時(shí)間的網(wǎng)絡(luò)費(fèi)用來補(bǔ)償驗(yàn)證人的抵押。抵押的越多,分配到的 Velas(VLX)越多。對(duì)于那些擁有專用 GPU 的參與者,將提供額外的軟件供選擇,以提升神經(jīng)網(wǎng)絡(luò),并因其對(duì) AI的貢獻(xiàn)和訓(xùn)練而獲得獎(jiǎng)勵(lì)。因此,PoS 方法可以激勵(lì)大量的長(zhǎng)期投資,并結(jié)合正確的驗(yàn)證行為和回報(bào),提供可靠的、規(guī)??捎^的代幣流,同時(shí)盡可能減少開銷或?qū)Ω呒?jí)編程語言知識(shí)的要求。
Velas 人工直覺 DPoS 算法
人工直覺 DPoS(AIDPoS)用于確保 Velas 區(qū)塊鏈安全。AIDPoS 試圖提供一種可以替代常用的共識(shí)機(jī)制,比如比特幣傳統(tǒng)的 PoW,Peercoin 和 NXT 的PoS 系統(tǒng)。
Velas AI
人工直覺是一系列用于識(shí)別一組數(shù)據(jù)中關(guān)系和模式的算法。網(wǎng)絡(luò)可以調(diào)整輸入,從而在不必重新設(shè)計(jì)輸出標(biāo)準(zhǔn)的情況下產(chǎn)生最佳的可能結(jié)果。
Velas 系統(tǒng)的選定技術(shù)參數(shù)包括:
·每秒交易數(shù):》30,000;
·每秒?yún)^(qū)塊數(shù):1 秒 -2 分鐘,取決于 AI 算法的計(jì)算結(jié)果;
區(qū)塊時(shí)間取決于網(wǎng)絡(luò)負(fù)載(TPS)。如果網(wǎng)絡(luò)每秒有許多交易,則區(qū)塊時(shí)間將很短。如果網(wǎng)絡(luò)沒有交易,則區(qū)塊時(shí)間將很長(zhǎng)。在生成空塊的情況下,它只包含沒有主體的區(qū)塊頭。
AI 算法將從以下歷史數(shù)據(jù)中得出:
·VelasNodes 數(shù)量
·每個(gè) VelasCycle 的交易數(shù)
VelasCycle 的特殊交易
神經(jīng)算法將優(yōu)化以下參數(shù):
·Velas 節(jié)點(diǎn)網(wǎng)絡(luò)
·區(qū)塊大小
·區(qū)塊時(shí)間
·增加 TPS
優(yōu)化后的參數(shù)將是抵押者的交易傭金總額。
Velas 獎(jiǎng)勵(lì)
獎(jiǎng)勵(lì)將提供給節(jié)點(diǎn) / 區(qū)塊生成者,用于主動(dòng)正確地參與系統(tǒng),并取決于獲得的分?jǐn)?shù)。算法更改是動(dòng)態(tài)進(jìn)行的,考慮到以下參數(shù):
·每 VelasCycle 時(shí)間
·每區(qū)塊時(shí)間
·每區(qū)塊包含的交易
節(jié)點(diǎn)分級(jí)評(píng)分算法
使用重要性證明算法。之后用于優(yōu)化的關(guān)鍵參數(shù)包括:
·一個(gè)節(jié)點(diǎn)的交易數(shù),并考慮其質(zhì)量。假的交易會(huì)導(dǎo)致減分,而真實(shí)交易會(huì)得到加分獎(jiǎng)勵(lì)。
· 賬戶余額。額外的分?jǐn)?shù)根據(jù)抵押的代幣分配。Advisor 節(jié)點(diǎn)(區(qū)塊生產(chǎn)商)在早期階段預(yù)估至少需要 1,000,000 個(gè) VLX。
·在線時(shí)間。根據(jù)區(qū)塊生成節(jié)點(diǎn)的總正常運(yùn)行持續(xù)時(shí)間分配額外的分?jǐn)?shù)。
·區(qū)塊生成事件。每個(gè)區(qū)塊生成節(jié)點(diǎn)接收每個(gè)生成的區(qū)塊分?jǐn)?shù)。
如果某個(gè)節(jié)點(diǎn)由于任何原因(例如,由于網(wǎng)絡(luò)問題,處理能力不足或運(yùn)行時(shí)間不足)未生成區(qū)塊,則會(huì)扣除該節(jié)點(diǎn)上一點(diǎn)分?jǐn)?shù)。當(dāng)形成一個(gè)區(qū)塊時(shí),也會(huì)生成驗(yàn)證人列表。根據(jù)收到的分?jǐn)?shù),驗(yàn)證人被添加到列表中。
上面指定的數(shù)據(jù)通過神經(jīng)網(wǎng)絡(luò),然后我們接收 y‘ =f(x)目標(biāo)函數(shù)的數(shù)據(jù)。每一個(gè) y’ 都會(huì)經(jīng)過 softmax 層。在此之后,我們得到最大質(zhì)量偏差的百分比。區(qū)塊生成的獎(jiǎng)勵(lì)取決于在神經(jīng)網(wǎng)絡(luò)中收到的貢獻(xiàn)的百分比。
獎(jiǎng)勵(lì)代幣
假設(shè)區(qū)塊的總獎(jiǎng)勵(lì)為 100%,參與者將按照他們?cè)谏窠?jīng)網(wǎng)絡(luò)中收到的分?jǐn)?shù)所占百分比對(duì)總獎(jiǎng)勵(lì)進(jìn)行分配。
人工直覺(AI)將基于線性回歸模型。該模型采用隨機(jī)方法訓(xùn)練。AI 基于兩個(gè)模型。利用多維線性回歸模型計(jì)算類的概率分布密度,貝葉斯分類器利用后驗(yàn)最大概率估計(jì)確定正確的決策。
由于在超復(fù)雜的環(huán)境中應(yīng)用了大量的輸入數(shù)據(jù)流,因此采用了基于遺傳算法的AI ,因?yàn)樗軌虮炔捎谜`差反向傳播方法的標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)更有效地進(jìn)行多次處理。
遺傳算法用于使用進(jìn)化方法解決優(yōu)化問題,即從各種最合適的解決方案中進(jìn)行選擇。它們不同于傳統(tǒng)的優(yōu)化方法,具有以下特性:
1. 他們處理問題參數(shù)的編碼形式,而不是它們的值。
2. 基于一定的人數(shù)尋找解決方案。
3. 使用的是目標(biāo)函數(shù),而不是其導(dǎo)數(shù)。
4. 算法是隨機(jī)的。
將遺傳算法用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練,作為反向傳播誤差法的替代方法。訓(xùn)練的目的是使成本函數(shù)最小化。此外,使用遺傳算法可以避免局部極小值中的代價(jià)函數(shù)。
需要強(qiáng)調(diào)的是,誤差的反向傳播算法通常比遺傳算法執(zhí)行得更快,因?yàn)楹笳咭獟呙杷锌赡艿慕Y(jié)果。然而,梯度法并不總能得到預(yù)期的結(jié)果,這取決于起始點(diǎn)的選擇。此外,誤差反向傳播方法的一個(gè)基本缺陷是局部最優(yōu)中的“干擾”。這就是為什么遺傳 AI 是一種更具創(chuàng)新性和前景的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法。
算法實(shí)現(xiàn)細(xì)節(jié)
確定節(jié)點(diǎn)等級(jí)的人工直覺算法和確定一個(gè)階段中區(qū)塊數(shù)的算法。
確定區(qū)塊數(shù)量的 AI 算法:每個(gè)區(qū)塊由既定的交易數(shù)組成。這個(gè)數(shù)字取決于區(qū)塊鏈的使用強(qiáng)度。如果在區(qū)塊形成期間,未確認(rèn)的交易仍然存在,那么有必要通過減少區(qū)塊之間的時(shí)間來增加這個(gè)階段中的區(qū)塊數(shù)量。
當(dāng)形成一個(gè)新的區(qū)塊周期時(shí),有必要通過使用增長(zhǎng)函數(shù)的行列式確定每個(gè)時(shí)期的標(biāo)準(zhǔn)差,來檢查前面階段中未確認(rèn)的交易數(shù)量。接下來,我們通過計(jì)算偏差來計(jì)算塊中應(yīng)該有多少個(gè)交易。然后,我們計(jì)算出所需的區(qū)塊數(shù)和出塊時(shí)間。
確定節(jié)點(diǎn)等級(jí)的 AI 算法:節(jié)點(diǎn)區(qū)塊生成者在確認(rèn)出塊時(shí)得到分?jǐn)?shù)。如果一個(gè)節(jié)點(diǎn)由于各種原因(缺乏計(jì)算能力或網(wǎng)絡(luò)問題)未形成區(qū)塊,則從該節(jié)點(diǎn)中減去分?jǐn)?shù)。當(dāng)形成一個(gè)區(qū)塊周期時(shí),也會(huì)形成一個(gè) advisor 列表。Advisor 將收到的分?jǐn)?shù)添加到列表中。
人工直覺決定了投票名單中的評(píng)分。輸入?yún)?shù)為:
a)節(jié)點(diǎn)交易數(shù)
b)帳戶余額
c)網(wǎng)絡(luò)時(shí)間
d)形成區(qū)塊的分?jǐn)?shù)
訓(xùn)練示例包括在前一個(gè)周期中出塊時(shí)的錯(cuò)誤、延遲和未確認(rèn)交易。
AI 的結(jié)果應(yīng)該是候選節(jié)點(diǎn)列表中的一個(gè)等級(jí)。這四個(gè)參數(shù)是輸入數(shù)據(jù),我們將根據(jù)輸入數(shù)據(jù)對(duì)流量進(jìn)行分類。
DNA 是神經(jīng)網(wǎng)絡(luò)(矩陣)的層,將在分離的節(jié)點(diǎn)上計(jì)算。可以添加更多的輸入?yún)?shù):
1. 在形成區(qū)塊之后剩余的未確認(rèn)交易數(shù)。
2. 一個(gè)參與交易檢查的節(jié)點(diǎn)(針對(duì) 51% 的攻擊和雙倍消耗的攻擊的保護(hù))
3. 當(dāng)一個(gè)節(jié)點(diǎn)在一個(gè) cycle-block 內(nèi)時(shí),真實(shí)的投票和交易檢查速度。
AI 在 Velas 上的應(yīng)用
在 Velas 平臺(tái)上使用 AI 的目的是降低共識(shí)的成本。
Velas 平臺(tái)頂部的 AI 框架:
1. 激勵(lì)網(wǎng)絡(luò)(節(jié)點(diǎn))參與者在網(wǎng)絡(luò)中的可靠性、活躍性,最大化相關(guān)分?jǐn)?shù) / 獎(jiǎng)勵(lì)。
2. 阻止關(guān)于錯(cuò)誤交易的虛假消息,從而提高消息的質(zhì)量和網(wǎng)絡(luò)對(duì)攻擊的抵抗力。
3. 形成每個(gè)階段的計(jì)時(shí),從而加速 TPS,減少一般的計(jì)算網(wǎng)絡(luò)工作量。換言之,它是關(guān)于在高工作負(fù)載期間出塊的動(dòng)態(tài)時(shí)間,同時(shí)將出塊任務(wù)分配給具有較高計(jì)算能力的節(jié)點(diǎn)。
4. 正確、最優(yōu)地分配獎(jiǎng)勵(lì)。
防 51% 攻擊:
我們使用 DPoS 算法。這個(gè)階段持續(xù) 24 小時(shí)。
創(chuàng)建一個(gè)階段時(shí),將創(chuàng)建一個(gè)循環(huán)塊,其中選擇具有更多權(quán)重的節(jié)點(diǎn)。選擇到循環(huán)塊的節(jié)點(diǎn)將離開其樁號(hào)。
新塊必須由 80% 的循環(huán)區(qū)塊節(jié)點(diǎn)簽名。因此,為了侵入系統(tǒng),入侵者需要進(jìn)入一個(gè) 80% 以上參與率的循環(huán)區(qū)塊,并創(chuàng)建占整個(gè)系統(tǒng) 80% 以上的假節(jié)點(diǎn)。在這種情況下,入侵者會(huì)擁有整個(gè)系統(tǒng),他們搶劫自己是沒有意義的。
Velas 節(jié)點(diǎn)選擇
Velas 節(jié)點(diǎn)選擇的目的是計(jì)算神經(jīng)網(wǎng)絡(luò)的矩陣。GPU“機(jī)載”是必要條件。網(wǎng)絡(luò)管理器設(shè)置多個(gè)節(jié)點(diǎn)。矩陣計(jì)算的輸入從區(qū)塊鏈接收。
該算法是公共的,因此每個(gè)網(wǎng)絡(luò)成員都可以:
1. 獲取輸入;
2. 完成矩陣;
3. 進(jìn)行控制計(jì)算。
根據(jù)神經(jīng)網(wǎng)絡(luò)的計(jì)算結(jié)果,一個(gè)節(jié)點(diǎn)形成一個(gè)具有時(shí)序的循環(huán)區(qū)塊,并將其發(fā)送給所有網(wǎng)絡(luò)參與者。
一個(gè)節(jié)點(diǎn)存儲(chǔ)一個(gè)循環(huán)塊的節(jié)點(diǎn)參與者的抵押代幣。通過計(jì)算神經(jīng)網(wǎng)絡(luò),一個(gè)節(jié)點(diǎn)在一個(gè)階段結(jié)束后分配獎(jiǎng)勵(lì)。
如果檢測(cè)到攻擊,節(jié)點(diǎn)將分解一個(gè)循環(huán)區(qū)塊并出新塊。
循環(huán)區(qū)塊結(jié)構(gòu)
循環(huán)時(shí)間 = 72001 區(qū)塊(72000 SimpleBlocks 每循環(huán) +Cycle-block)
進(jìn)入網(wǎng)絡(luò)的節(jié)點(diǎn)
所有試圖抵押的節(jié)點(diǎn)必須向網(wǎng)絡(luò)發(fā)送一個(gè)特殊交易,以便在下面的區(qū)塊周期中將自己記錄為出塊者。
區(qū)塊循環(huán)結(jié)束
選擇節(jié)點(diǎn)以出塊
Velas 平臺(tái)上的交易
交易模型的描述
Velas 平臺(tái)上的 Velas 代幣的轉(zhuǎn)讓是通過將新代幣的公鑰重新發(fā)布給后續(xù)所有者來執(zhí)行的,同時(shí)保留上一筆交易的哈希值。交易的驗(yàn)證是通過鏈的驗(yàn)證來完成的。
為了防止諸如“雙花”這樣的難題,可以通過網(wǎng)絡(luò)驗(yàn)證鏈的真實(shí)性來解決。這是通過引入“Epoch”協(xié)議實(shí)現(xiàn)的,其提供了更高的安全級(jí)別,允許在特定的時(shí)間內(nèi)將區(qū)塊添加到區(qū)塊鏈。這些區(qū)塊是公開的,可以在區(qū)塊瀏覽器上查看和檢查到。每個(gè)區(qū)塊包含前一個(gè)區(qū)塊的哈希和一個(gè)時(shí)間戳。每個(gè)包含的時(shí)間戳增強(qiáng)了整個(gè)鏈的有效性。
每秒交易數(shù)
舉例:
·區(qū)塊時(shí)間 -2 秒 (1 秒 -2 分鐘 );
·每個(gè)區(qū)塊的交易量 - 60,000 筆 ;
·每秒交易數(shù) - 60,000 / 2 = 30,000 TPS;
交易過程
在這個(gè)部分中,我們將總結(jié)創(chuàng)建和處理 Velas 交易的關(guān)鍵細(xì)節(jié)
1) 每個(gè)交易都有以下參數(shù) :
·交易哈希
·區(qū)塊鏈交易類型
·交易被區(qū)塊確認(rèn)時(shí)的區(qū)塊數(shù)或時(shí)間戳
·使用的交易輸入數(shù)量
·使用的交易輸入列表
·創(chuàng)建的交易輸出數(shù)量
·創(chuàng)建的交易輸出列表
2) 所有交易輸入的值在處理之前都要經(jīng)過驗(yàn)證。必須審查所需參數(shù)的規(guī)格。例如,傭金不能小于或等于零。如果有問題的交易沒有得到確認(rèn),則該交易將不被處理。
3) 必須啟動(dòng)和處理交易驗(yàn)證程序。這項(xiàng)核查應(yīng)確保下列事件按計(jì)劃進(jìn)行:
·新交易創(chuàng)建完成
·生成新代幣新交易標(biāo)識(shí)符
·獲得新代幣所有者簽名
·執(zhí)行信息中指示網(wǎng)絡(luò)節(jié)點(diǎn)處理交易的數(shù)據(jù)的加密
·成功生成并記錄傳輸?shù)骄W(wǎng)絡(luò)所有節(jié)點(diǎn)的數(shù)據(jù)
交易結(jié)構(gòu)
交易確認(rèn)
所有的 Velas 交易均被視為是未經(jīng)確認(rèn)的,直到它們包含在一個(gè)有效的區(qū)塊中。近創(chuàng)建的區(qū)塊由出塊節(jié)點(diǎn)分發(fā)到網(wǎng)絡(luò)。由于新的區(qū)塊被添加到現(xiàn)有的塊鏈中,所以每個(gè)額外的區(qū)塊都會(huì)增加一個(gè)交易確認(rèn)驗(yàn)證。已發(fā)送至網(wǎng)絡(luò)中但未包含在區(qū)塊中的交易將無法得到確認(rèn)。交易的優(yōu)先級(jí)基于其相關(guān)費(fèi)用的多少。
交易成本
當(dāng)代幣的組合、分割或重新發(fā)行添加到區(qū)塊中時(shí),與區(qū)塊相關(guān)的所有交易費(fèi)用都將分布在網(wǎng)絡(luò)中的節(jié)點(diǎn)中。委員會(huì)成員從各區(qū)塊內(nèi)的所有交易中按其由網(wǎng)絡(luò)選出的次序獲得 Velas 代幣的獎(jiǎng)勵(lì)。
如果區(qū)塊中所有交易的大小不超過 1 MB,那么最小的 Velas (VLX) 將足以支付與處理相關(guān)的所有費(fèi)用。當(dāng)未確認(rèn)交易的數(shù)量超過可置于區(qū)塊中的數(shù)量時(shí),節(jié)點(diǎn)將選擇傭金最高的交易。
交易哈希的生成
交易和區(qū)塊哈希值是使用 Schnorr 簽名算法生成的。之后我們將討論更多關(guān)于這種算法的邏輯、優(yōu)點(diǎn)和工作原理。Velas 將始終支持安全的多重簽名交易。
·版本
·鎖定時(shí)間 - 0
·交易輸入
·哈希 - 交易哈希
·指數(shù)(代幣形成時(shí)的輸出數(shù)量)
價(jià)值(代幣在 CCN 的數(shù)量)
·簽名腳本
·簽名
·交易輸出
代幣結(jié)構(gòu)
代幣是在交易過程中形成的,其結(jié)構(gòu)如下 :
·密鑰(交易中產(chǎn)生)
·交易哈希(從創(chuàng)建時(shí)就存在)
·指數(shù)(交易指數(shù))
·單位(代幣數(shù)量)
每個(gè)區(qū)塊在加入?yún)^(qū)塊鏈之前必須得到委員會(huì)成員的確認(rèn)。每個(gè)成員驗(yàn)證區(qū)塊中的所有交易,確認(rèn)以下數(shù)據(jù):交易數(shù)量、輸入、數(shù)字簽名和輸出。如果驗(yàn)證成功,在將交易合并到區(qū)塊鏈之前,將簽名發(fā)布到網(wǎng)絡(luò)的其他部分進(jìn)行最終驗(yàn)證。為了參與其中,節(jié)點(diǎn)必須將其目的通知網(wǎng)絡(luò),從而獲得一枚獨(dú)特的代幣,用于存儲(chǔ)在其整個(gè)過程中所完成工作的報(bào)酬數(shù)據(jù)。委員會(huì)新成員的選拔標(biāo)準(zhǔn)如下:網(wǎng)絡(luò)節(jié)點(diǎn)的活動(dòng)時(shí)間、錢包的大小、參加委員會(huì)的頻率。
區(qū)塊頭包括以下參數(shù):
·高度(區(qū)塊的高度)
·尺寸(區(qū)塊大小)
·版本(區(qū)塊鏈版本)
·之前的區(qū)塊哈希
·時(shí)間戳(當(dāng)前時(shí)間以秒為單位)
·Bits(命令窗口)
·nonce,一次性隨機(jī)數(shù) ( 命令窗口 )
·每個(gè)區(qū)塊中的交易數(shù)
Velas 區(qū)塊生成節(jié)點(diǎn)(BGN)的詳細(xì)信息
當(dāng)前網(wǎng)絡(luò)節(jié)點(diǎn)分為兩種類型 :
·區(qū)塊生成節(jié)點(diǎn)(BGN);
·所有剩余節(jié)點(diǎn)。
連接時(shí),節(jié)點(diǎn)向 DNSSeeds 發(fā)出請(qǐng)求并接收一個(gè)列表 (slice)。BGN 向任何地址發(fā)出請(qǐng)求,并接收 BGN 分支的列表 (node_slice)。
節(jié)點(diǎn)向列表中的任意節(jié)點(diǎn)發(fā)出請(qǐng)求,并嘗試連接。如果連接成功,則注冊(cè)節(jié)點(diǎn)。如果節(jié)點(diǎn)沒有空閑插槽,它將給出一個(gè)可以向其發(fā)出連接請(qǐng)求的從節(jié)點(diǎn)列表,否則,它將通過連接到任何可能的從節(jié)點(diǎn)來自行注冊(cè)。
此外,在整個(gè)“樹”中搜索,這個(gè)循環(huán)將繼續(xù),直到新節(jié)點(diǎn)找到一個(gè)空閑的連接插槽。
節(jié)點(diǎn)同步并發(fā)出請(qǐng)求 :sync()
此外,如果節(jié)點(diǎn)不在 NAT 后面,它將啟動(dòng)一個(gè)服務(wù)器來連接剩余的 7 個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)發(fā)送一個(gè) ping 碼來確定路徑長(zhǎng)度。節(jié)點(diǎn)總是連接到 TCP 服務(wù)器。如果節(jié)點(diǎn)在沒有通知的情況下失去連接,它也會(huì)失去這些分?jǐn)?shù)。
網(wǎng)絡(luò)中有兩種類型的消息:
· 節(jié)點(diǎn)和主節(jié)點(diǎn)間的消息;
·不通過從節(jié)點(diǎn)的消息。
每個(gè)附加節(jié)點(diǎn)都對(duì)前面結(jié)構(gòu)的哈希值進(jìn)行簽名,并將其發(fā)送出去,直到 ping碼到達(dá) BGN
這些記錄的結(jié)構(gòu)如下:
{
address_node,
hash,
sign
}
BGN 對(duì)哈希進(jìn)行簽名并將其發(fā)送回去。此時(shí),節(jié)點(diǎn)記錄跳轉(zhuǎn)到 BGN。當(dāng)投票發(fā)生時(shí),節(jié)點(diǎn)根據(jù)跳數(shù)和前面討論的其他參數(shù)給 master 打分。如果需要連接一個(gè)新節(jié)點(diǎn),該節(jié)點(diǎn)將用一個(gè)空閑插槽和躍點(diǎn)數(shù) BGN。如果沒有空閑插槽,節(jié)點(diǎn)只響應(yīng)“無法連接”,并給出從節(jié)點(diǎn)列表。
哈希算法
我們使用 Schnorr 簽名而不是 ECDSA。Velas 實(shí)現(xiàn)將使用 Secp256k1 曲線,因?yàn)樗强深A(yù)測(cè)的,因此性能更好。對(duì) Velas 區(qū)塊使用 Schnorr 簽名的最大好處是可以獲得可觀的性能提升。
由于 Schnorr 簽名的線性特性(簽名的“總和”等價(jià)于“總和”的簽名),我們可以對(duì)區(qū)塊中所有交易 / 輸入的驗(yàn)證簽名進(jìn)行批處理。
并且,我們只需要存儲(chǔ)一個(gè)單獨(dú)的簽名,通過簡(jiǎn)單的計(jì)算就可以聚合該區(qū)塊的所有簽名。而這只需要更少的存儲(chǔ)成本就可以達(dá)到更快的驗(yàn)證。畢竟,節(jié)點(diǎn)現(xiàn)在只需要兩個(gè)相對(duì)簡(jiǎn)單的計(jì)算就可以根據(jù)區(qū)塊簽名驗(yàn)證所有交易的簽名,區(qū)別于以往成千上萬次計(jì)算。
使用 Schnorr 算法而不是 ECDSA 還允許密鑰聚合和改進(jìn)隱私性,這樣就再也無法將多重簽名交易與常規(guī)交易區(qū)分開來。
中間人保護(hù)
該系統(tǒng)通過以下方式防止 MITM 攻擊:
·每個(gè)節(jié)點(diǎn)的公鑰存儲(chǔ)在區(qū)塊鏈中。
·此外,在區(qū)塊鏈中還有一個(gè)別名—公鑰串。
·當(dāng)容器從 subscriber A 向 subscriber B 發(fā)送時(shí),subscriberA 在區(qū)塊鏈中接收 subscriber B 的公鑰,并對(duì)其容器加密。它以加密的形式發(fā)送到 subscriber B 的的支持多幣種的錢包。
Subscriber B 的使用私鑰解密容器。
支持多幣種的錢包技術(shù)
Velas 區(qū)塊鏈可以為所有支持的代幣創(chuàng)建公共和私有容器。Velas 將為所支持的各種加密貨幣,如比特幣、以太坊和代幣、 柚子幣、瑞波幣、門羅幣等生成私鑰。密鑰通過用戶的私鑰種子創(chuàng)建。所有容器都可以通過創(chuàng)建 Velas 錢包時(shí)的原始種子或私鑰中恢復(fù)。這些容器允許創(chuàng)建所有其他代幣的鏈上鏈下可擴(kuò)展性方案,并作為Velas 中所有的智能合約的一個(gè)生態(tài)系統(tǒng)錢包。用戶還可以受益于將當(dāng)前安全保存在 Velas 錢包中的所有代幣存儲(chǔ)起來,并為非原生代幣創(chuàng)建多簽備份。
傳輸存儲(chǔ)私鑰的容器
1. 從節(jié)點(diǎn)列表中選擇可以作為代理的節(jié)點(diǎn)。例如 : 設(shè)置了一個(gè)標(biāo)志,并且節(jié)點(diǎn)有一個(gè)公共地址。
2. 然后,subscriber A 將節(jié)點(diǎn)地址發(fā)送給 subscriber B。
3. 兩個(gè) subscriber 都通過指定的通道連接到代理服務(wù)器。在代理服務(wù)器上創(chuàng)建映射(Map),圖中的代理服務(wù)器,Key 是通道名稱,Value 是兩個(gè)連接的結(jié)構(gòu)。
4. 連接完成后,subscriber A 將其公鑰發(fā)送給 subscriber B。
5. subscriber B 驗(yàn) 證 subscriber A 的 地 址 并 發(fā) 送 公 鑰。 如果 它 們 一 致, 擁 有 包 含 私 鑰 容 器 的 subscriber B 將 使 用subscriberA 的公鑰加密容器并將傳輸給他 / 她。
6. 接收容器后,subscriber A 使用他 / 她的私鑰解密。
7. 關(guān)閉連接。
來源;區(qū)塊網(wǎng)
評(píng)論
查看更多