買幣
行情
現貨
合約BTC
理財
活動中心
福利中心
更多
0 費狂歡節
Cosmos SDK: 什麼是 Cosmos SDK?Cosmos SDK 是一套開源軟體架構,可用於建置可自訂的 Layer 1 區塊鏈、分散式帳本及應用專屬的加密貨幣網路。它提供可重複使用的區塊鏈元件,涵蓋帳戶、代幣轉帳、交易手續費、質押、治理、獎勵、授權、升級及其他常見功能。開發者可以將這些元件與自訂模組結合,定義新區塊鏈獨有的業務邏輯。Cosmos SDK 主要以 Go 程式語言編寫。它是更廣泛 Cosmos 技Cosmos SDK: 什麼是 Cosmos SDK?Cosmos SDK 是一套開源軟體架構,可用於建置可自訂的 Layer 1 區塊鏈、分散式帳本及應用專屬的加密貨幣網路。它提供可重複使用的區塊鏈元件,涵蓋帳戶、代幣轉帳、交易手續費、質押、治理、獎勵、授權、升級及其他常見功能。開發者可以將這些元件與自訂模組結合,定義新區塊鏈獨有的業務邏輯。Cosmos SDK 主要以 Go 程式語言編寫。它是更廣泛 Cosmos 技

Cosmos SDK

2026/10/13 15:13
#Advanced
Humanity
H$0.05246-10.18%
SynFutures
F$0.003283+5.56%
PX
PX$0.0107-1.83%
Solayer
LAYER$0.06545-0.78%
Lorenzo Protocol
BANK$0.02375-7.44%

什麼是 Cosmos SDK?

Cosmos SDK 是一套開源軟體架構,可用於建置可自訂的 Layer 1 區塊鏈、分散式帳本及應用專屬的加密貨幣網路。

它提供可重複使用的區塊鏈元件,涵蓋帳戶、代幣轉帳、交易手續費、質押、治理、獎勵、授權、升級及其他常見功能。

開發者可以將這些元件與自訂模組結合,定義新區塊鏈獨有的業務邏輯。

Cosmos SDK 主要以 Go 程式語言編寫。

它是更廣泛 Cosmos 技術堆疊中的應用程式與狀態轉移層,本身並非加密貨幣或區塊鏈。

使用 SDK 建置的區塊鏈可以自行定義原生代幣、驗證者系統、交易規則、手續費模型、治理流程及應用程式功能。

官方Cosmos SDK 概覽將其描述為一套框架,可透過預先定義及自訂模組建置應用專屬區塊鏈與數位帳本。

此框架可支援公開且無須許可的鏈、私有許可制帳本、聯盟網路及其他專用區塊鏈架構。

SDK 是什麼意思?

SDK 是軟體開發套件(software development kit)的縮寫。

軟體開發套件提供程式庫、介面、工具、文件及可重複使用的程式碼,協助開發者為特定環境建置軟體。

Cosmos SDK 提供區塊鏈專用的建置元件,讓開發者不必從頭建立所有帳戶、交易、儲存、治理及質押功能。

SDK 一詞並不代表使用它建置的所有區塊鏈都必須採用相同規則或使用者體驗。

各開發團隊可以自行選擇模組、參數、權限、共識整合方式及升級政策。

最新的 Cosmos SDK 版本是什麼?

截至 2026 年 7 月,官方儲存庫將 Cosmos SDK v0.54.3 列為最新版本。

該版本於 2026 年 5 月 5 日發布,屬於 v0.54 與 2026.1 版本系列。

開發前應查看官方的Cosmos SDK 發布頁面,因為修補版本與安全性修正可能隨時間更新。

版本號很重要,因為不同版本系列的模組介面、儲存套件、應用程式組態、相依項目及遷移需求可能有所不同。

鏈在升級 SDK 相依套件前,應先檢視不相容變更,並在必要時準備協調一致的網路升級。

Cosmos SDK v0.54 升級指南記錄了應用程式組態、治理、bank 模組生命週期掛鉤、Store v2、日誌、IBC 相依套件及實驗性效能功能等方面的變更。

什麼是應用專屬區塊鏈?

應用專屬區塊鏈是指其協議層規則專為特定應用、產業或一組使用情境設計的網路。

其核心功能是區塊鏈狀態機的一部分,而非完全透過部署於共享通用執行層上的合約運作。

開發團隊可以自訂交易類型、帳戶權限、手續費、驗證者選擇方式、代幣發行、治理權限及儲存結構。

這種模式可以降低對非相關共享應用平台所選規則的依賴。

同時,鏈的開發者與社群也必須承擔更多責任,包括共識安全、驗證者運作、升級、經濟設計及基礎設施維護。

如果開發者希望除了原生模組外,也支援可程式化智能合約,應用專屬鏈仍可加入虛擬機。

Cosmos SDK 如何運作?

Cosmos SDK 區塊鏈由執行引擎、應用程式模組、狀態儲存、交易處理器,以及連接外部共識引擎的介面組成。

使用者會建立已簽章交易,其中包含一則或多則要求變更狀態的訊息。

共識網路會將有效交易排序並放入區塊,再將區塊資訊傳送至應用程式。

SDK 應用程式會檢查每筆交易、將訊息路由至正確模組、執行相關業務規則,並更新區塊鏈狀態。

所有誠實的驗證者都必須執行相同順序的交易,並產生相同的應用程式狀態雜湊值。

確定性執行至關重要,因為如果相同輸入產生不同結果,驗證者便無法就區塊鏈狀態達成一致。

Cosmos SDK 區塊鏈的主要層

共識與網路

共識與點對點網路通常由 CometBFT 提供,而非由各 SDK 模組直接實作。

CometBFT 會排列交易、協調驗證者投票、完成區塊定案,並透過應用程式區塊鏈介面與應用程式溝通。

BaseApp

BaseApp 是嵌入 Cosmos SDK 應用程式中的主要執行引擎。

它負責交易解碼、簽章中介軟體、訊息路由、Gas 計算、查詢、區塊掛鉤、狀態管理,以及與共識引擎溝通。

模組

模組包含專門的應用程式邏輯,用於處理帳戶、代幣轉帳、質押、治理及軟體升級等功能。

狀態儲存

每個模組都會在應用程式 multistore 中受控的鍵值命名空間內儲存自身狀態。

用戶端介面

命令列工具、gRPC 服務、REST 端點及其他介面可讓錢包、節點、區塊鏈瀏覽器與應用程式提交交易或查詢狀態。

什麼是 BaseApp?

BaseApp 是基礎應用程式類型,負責協調 Cosmos SDK 區塊鏈中的交易執行與模組活動。

官方BaseApp 文件將其描述為所有 Cosmos SDK 鏈使用的執行引擎。

BaseApp 實作應用程式區塊鏈介面,用於區塊鏈應用程式與 CometBFT 之間的通訊。

它接收共識引擎的請求、管理執行環境、路由交易、協調模組並提交應用程式狀態。

鏈的主要應用程式組態會建立 BaseApp,並將其連接至模組、keeper、儲存、中介軟體及生命週期掛鉤。

BaseApp 提供共用基礎設施,讓每個區塊鏈團隊都不必自行建立交易路由器、Gas 計量器、狀態快取或區塊掛鉤系統。

什麼是 ABCI?

ABCI 是應用程式區塊鏈介面(Application Blockchain Interface)的縮寫。

這是共識引擎與區塊鏈應用程式溝通所使用的協議。

ABCI 將共識與網路功能和應用專屬的狀態轉移邏輯分開。

CometBFT 可透過 ABCI 呼叫來初始化鏈、檢查交易、完成區塊定案、提交狀態及取得驗證者更新。

這種分工讓開發者可以專注於應用程式規則,同時使用經過測試的共識引擎產生區塊並達成最終性。

簡化的架構如下:CometBFT → ABCI → BaseApp → 模組 → 應用程式狀態。

什麼是 CometBFT?

CometBFT 是一種拜占庭容錯共識引擎,常與 Cosmos SDK 應用程式搭配使用。

它負責點對點網路、交易傳播、區塊提案、驗證者投票及區塊定案。

Cosmos SDK 與 CometBFT 負責不同工作,儘管兩者通常會一併部署。

CometBFT 決定交易最終確定的排序;Cosmos SDK 應用程式則決定這些交易會執行什麼操作。

即使共識引擎運作正常,應用程式邏輯中的缺陷仍可能造成不理想的結果。

因此,安全的鏈既需要可靠的共識組態,也需要安全且具確定性的應用程式程式碼。

什麼是 Cosmos SDK 模組?

Cosmos SDK 模組是可重複使用的元件,用於管理指定的區塊鏈功能與狀態。

每個模組都可以定義訊息、查詢、keeper、參數、創世資料、事件及區塊生命週期操作。

官方模組架構指南說明模組如何隔離狀態,並提供受控介面供模組彼此互動。

開發團隊可以採用標準模組、修改應用程式組態,或建立自訂模組。

模組化設計有助於區塊鏈在新增更多功能時維持架構清楚。

模組化並不代表可以在沒有相容性、安全性或遷移工作的情況下任意新增模組。

常見的 Cosmos SDK 模組

Auth 模組

x/auth
模組定義核心帳戶與交易類型,並支援基本的交易驗證。

它會參與簽章、帳戶序號、手續費及其他交易要求的檢查。

官方驗證模組規格說明,帳戶包含公鑰、地址、帳戶編號及以序號防止重放攻擊等所需資訊。

Bank 模組

x/bank
模組負責管理多種幣的餘額、轉帳、供應量資訊,以及對特定代幣移動所設的限制。

其他模組在需要鑄造、銷毀、轉移或查詢餘額時,可以使用受控的 bank-keeper 介面。

bank 模組文件說明其餘額管理與多資產轉帳職責。

Staking 模組

x/staking
模組提供權益證明功能,涵蓋驗證者、委託、解除綁定、重新委託及驗證者集合更新。

Slashing 模組

x/slashing
模組可依據鏈上參數,對驗證者長時間離線或簽署相互衝突的區塊等過失施加處罰。

Distribution 模組

x/distribution
模組支援將交易手續費及其他獎勵分配給驗證者、委託者及指定的社群資源。

Governance 模組

x/gov
模組支援鏈上提案、存入押金、投票、計票,以及經授權執行獲核准的提案訊息。

Mint 模組

x/mint
模組可依應用程式設定的經濟規則,管理協議定義的代幣發行。

Upgrade 模組

x/upgrade
模組會在指定區塊高度協調預定的軟體升級與狀態遷移。

Authorization 模組

x/authz
模組可讓一個帳戶授予另一個帳戶有限權限,代表自己執行指定類型的訊息。

Fee Grant 模組

x/feegrant
模組可讓一個帳戶依照設定的額度,替另一個帳戶支付交易手續費。

什麼是 Keeper?

Keeper 是 Cosmos SDK 模組中存取狀態及處理業務邏輯的層。

它提供具型別的方法,用來讀取與寫入模組資料。

模組底層的儲存欄位通常會設為私有,以免外部程式碼直接修改其狀態。

訊息伺服器、查詢伺服器及區塊掛鉤會呼叫 keeper 方法來存取狀態。

其他模組只能取得應用程式明確提供的 keeper 介面與權限。

此模式能讓模組相依關係更清楚,並降低不受限制地存取共用區塊鏈狀態的情況。

設計不良的 keeper 介面仍可能授予危險權限,因此必須仔細檢視權限邊界。

Cosmos SDK 模組如何溝通?

模組透過明確定義的 keeper 介面溝通,而不是直接修改彼此的儲存資料。

當綁定代幣需要在模組帳戶之間移動時,staking 模組可能會呼叫經核准的 bank-keeper 方法。

提案通過後,governance 模組可能會呼叫經授權的參數更新方法。

接收呼叫的模組仍須負責執行自身的狀態規則。

明確定義的介面讓跨模組權限更容易測試與稽核。

循環相依關係及過多權限可能使應用程式更難維護與保護。

狀態如何儲存?

Cosmos SDK 會將應用程式狀態以鍵值組的形式,儲存在各模組專屬的儲存區。

鍵和值以位元組表示,模組則依照定義的序列化規則,編碼與解碼結構化資料。

Cosmos SDK 狀態與儲存指南說明,模組儲存區會掛載在 multistore 中,並一併提交。

每個模組都會管理自己的命名空間,通常透過具型別的 store key 與 keeper 存取。

區塊處理完成時,應用程式會計算代表所有模組狀態的狀態根。

狀態根會回傳給共識引擎,並納入區塊鏈已提交的歷史紀錄。

什麼是 Cosmos SDK Multistore?

Multistore 是一個容器,負責協調應用程式模組使用的不同狀態儲存區。

每個模組都可以維護獨立的鍵空間,而所有模組的變更則會統一提交至同一個應用程式狀態根。

這種設計能隔離模組資料,又不必為每個模組建立獨立區塊鏈。

交易執行時可以使用快取狀態,因此訊息執行失敗時,相關變更會在更新底層狀態前捨棄。

儲存實作與資料庫組態可能影響節點效能、資料修剪、快照及遷移需求。

Cosmos SDK v0.54 引入 Store v2 套件變更,升級應用程式時需要謹慎遷移。

什麼是創世狀態?

創世狀態是新區塊鏈開始運作時的初始狀態。

創世狀態通常以

genesis.json
檔案表示,其中包含鏈與模組組態。

創世資料可能定義初始帳戶、代幣餘額、驗證者、模組參數及其他初始紀錄。

鏈初始化時,BaseApp 會呼叫各模組的創世邏輯,以驗證並填入狀態。

所有節點都必須從相容的創世資料開始,否則便無法計算出相同的區塊鏈狀態。

初始代幣供應量、地址、驗證者金鑰或參數若有錯誤,可能需要在網路啟動前協調修正。

Cosmos SDK 交易如何運作?

Cosmos SDK 交易是一種經簽章的資料結構,包含一則或多則訊息、驗證資訊、Gas 上限及交易手續費。

每則訊息代表一項要求執行的操作,例如轉移代幣、委託質押、投票或呼叫自訂模組功能。

使用者會使用與發送帳戶關聯的私鑰為交易簽章。

節點會解碼收到的位元組,並檢查交易是否符合記憶池要求。

共識將交易納入區塊後,BaseApp 會執行交易驗證中介軟體,並將每則訊息路由至適當的處理器。

成功執行的處理器會更新模組狀態,並產生供外部應用程式索引的事件。

Cosmos SDK 交易生命週期

建立交易

錢包或應用程式會建立訊息,並加入帳戶、手續費、Gas、鏈及簽章資訊。

簽章

帳戶持有人會使用帳戶授權的私鑰,為定義好的簽章位元組簽章。

廣播

編碼後的交易會透過支援的用戶端介面提交至節點。

CheckTx

節點會初步檢查簽章、序號、手續費、Gas 價格及交易格式,之後才將交易納入其記憶池。

共識排序

驗證者會透過共識流程,就包含排序交易集合的區塊達成一致。

執行 AnteHandler

BaseApp 會執行訊息處理前的中介軟體,處理驗證、序號、手續費及 Gas 設定。

執行訊息

系統會依訊息的類型 URL,將每則訊息路由至適當的模組訊息伺服器。

後續處理

應用程式可以設定後置處理器,在訊息執行後執行邏輯。

提交狀態

成功的狀態轉移會納入該區塊所提交的新應用程式狀態根。

什麼是 AnteHandler?

AnteHandler 是在交易訊息執行前運作的中介軟體。

它可以驗證簽章、檢查帳戶序號、扣除手續費、設定 Gas 計量器,並執行應用程式特定的交易條件。

如果 AnteHandler 拒絕交易,交易訊息便不會執行。

根據目前的 BaseApp 文件,即使後續訊息執行失敗,成功執行 AnteHandler 時所進行的手續費扣除與序號更新仍可能提交。

這表示即使使用者要求的加密貨幣操作未能成功,仍可能需要支付交易手續費。

自訂 AnteHandler 邏輯必須在所有驗證者之間保持確定性。

什麼是 Cosmos SDK 訊息?

訊息是一項結構化請求,用於執行特定的狀態轉移。

例如傳送代幣、建立驗證者、委託質押、提交治理提案,或變更自訂應用程式資料。

每種訊息類型都有定義好的欄位、簽署者規則、驗證要求及對應的訊息伺服器方法。

BaseApp 會依據已註冊的類型 URL 路由訊息。

應用程式可以在一筆交易中放入多則訊息。

訊息狀態變更通常具有原子性,也就是說,如果其中一則訊息失敗,交易訊息的寫入便不會只提交一部分。

什麼是查詢?

查詢會讀取區塊鏈狀態,但不會要求進行狀態轉移。

錢包可以查詢餘額、質押倉位、治理提案、模組參數及交易相關資訊。

Cosmos SDK 模組通常會提供 gRPC 查詢服務,由 BaseApp 路由至正確的查詢伺服器。

查詢不會經過一般交易的 AnteHandler,也不會以相同方式扣除區塊鏈交易手續費。

如果不同節點提供不同區塊高度的資料,或歷史狀態不完整,查詢結果可能會有所不同。

若所查詢的鏈、區塊高度及資料來源會影響結果,應用程式應明確指出這些資訊。

Cosmos SDK 中的 Gas 是什麼?

Gas 是一種衡量單位,用於限制交易執行所消耗的運算與儲存資源。

簽章驗證、讀取狀態、寫入狀態及處理交易位元組等操作都可能消耗 Gas。

交易會宣告 Gas 上限,代表其授權執行所能使用的 Gas 最大值。

即使底層訊息原本有效,只要交易耗盡 Gas 上限仍會失敗。

Gas 計算表與成本可能因 Cosmos SDK 鏈而異,因為應用程式可以設定重要參數及實作細節。

Cosmos SDK 交易手續費如何計算?

簡化的手續費計算方式,是將 Gas 上限乘以所選 Gas 價格。

交易手續費 = Gas 上限 × Gas 價格

Gas 上限為 200,000、Gas 價格為每單位 Gas 0.025 個代幣單位時,手續費為 5,000 個最小代幣單位。

交易手續費 = 200,000 × 0.025 = 5,000

驗證者可以設定最低 Gas 價格,以篩選提交至其節點的交易。

如果交易提供的手續費低於節點的最低要求,該節點可能會在交易進入其記憶池前予以拒絕。

顯示的手續費應標明代幣面額及小數位換算方式。

Cosmos SDK 帳戶

Cosmos SDK 帳戶通常包含地址、帳戶編號、序號,以及已揭露至鏈上的公鑰資訊。

序號有助於防止同一筆已簽章交易遭到重複重放。

若提交交易時使用過期序號,交易可能遭到拒絕。

若應用程式需要歸屬、多人簽章、許可制或特殊功能,可以定義基本帳戶以外的帳戶類型。

帳戶地址無法證明控制其私鑰者的法律身分。

如果沒有其他授權系統,私鑰或復原方式遺失可能導致永久失去控制權。

Cosmos SDK 地址格式

Cosmos SDK 鏈通常使用 Bech32 編碼顯示地址,並搭配鏈專屬的人類可讀前綴。

此類前綴可協助使用者在易讀介面中區分帳戶、驗證者及共識地址。

由於使用了不同前綴或地址規則,兩條鏈可能根據相關金鑰資料產生不同的顯示地址。

僅憑前綴無法證明某個地址屬於預期的區塊鏈或收款方。

轉移加密貨幣前,使用者應確認 Chain ID、地址類型、完整目的地址及支援的資產路徑。

Cosmos SDK 質押

Cosmos SDK staking 模組可讓鏈維護權益證明驗證者系統。

原生代幣持有者可以依鏈上規則,將質押代幣委託給驗證者。

驗證者的選出方式可由已綁定的投票權及設定的驗證者集合上限決定。

官方Cosmos SDK 質押規格定義了驗證者、委託、解除綁定、重新委託及驗證者集合的狀態轉移。

該模組使用委託份額,作為各驗證者委託代幣池的會計機制。

綁定面額、驗證者數量上限、解除綁定時間及歷史紀錄等質押參數,由各鏈自行設定。

驗證者與委託者

驗證者會運作基礎設施;當其列入有效驗證者集合時,便會參與區塊提案、投票及共識工作。

委託者會將質押權力委託給驗證者,但不一定需要自行運作驗證者基礎設施。

驗證者可能會對分配給委託者的獎勵收取佣金。

委託者仍須承擔驗證者績效、佣金變動、削減罰則、解除綁定延遲、代幣波動性及協議風險。

委託並不像一般代幣銷售那樣移轉所有權,但代幣會受到 staking 模組規則約束。

確切權利與風險取決於鏈的應用程式組態。

解除綁定與重新委託

解除綁定是將委託從質押中移出的程序起點。

在鏈上定義的解除綁定期間內,代幣可能無法轉移。

在代幣仍處於綁定狀態期間發生的特定驗證者行為,也可能導致代幣受到處罰。

重新委託會依協議規則,將質押曝險從一位驗證者轉移至另一位驗證者。

staking 模組會追蹤尚未完成的重新委託,以減少透過反覆更換驗證者逃避處罰的行為。

錢包介面應顯示完成時間與限制,不應將解除綁定描述為立即提領。

Cosmos SDK 削減罰則

削減罰則是協議施加的處罰,可能降低質押價值,或使驗證者退出有效共識參與。

Cosmos SDK 削減罰則規格涵蓋驗證者存活監控、隔離、簽署相互衝突的簽章及永久標記等行為。

鏈可以透過參數設定處罰內容及漏簽區塊的要求。

由於委託者的代幣構成驗證者質押的一部分,因此委託者可能共同承擔削減損失。

如果驗證者未符合特定存活要求,可能會遭到暫時隔離。

依鏈上規則,嚴重的共識過失可能導致更重的處罰及永久限制。

Cosmos SDK 治理

治理模組讓符合資格的參與者提交提案,並對區塊鏈決策進行投票。

提案可以包含一則或多則可執行訊息,而不只是非正式的文字建議。

可能的治理操作包括變更模組參數、支用指定的社群資源,或安排軟體升級。

提案流程可能包含押金存入期間、投票期間、法定人數要求、通過門檻及否決門檻。

各鏈的治理規則都可能不同。

鏈上核准無法強制驗證者執行有缺陷或無法取得的軟體,因此重大升級也需要營運方面的協調。

Cosmos SDK 授權

授權模組可讓授權者允許被授權者代表自己執行指定訊息。

官方Cosmos SDK 授權文件說明,授權內容是與特定訊息類型相關的權限。

授權範圍可以很廣,也可以透過自訂授權邏輯加以限制。

代幣傳送授權可以設定支出上限,並可選擇指定允許的目的地址清單。

建立授權前,使用者應檢查允許的訊息類型、有效期限、支出上限及收款方限制。

如果獲授權帳戶遭入侵,攻擊者便可能濫用仍在有效期限內的授權所允許的任何操作。

Cosmos SDK 軟體升級

區塊鏈軟體升級可能會變更模組邏輯、儲存格式、介面及共識相關行為。

x/upgrade
模組可讓鏈安排在指定區塊高度進行升級。

upgrade 模組規格說明,治理提案可以安排或取消升級計畫。

節點營運者必須在預定升級生效前安裝正確且相容的執行檔。

升級處理器可以執行模組遷移,並將儲存資料轉換為新軟體所需的格式。

若協調失敗,區塊產生可能中斷,或使營運者分別使用不相容的版本。

Cosmos SDK 與 IBC

IBC 是一種協議,讓相容的區塊鏈能夠驗證並交換跨鏈資料。

Cosmos SDK 鏈可以整合 IBC 模組,以支援代幣轉帳、跨鏈帳戶、合約訊息及其他跨鏈應用程式。

官方IBC-Go 文件說明,支援 IBC 的鏈可以透過無須許可的協議連線交換位元組編碼資料。

IBC 並不限於使用 Cosmos SDK 建立的鏈,但 Go 實作版本常整合至 SDK 應用程式中。

自 IBC-Go v10 起,IBC Classic 與 IBC v2 已在該版本系列中成為兩種不同的協議版本。

連線會使用參與系統雙方都支援的協議與應用程式模組。

IBC 代幣轉帳如何運作?

IBC 代幣轉帳會從使用者在來源鏈提交轉帳請求開始。

來源端應用程式會依照資產的轉帳路徑,託管或銷毀相關代幣表示形式。

系統會提交包含轉帳資料的封包,之後再轉送至目的鏈。

目的鏈會驗證所需的證明,並建立或釋出相應的資產表示形式。

中繼器負責傳送封包與證明資料,但無須信任中繼器修改有效封包內容。

使用者仍須承擔通道選擇、資產追蹤資訊、流動性、應用程式、用戶端、共識及接收鏈風險。

Cosmos SDK 支援智能合約嗎?

Cosmos SDK 專注於原生區塊鏈模組,但可透過加入虛擬機,擴充智能合約執行功能。

如此一來,鏈便能將協議層模組與使用者部署的可程式化應用程式結合。

開發團隊可依據程式語言、相容性、效能及安全需求選擇虛擬機。

並非每個 Cosmos SDK 應用程式都會自動啟用智能合約支援。

加入虛擬機可擴展功能,但也會擴大應用程式的攻擊面並增加營運複雜度。

Cosmos SDK 與智能合約的差異

Cosmos SDK 模組是原生應用程式邏輯,包含在驗證者使用的區塊鏈軟體中。

智能合約則是在既有區塊鏈應用程式提供的虛擬機中執行。

原生模組可以存取協議層掛鉤及緊密整合的狀態介面。

智能合約通常可以在不要求每位驗證者安裝新的鏈執行檔的情況下部署。

更新原生模組邏輯通常需要協調全鏈升級。

最佳模式取決於功能是否需要協議層控制、無須許可的部署、隔離執行或快速應用程式迭代。

Cosmos SDK 與 Cosmos Hub 的差異

Cosmos SDK 是用來建置區塊鏈的軟體;Cosmos Hub 則是使用 Cosmos 技術堆疊建置的一條特定區塊鏈。

SDK 並沒有一種所有鏈都必須共用的指定原生加密貨幣。

每個 Cosmos SDK 應用程式都可以自行定義代幣面額、供應規則、質押資產及手續費政策。

某條獨立鏈的治理決策不會自動控制其他所有基於 SDK 的鏈。

開發者不應將 Cosmos Hub 的參數視為所有 Cosmos SDK 鏈通用的預設值。

Cosmos SDK 的優點

模組化元件可以減少團隊必須獨立開發的區塊鏈基礎程式碼。

應用專屬架構讓開發者可以控制協議邏輯、手續費、權限、治理及代幣經濟學。

模組狀態邊界與 keeper 介面有助於理解並稽核權限。

原生 IBC 支援可提供標準化的跨鏈通訊方式。

此框架同時支援預先定義的模組與自訂應用程式邏輯。

開源程式碼、文件、測試工具及既有的正式環境應用案例,可協助開發與審查。

這些優點並不能取代安全設計、稽核、測試、驗證者營運及經濟分析。

Cosmos SDK 的限制

啟動獨立鏈需要驗證者、節點、監控、升級、治理及長期維護。

新網路必須依其威脅模型建立足夠的經濟安全性或許可制安全性。

自訂模組可能包含嚴重的邏輯、授權或狀態遷移缺陷。

模組與相依套件升級可能帶來應用程式組態上的不相容變更。

跨鏈連線會增加用戶端、中繼器、路由及目的鏈相關風險。

應用專屬的彈性也可能帶來複雜性,因為不同的 SDK 鏈可能採用截然不同的參數與模組。

使用者不能假設所有使用此框架建立的鏈都具有相同的安全性、去中心化程度或資產保障。

Cosmos SDK 安全性

安全性取決於 SDK 版本、自訂應用程式程式碼、共識組態、驗證者基礎設施、金鑰管理、治理及連接的協議。

每次狀態轉移都必須具確定性,並針對未經授權的輸入進行驗證。

Keeper 應只向其他模組提供所需權限。

管理權限、升級金鑰、治理權力及緊急控制措施都應有文件說明並經過測試。

開發者應使用受支援的相依套件、檢視安全公告、執行模擬、測試遷移,並為高價值應用程式安排獨立稽核。

官方Cosmos Stack 稽核頁面提供核心元件已發布安全審查的連結。

Cosmos Stack 漏洞獎勵計畫政策提供私下通報漏洞的協調流程。

常見的 Cosmos SDK 安全風險

非確定性執行

依賴本地時間、不可預測的迭代順序、外部服務或不一致數值行為的程式碼,可能導致驗證者計算出不同狀態。

Keeper 權限錯誤

權限過於廣泛的 keeper 介面,可能讓一個模組得以在另一個模組中執行未經授權的變更。

訊息授權錯誤

如果訊息處理器未能驗證正確的簽署者或授權來源,便可能造成未經授權的狀態變更。

創世資料錯誤

無效餘額、重複紀錄、錯誤的驗證者資料或不安全參數,都可能在區塊鏈產生第一個區塊前危及整條鏈。

升級失敗

遷移邏輯錯誤可能破壞狀態,或導致節點無法在預定升級高度重新啟動。

經濟設計失誤

即使軟體依照設計運作,不安全的誘因、通膨、抵押品規則或治理門檻仍可能造成經濟損失。

驗證者金鑰遭入侵

驗證者金鑰遭竊或設定錯誤,可能導致作業中斷,或產生可能遭處罰的共識行為。

相依套件漏洞

區塊鏈可能因過時的 SDK、共識、IBC、密碼學、資料庫或網路相依套件而繼承安全弱點。

如何使用 Cosmos SDK 建立區塊鏈

定義區塊鏈的目的

團隊應定義目標使用者、資產、交易類型、安全假設、治理架構及法規要求。

選擇 SDK 版本

應從受支援的版本系列開始開發應用程式,並鎖定相容的相依套件版本。

選擇標準模組

團隊可選用帳戶、轉帳、質押、治理、獎勵、授權及升級等模組。

開發自訂模組

自訂模組可定義訊息、Keeper、查詢、事件、參數、創世邏輯及生命週期 Hook。

設定應用程式連線

必須正確連接儲存區、Keeper、模組相依關係、中介軟體、訊息服務、查詢服務及 Hook 順序。

定義創世狀態

必須產生、驗證、審查初始區塊鏈狀態,並一致地分發給節點營運者。

測試確定性與狀態轉換

單元測試、整合測試、模擬、模糊測試及多節點測試網路,有助於發現邏輯與共識問題。

進行安全審查

應針對高風險模組、權限、代幣發行、升級及跨鏈整合進行重點安全審查。

啟動測試網路

測試網路可讓營運者與開發者練習創世設定、交易、驗證者變更、故障處理及升級。

協調正式網路啟動

驗證者必須使用相容的二進位檔、創世檔案、網路設定及作業程序。

Cosmos SDK 模組開發

自訂模組通常會先定義狀態模型,再實作交易訊息。

Protocol Buffer 檔案可用於定義訊息、查詢、創世資料及資料結構。

Keeper 提供受控的狀態存取方式及可重複使用的商業邏輯。

訊息伺服器會驗證交易請求並呼叫 Keeper 執行操作。

查詢伺服器提供模組狀態的唯讀存取方式。

模組可向應用程式註冊服務、介面、儲存區、創世處理常式、遷移及區塊 Hook。

開發者不應只測試成功的交易,也應測試失敗狀態及未經授權的呼叫。

區塊生命週期 Hook

Cosmos SDK 模組可在區塊執行的不同階段執行預先定義的邏輯。

PreBlock 邏輯會在 BeginBlock 之前執行,可用於準備區塊所需的狀態。

BeginBlock 邏輯會在區塊執行初期執行,可處理排程中的模組工作。

接著,系統會依照約定的順序處理交易。

EndBlock 邏輯會在交易執行後執行,可用於準備驗證者更新或完成模組計算。

ModuleManager 負責協調 Hook 的執行順序;順序設定錯誤可能導致應用程式錯誤或非預期的狀態。

事件與索引

Cosmos SDK 模組可在交易及區塊執行期間發出事件。

事件可描述轉帳、委託、投票、參數變更或自訂應用程式活動等操作。

區塊鏈瀏覽器及分析系統可為這些事件建立索引,提供可搜尋的使用者介面。

事件是可觀察到的執行輸出,不是狀態的權威來源。

若應用程式需要取得目前的正式狀態,應查詢已提交的狀態。

不同版本的應用程式可能會變更事件欄位及索引設定。

Cosmos SDK 治理與參數

模組參數是鏈上設定值,用來控制模組行為中預先定義的部分。

例如治理提案存款、驗證者數量上限、質押期間、代幣發行設定及削減條件。

參數通常透過具授權的訊息變更,而非一般不受限制的使用者交易。

治理模組帳戶可作為參數更新訊息的授權者。

開發者應驗證每一個新增的參數值,避免治理操作意外使模組進入無效狀態。

若必須變更底層狀態轉換邏輯,就不應以參數彈性取代明確的軟體升級。

Cosmos SDK 效能

效能取決於應用程式邏輯、資料庫設定、交易複雜度、硬體、網路狀況、共識設定及狀態規模。

簡單的轉帳與複雜的多模組交易,消耗的資源並不相同。

每個驗證者都必須在網路的時間假設內完成確定性執行。

隨著時間推移,狀態成長可能增加儲存、快照、同步及查詢成本。

Gas 計量、資料修剪、索引、快取及有效率的 Keeper 邏輯都可能影響節點效能。

Cosmos SDK v0.54 包含實驗性的 Block-STM 平行交易執行支援,但要在正式環境採用,必須謹慎測試相容性與正確性。

什麼是 Block-STM?

Block-STM 是一種實驗性執行方式,嘗試平行處理彼此相容的交易,同時維持確定性的最終結果。

Cosmos SDK Block-STM 文件介紹了區塊最終確定期間的樂觀式平行執行。

若交易存取的狀態彼此衝突,可能需要重新執行或安全排序。

平行執行可提升彼此獨立工作負載的處理量;但若大多數交易都會修改相同狀態,效益可能有限。

不應只因基準測試顯示交易數量較高,就啟用實驗性功能。

Cosmos SDK 節點營運

全節點會儲存區塊鏈狀態、與其他節點通訊、驗證區塊,並提供已設定的介面服務。

驗證者節點在其驗證者啟用時,也會負責共識簽署工作。

營運者必須保護私鑰、限制遠端介面的存取、監控磁碟使用量、安裝相容的升級,並維持穩定的網路連線。

公開的遠端程序呼叫服務應依據其威脅模型設定適當的速率限制及存取控制。

備份應保護設定及必要的復原資料,同時避免額外複製正在使用的簽署金鑰。

監控系統應偵測漏失區塊、程序故障、節點連線中斷、磁碟空間耗盡、狀態同步問題及異常的應用程式行為。

如何評估 Cosmos SDK 區塊鏈

確認該區塊鏈使用的確切 SDK、CometBFT、IBC 及模組版本。

檢查應用程式是否包含重要的自訂模組或由管理員控制的邏輯。

檢視驗證者分布、共識參與度、質押集中程度及金鑰管理作法。

閱讀該區塊鏈的治理參數、升級流程及緊急權限。

確認原生資產與跨鏈資產的模型,以及哪些權限方能夠鑄造、凍結或限制代幣。

檢視安全稽核、已揭露的漏洞、測試涵蓋率及事故紀錄。

確認 IBC 路由、用戶端或連接的區塊鏈是否增加了外部安全假設。

僅使用 Cosmos SDK,並不能判定特定加密貨幣網路是否安全或適合使用者。

對 Cosmos SDK 的常見誤解

常見的誤解之一,是以為 Cosmos SDK 本身就是一條區塊鏈,而不是用來建立不同區塊鏈的框架。

另一個誤解是,所有基於 SDK 的區塊鏈都共用相同的驗證者集合。

除非採用特定的共享安全性設計,否則獨立區塊鏈通常各自維護安全機制與治理。

有些使用者以為,所有基於 SDK 的資產都能自動透過 IBC 轉移。

IBC 轉帳需要相容的模組、運作中的用戶端、有效路由及正常運作的中繼者。

另一種誤解是,標準模組無法透過應用程式邏輯、參數或版本選擇進行自訂。

使用者也可能將區塊鏈的原生代幣與用來建構該區塊鏈的軟體框架混淆。

常見問題

如何用最簡單的方式定義 Cosmos SDK?

Cosmos SDK 是一套開源 Go 框架,可用來建置可自訂的 Layer 1 區塊鏈及分散式帳本。

Cosmos SDK 是區塊鏈嗎?

不是。它是用來建置區塊鏈的軟體,本身並不是一條區塊鏈。

Cosmos SDK 是加密貨幣嗎?

不是。使用 Cosmos SDK 建置的各個應用程式,都可以自行定義加密貨幣及代幣規則。

Cosmos SDK 使用哪種程式語言?

Cosmos SDK 主要以 Go 開發。

最新的 Cosmos SDK 版本是什麼?

截至 2026 年 7 月,官方程式碼儲存庫列出的最新版本為 v0.54.3。

什麼是 BaseApp?

BaseApp 是執行引擎,負責連接共識呼叫、交易處理、模組及區塊鏈狀態。

什麼是 ABCI?

ABCI 是共識引擎與區塊鏈應用程式溝通的介面。

什麼是 CometBFT?

CometBFT 是一種共識及網路引擎,常用於為 Cosmos SDK 應用程式安排交易順序並完成最終確定。

什麼是 Cosmos SDK 模組?

模組是可重複使用的應用程式元件,負責區塊鏈邏輯與狀態中的特定部分。

什麼是 Keeper?

Keeper 是模組中受控的狀態存取及商業邏輯層。

開發者可以建立自訂 Cosmos SDK 模組嗎?

可以。開發者可建立具有自訂訊息、狀態、查詢、參數、事件及生命週期 Hook 的模組。

什麼是 bank 模組?

bank 模組負責管理加密貨幣餘額、多資產轉帳、供應量資訊及特定代幣限制。

什麼是 auth 模組?

auth 模組定義核心帳戶與交易類型,並參與交易驗證。

什麼是 staking 模組?

staking 模組負責管理驗證者、委託、解除質押、重新委託及權益證明驗證者更新。

什麼是 slashing 模組?

slashing 模組會對預先定義的驗證者錯誤進行處罰,例如離線或簽署互相衝突的共識訊息。

什麼是 governance 模組?

governance 模組負責管理提案、存款、投票、計票,以及經授權執行已通過的操作。

什麼是 upgrade 模組?

upgrade 模組會在指定區塊高度安排協調式軟體變更及狀態遷移。

什麼是 Cosmos SDK 交易?

Cosmos SDK 交易是經簽署的結構,其中包含訊息、帳戶驗證資料、Gas 上限及手續費。

Cosmos SDK 中的訊息是什麼?

訊息是向模組提出的結構化請求,要求其執行特定的區塊鏈狀態轉換。

一筆交易可以包含多個訊息嗎?

可以。一筆交易可包含多個訊息,並依序處理。

其中一個訊息失敗時會發生什麼事?

訊息寫入的狀態通常會以原子方式回復,但費用及序號變更等前置處理效果仍可能生效。

什麼是 AnteHandler?

AnteHandler 是執行前的中介軟體,負責處理簽章、序號、手續費、Gas 及其他交易檢查。

Cosmos SDK 中的 Gas 是什麼?

Gas 用來衡量並限制交易執行所消耗的運算及儲存資源。

交易手續費如何計算?

簡化的計算方式是將交易的 Gas 上限乘以所選的 Gas 價格。

所有 Cosmos SDK 區塊鏈的手續費都相同嗎?

不相同。各條區塊鏈可採用不同的手續費代幣、Gas 價格、最低費用及手續費政策。

什麼是創世狀態?

創世狀態是新區塊鏈啟動時使用的初始帳戶、代幣、驗證者、參數及模組資料。

Cosmos SDK 支援權益證明嗎?

支援。其 staking 與 slashing 模組可支援可設定的權益證明驗證者系統。

委託是否能保證質押獲利?

不能。獎勵可能變動,委託者也會面臨代幣波動性、佣金、離線、削減及協議風險。

什麼是解除質押期?

解除質押期是由區塊鏈定義的延遲期間,符合條件的已解除質押代幣須等待該期間結束後才能再次轉帳。

Cosmos SDK 區塊鏈之間可以互相通訊嗎?

只要實作相容的 IBC 協議、應用程式、用戶端及路由,就可以互相通訊。

什麼是 IBC?

IBC 是一種協議,用於在相容的獨立區塊鏈之間進行經驗證的資料通訊。

IBC 是否需要信任中繼者?

中繼者負責傳輸資料;接收區塊鏈則會驗證協議證明,而非信任中繼者來判定狀態是否有效。

IBC 能消除跨鏈風險嗎?

不能。使用者仍面臨應用程式、用戶端、路由、共識、資產、流動性及目的地區塊鏈風險。

Cosmos SDK 支援智能合約嗎?

支援。區塊鏈可新增相容的虛擬機來執行智能合約。

模組與智能合約有什麼不同?

模組以原生區塊鏈邏輯執行;智能合約則在區塊鏈提供的虛擬機中執行。

Cosmos SDK 和 Cosmos Hub 是同一個東西嗎?

不是。Cosmos SDK 是開發框架,而 Cosmos Hub 是使用 Cosmos 技術堆疊建立的一條區塊鏈。

所有 Cosmos SDK 區塊鏈都共用驗證者嗎?

不共用。除非刻意採用共享安全性安排,否則獨立區塊鏈通常各自運作獨立的驗證者集合。

不同 SDK 區塊鏈上的代幣可以使用相同代號嗎?

可以。代號並非全球唯一,因此使用者應確認區塊鏈、面額、合約及轉帳路徑。

什麼是 Store v2?

Store v2 是更新版的 Cosmos SDK 儲存套件,納入 v0.54 遷移要求。

什麼是 Block-STM?

Block-STM 是一種實驗性系統,可在區塊最終確定期間,以確定性方式平行執行相容的交易。

所有 Cosmos SDK 區塊鏈都安全嗎?

不一定。安全性取決於程式碼、驗證者系統、設定、治理、相依套件、營運方式及經濟設計。

自訂 Cosmos SDK 程式碼可能包含漏洞嗎?

可能。自訂模組可能存在授權、會計、確定性、遷移及經濟設計方面的缺陷。

Cosmos SDK 區塊鏈應如何升級?

營運者應檢視重大變更、測試遷移、協調升級區塊高度,並在啟用前安裝相容的二進位檔。

使用者在使用基於 SDK 的區塊鏈前應檢查什麼?

使用者應檢視其版本、驗證者、治理、自訂模組、資產控制、稽核、升級及跨鏈相依關係。

Cosmos SDK 最大的優勢是什麼?

其主要優勢是能夠運用可重複使用的模組組合並自訂協議層級的區塊鏈邏輯。

Cosmos SDK 最大的限制是什麼?

其彈性也讓每條區塊鏈都必須自行承擔大量責任,包括保護、營運、治理及升級網路,以及維持其經濟上的永續性。

結論

Cosmos SDK 是一套開源 Go 框架,可用來建立可自訂的 Layer 1 區塊鏈、分散式帳本及應用專用的加密貨幣網路。

它提供帳戶、代幣轉帳、手續費、質押、治理、授權、獎勵及軟體升級等可重複使用的模組。

BaseApp 負責協調交易執行、模組生命週期操作、查詢、Gas 及狀態,並透過 ABCI 與共識引擎通訊。

模組會隔離自身狀態,並透過受控的 Keeper 介面處理商業邏輯及跨模組通訊。

IBC 整合讓相容的獨立區塊鏈能交換經驗證的資料,同時維持各自的應用程式狀態與治理。

SDK 的彈性有助於打造專用區塊鏈,但不代表能保證安全性、去中心化、互通性或經濟上的成功。

開發者必須仔細測試確定性執行、Keeper 權限、創世狀態、遷移、驗證者作業及連接的協議。

評估 Cosmos SDK 區塊鏈的使用者,應分析個別網路的模組、參數、驗證者、治理、升級、資產控制及安全紀錄,而不應只根據其使用的框架做判斷。
ETF單週失血6.79億,花旗看多BTC至11.3萬!
ETF單週失血6.79億,花旗看多BTC至11.3萬!ETF單週失血6.79億,花旗看多BTC至11.3萬!
機構在賭什麼?