從共識算法說起

區塊鏈系統首先是分佈式系統,而一致性是分佈式系統的基礎問題,要保證系統滿足不同程度的一致性,則就要用到共識算法。

現在主流的算法有 POW、POS、DPOS 等等,比特幣採用的 POW 共識算法運行 9 年之久,已被證明穩定可靠,然而因爲巨大的硬件和能源消耗而飽受詬病,特別是專用礦機,在被淘汰之後就變成了廢鐵。

POS 和 DPOS 爲了避免資源的浪費,直接採取拋棄計算的方式,通過持有證明和選舉來進行共識,犧牲了一定準入性和去中心化。而比原鏈從另一個角度來切入和解決 POW 資源浪費的問題。

比原鏈共識算法 Tensority 設計思路

首先我們基於以下思路來設計共識算法:

*計算是一種權力,不能因爲能源消耗而拋棄計算的方式,爲了維持系統的穩定能源消耗是必要的,而且 POW 已經被證明穩定可靠,同時准入門檻低。(CPU、GPU、ASIC 礦機皆可進入,同時也不需要持幣或者選舉)

*礦機功能單一是原罪,只能進行哈希運算造成礦機的極大浪費,如果能夠將礦機功能多樣化將更有利於發展。
*人工智能技術的迅猛發展,AI 智能加速市場需求量增大。

爲此我們設計了 AI 友好型的共識算法 Tensority。矩陣乘運算與卷積運算是人工智能常用的兩種算法,相比後者,前者的應用範圍更廣。

爲了使得比原鏈共識算法對人工智能友好,同時兼容所有主流的 AI 加速設備,比原鏈在算法選型上採用了矩陣乘運算。算法確定之後需要選取參與運算的數據類型,選取的標準有二:

第一,選取的數據類型需目前所有主流 AI 加速設備都能支持。

第二,神經網絡推理的主力數據類型均要支持。

綜合來看,int8 數據類型滿足條件。

比特幣 POW 共識算法回顧

在說到比原鏈的 POW 共識算法 Tensority 之前,我們回顧一下比特幣的 POW 共識算法:

我們知道比特幣的 POW 共識算法是通過不停的迭代計算區塊頭的哈希值,不斷修改參數,直到哈希值匹配的過程。

比原鏈 POW 共識算法總覽

那麼讓我們看一下比原鏈的共識算法總體過程:

整個 Tensority 算法過程中,區塊頭的哈希的選取和難度值的比較仍然作爲頭尾銜接的步驟,但是中間穿插了很多涉及到矩陣的運算過程,而這些運算在 AI 計算中比較常見,所以支持比原挖礦的礦機就有能力提高 AI 加速服務。

下面我們來進一步細化每個過程:

種子生成

我們在總覽圖中可以看到 Tensority 有兩個輸入,一個是和比特幣相同的哈希頭,另外一個就是種子 seed,那麼種子是怎麼來的?
我們可以看到論文中對於種子的描述:種子是一個由一段時間內的區塊歷史決定的 32 位的字節數組。簡單來說就是通過哈希前 128 塊區塊頭來獲取種子,一般來說每 256 個塊會更換一次 seed,在 256 塊以內都會使用相同的 seed。

Cache Calculation

這個步驟主要使用種子通過一定的變換獲得一個矩陣。我們首先通過一定次數的哈希將種子進行擴展,以滿足 Scrypt 的輸入要求,然後使用 Scrypt 函數生成一個 32x1024x128 的矩陣。值得注意的是,我們使用的 Scrypt 算法就是使用在萊特幣中的算法。

Matrix Construction

該步驟會將上一步產生的矩陣變成一個更爲規整的矩陣從而適合後續的處理,具體過程將會比較複雜,請參考論文。

Martix Operation

該步驟比較複雜,也是最有意思的步驟。採集的區塊頭哈希分割爲四份,每份做一次哈希生成一個新的哈希值,新的哈希值的每一個比特作爲 Matrix Construction 生成矩陣切片的索引值,從而切片獲得一個矩形。經過上述步驟後將獲得 128 個矩形,對這些矩形進行矩陣相乘最後得到一個矩陣。

算法圖更換

Work Generation

這個步驟是輸入上一步生成的矩形變成一個 32 位的哈希值,從而進行最後的難度比較。首先將 256×256 的矩形變形位 256×64 的矩形,然後通過 FNV 函數轉換爲一個 32 位哈希值。

我們將得到的哈希值和難度值做比較,看是否滿足條件,這一輪的共識算法就結束了。

結語:

1、比原鏈的 Tensority 共識算法比比特幣的算法複雜很多,對於單次的計算過程肯定需要耗費更多的資源,但是可以通過難度值來調整計算的難度。

2、Tensority 共識算法的特色在於算法過程中穿插了很多的矩陣生成,矩陣變換,矩陣乘法等運算,而這些能力在 AI 加速中也會頻繁使用。

3、基於上一條,如果想要做比原礦機,那麼這些礦機就必須得有能力支持矩陣運算,這些礦機就可以用來做 AI 的加速服務,從而提高了礦機的資源利用率。

版權聲明:
by
nc"
sa
作者保留權利。文章爲作者獨立觀點,不代表巴比特立場。
發文時比特幣價格 ¥47941.19

來源鏈接:www.8btc.com