Kaspa(KAS)

於 2024年11月29日 (五) 10:40 由 Martin 京一留言 | 貢獻 所做的修訂
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

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 攻擊。我們的設計方法採用了最終性和無效規則的裝置。

  1. 最終性是指不允許在某個固定深度以下進行重組的做法,未最終確定的區塊可能不會被修剪。另一方面,一般來說,最終確定的區塊也不一定可以被修剪,因為它們包含的數據可能需要用於計算傳入區塊的未花費交易輸出(UTXO)集。
  2. 無效規則:第一條規則:如果一個區塊無效,那麼指向它的任何區塊也無效。由於我們丟棄這樣的區塊,我們不能信任指向它們的區塊,因為數據不可用。第二條規則:如果在區塊 B 的過去中有一個區塊 D 在 B 的反錐中,並且沒有合規化區塊,那麼區塊 B 無效。第三條規則:有界合併,或限制合併區塊集的大小,使得定義為 B 的過去中既不是 B 的選定父區塊也不在 B 的選定父區塊的過去中的區塊集受到固定參數 L 的約束。

參考鏈接 編輯

  1. About Kaspa - Kaspa
  2. Features - Kaspa