Kaspa(KAS)
Kaspa 是一種工作量證明(PoW)加密貨幣,基於 GhostDAG/PHANTOM 協議。與傳統區塊鏈不同, GhostDAG 不會使並行創建的區塊成為孤塊,而是允許它們共存並在共識中對其排序。Kaspa 區塊鏈實際上是一個區塊有向無環圖(blockDAG)。這種對中本聰共識的泛化允許在保持非常高的區塊生成速率(目前每秒一個區塊,目標是每秒 10 個, 夢想是每秒 100 個)和由網絡延遲主導的極小確認時間的同時進行安全操作[1]。
Kaspa 的實現包含許多很酷的功能, 例如用於查詢 DAG 拓撲的可達性、區塊數據修剪 (近期有區塊頭修剪的計劃)、 簡單支付驗證(SPV)證明,以及稍後的子網支持,這將使未來第二層解決方案的實現更加容易。
發展歷程[編輯 | 編輯原始碼]
Kaspa 由研發公司 DAGLabs 構想,通過 PolyChain 投資。Kaspa 是一個社區項目,完全開源,沒有中央治理,也沒有商業模式。
創始人是 Yonatan Sompolinsky,他是哈佛大學 MEV 研究團隊的計算機科學博士後。
Kaspa 的核心開發者和貢獻者包括量子密碼學博士 Shai Wyborski、計算機科學碩士 Michael Sutton、計算機科學本科生 Mike Zak、密碼學研究員 Elichai Turkel 和開發者 Ori Newman——他們都為網絡的實現和穩定做出了巨大貢獻。此外還有來自世界各地的數十名貢獻者,您可以在 Kaspa 的 GitHub 上看到他們——而這些只是那些為 Kaspa 核心做出貢獻的人,同時還有各種 Kaspa 相關項目的生態系統開發者,從錢包和瀏覽器,到遊戲、實用工具和基於 Kaspa 的擴展。
技術細節[編輯 | 編輯原始碼]
中本聰共識引擎[編輯 | 編輯原始碼]
中本聰共識,是第一個基於工作量證明機制的共識引擎,至今仍在保障比特幣網絡的安全,以及許多其他工作量證明加密貨幣,包括但不限於萊特幣、比特幣現金和 ZCash 等知名加密貨幣。
中本聰共識的安全特性已在數學上得到證明,在理論上被認為是合理的,並且在過去 14 年中在比特幣及其變體中經過了實踐的檢驗,沒有發生任何重大事件。操縱區塊鏈的界限既簡單又可驗證;任何希望利用區塊鏈的行為者必須控制網絡上 50%以上的哈希率(即計算能力)。隨著網絡的發展,這被認為越來越不可行。
BlockDAG[編輯 | 編輯原始碼]
「DAG」這個術語代表有向無環圖,這是一個數學概念,指的是沒有有向環的有向圖。它由頂點和邊組成,每條邊都從一個頂點指向另一個頂點。在分布式帳本的背景下,BlockDag 是一種 DAG,其頂點是區塊,邊是區塊對其前驅的引用。區塊有向無環圖試圖解決線性區塊鏈和中本聰共識的問題。這些問題包括缺乏可擴展性、自私挖礦和孤塊。與傳統區塊鏈不同,區塊有向無環圖可以引用多個前驅,而不是單個前驅,並且區塊引用圖的所有頂點,而不僅僅是最長鏈的頂點。通過引用圖的所有頂點,區塊有向無環圖納入了來自不同分支的區塊,而不僅僅是引用最長鏈。
因此,在區塊有向無環圖中,沒有區塊被浪費或成為孤塊,所有區塊都被發布到帳本上,並且沒有挖礦能力被浪費。由於這種結構,允許更頻繁地生成區塊,促進更多交易,並實現幾乎即時的確認。這一切是如何實現的?通過偏離最長鏈共識方法,並利用 Kaspa 的新型 GhostDAG(Phantom 2.0)共識機制。
由於最大揭示原則,區塊有向無環圖優於單一或並行區塊鏈。當您挖掘一個區塊,並共享您所知道的區塊的所有頂點時,您最大限度地發送了信息。
GhostDAG[編輯 | 編輯原始碼]
GhostDAG 是 Kaspa 目前使用的共識機制,是對 PHANTOM 共識的改進。PHANTOM 需要解決一個 NP 難題,本身並不適合實際應用。相反,我們利用 PHANTOM 背後的直覺設計了一種貪婪算法 GHOSTDAG,它可以更有效地實現。我們正式證明 GHOSTDAG 是安全的,也就是說,隨著時間的推移,其區塊的排序變得越來越難以逆轉。GHOSTDAG 的主要成就可以總結如下:給定兩個在某個時間點發布並嵌入到區塊有向無環圖中的交易 tx1、tx2,隨著時間的推移,GHOSTDAG 中 tx1 和 tx2 之間的順序發生變化的概率會隨著時間呈指數級下降,即使在相對於網絡傳播延遲不可忽略的高區塊生成率下,假設大部分計算能力由誠實節點持有[2]。
與 PHANTOM 類似,GHOSTDAG 協議選擇一個 k 簇,這會導致區塊的著色為藍色(所選簇中的區塊)和紅色(簇外的區塊)。然而,GHOSTDAG 不是尋找最大的 k 簇,而是使用貪婪算法找到一個 k 簇。該算法通過首先繼承最佳頂點 Bmax(即過去具有最大藍色集的頂點)的藍色集來構建 DAG 的藍色集,然後以保持 k 簇屬性的方式將 Bmax 過去之外的區塊添加到藍色集中。 請注意,這種貪婪繼承規則誘導了一條鏈:鏈的最後一個區塊是 G 的選定頂點 Bmax;鏈中的下一個區塊是 DAG 過去(Bmax)的選定頂點;依此類推直到創世區塊。我們將這條鍊表示為 Chn(G) =(創世區塊 = Chn0(G),Chn1(G),...,Chnh(G))。在 GHOSTDAG 中,所有區塊的最終順序遵循與著色過程類似的路徑:我們首先繼承 Bmax 在過去(Bmax)區塊上的順序來對區塊有向無環圖進行排序,然後將 Bmax 本身添加到順序中,最後根據某種拓撲排序添加過去(Bmax)之外的區塊。因此,本質上,隨著著色過程,區塊的順序變得穩健。
Pruning[編輯 | 編輯原始碼]
Pruning 是 Kaspa 中採用的一種方法,用於減小區塊有向無環圖的大小。這防止節點必須保存大量的區塊有向無環圖數據的記錄。由於 Pruning 機制,Kaspa 節點每個去中心化機器只需要存儲約 3 天的先前歷史。這使得我們的網絡可以創建許多節點,而無需大量的存儲需求。
Kaspa 採用的 Pruning 機制對於我們的區塊有向無環圖和 GhostDAG 共識方法是獨特的。目標是設計一種 Pruning 算法,能夠抵抗 49%攻擊者的 Pruning 攻擊。我們的設計方法採用了最終性和無效規則的裝置。
- 最終性是指不允許在某個固定深度以下進行重組的做法,未最終確定的區塊可能不會被修剪。另一方面,一般來說,最終確定的區塊也不一定可以被修剪,因為它們包含的數據可能需要用於計算傳入區塊的未花費交易輸出(UTXO)集。
- 無效規則:第一條規則:如果一個區塊無效,那麼指向它的任何區塊也無效。由於我們丟棄這樣的區塊,我們不能信任指向它們的區塊,因為數據不可用。第二條規則:如果在區塊 B 的過去中有一個區塊 D 在 B 的反錐中,並且沒有合規化區塊,那麼區塊 B 無效。第三條規則:有界合併,或限制合併區塊集的大小,使得定義為 B 的過去中既不是 B 的選定父區塊也不在 B 的選定父區塊的過去中的區塊集受到固定參數 L 的約束。
參考連結[編輯 | 編輯原始碼]
- ↑ About Kaspa - Kaspa
- ↑ Features - Kaspa