承諾方案: 加密貨幣領域中的承諾方案是什麼?承諾方案是一種密碼學方法,可讓使用者先鎖定某個值並隱藏該值,直到選擇在之後揭露為止。在加密貨幣領域,當區塊鏈、智能合約、錢包或零知識系統需要證明資料以特定形式存在,卻不希望立即揭露資料時,常會使用承諾方案。理解承諾方案最簡單的方式,是想像把一則秘密訊息放進上鎖的盒子裡。其他人看得見上鎖的盒子,卻無法讀取裡面的訊息。之後,建立盒子的人可以打開盒子,並證明裡面的訊息與先承諾方案: 加密貨幣領域中的承諾方案是什麼?承諾方案是一種密碼學方法,可讓使用者先鎖定某個值並隱藏該值,直到選擇在之後揭露為止。在加密貨幣領域,當區塊鏈、智能合約、錢包或零知識系統需要證明資料以特定形式存在,卻不希望立即揭露資料時,常會使用承諾方案。理解承諾方案最簡單的方式,是想像把一則秘密訊息放進上鎖的盒子裡。其他人看得見上鎖的盒子,卻無法讀取裡面的訊息。之後,建立盒子的人可以打開盒子,並證明裡面的訊息與先
加密貨幣領域中的承諾方案是什麼?
承諾方案是一種密碼學方法,可讓使用者先鎖定某個值並隱藏該值,直到選擇在之後揭露為止。在加密貨幣領域,當區塊鏈、智能合約、錢包或零知識系統需要證明資料以特定形式存在,卻不希望立即揭露資料時,常會使用承諾方案。理解承諾方案最簡單的方式,是想像把一則秘密訊息放進上鎖的盒子裡。其他人看得見上鎖的盒子,卻無法讀取裡面的訊息。之後,建立盒子的人可以打開盒子,並證明裡面的訊息與先前放入的訊息相同。這個概念很重要,因為許多區塊鏈系統同時需要隱私與問責能力。使用者可能需要證明交易符合規則,但不揭露完整交易細節。協議可能需要證明資料已納入區塊,但不必讓每位使用者都下載全部資料。去中心化應用程式可能需要證明使用者在期限前作出選擇,但不在揭露階段開始前公開該選擇。承諾方案透過結合兩項主要特性來支援這些目標:隱藏性與綁定性。隱藏性代表在承諾開啟前,承諾內容不應洩漏秘密值。綁定性代表建立承諾的人,在承諾建立後不應能變更隱藏值。承諾方案為何與加密貨幣有關
承諾方案是許多進階加密貨幣系統背後密碼學基礎的一部分。承諾方案有助於區塊鏈支援隱私、擴充性、公平排序、證明系統、資料可用性及安全的智能合約工作流程。如果沒有承諾方案,許多加密貨幣設計就必須在鏈上揭露過多資料。揭露過多資料可能損害使用者隱私、增加儲存需求,並讓某些應用程式更容易遭到操縱。承諾方案讓系統可以發布簡短的密碼學數值,而不必公開完整的隱藏資料。這個簡短數值可作為隱藏資料的指紋。任何人都可以儲存並在之後驗證這個指紋,但指紋本身不應洩漏原始秘密。這種設計在公開區塊鏈中特別實用,因為公開區塊鏈預設具有透明性。透明性有助於稽核,但當使用者需要保護餘額、策略、出價、投票、身分或交易細節時,也可能造成隱私問題。承諾方案有助於加密貨幣系統在允許驗證的同時,保護重要資料的隱私。NIST 隱私強化密碼學資源將承諾方案列為隱私強化密碼學所使用的工具之一。
這與加密貨幣有關,因為隱私強化密碼學可以讓使用者證明資料相關事實,而不揭露超出必要範圍的資訊。承諾方案的運作方式
基本的承諾方案包含兩個主要步驟:承諾與揭露。在承諾步驟中,使用者選擇一個秘密值,並根據該值建立承諾。接著,承諾會發布、儲存或傳送給另一方。此時,其他人可以看到承諾,但不應能從中得知秘密值。在揭露步驟中,使用者分享原始值及驗證承諾所需的任何額外開啟資料。接著,其他人會檢查揭露值是否與先前的承諾相符。如果檢查成功,就接受這次揭露。如果檢查失敗,系統就會拒絕這次揭露,因為使用者試圖將承諾開啟為另一個不同的值。以淺白文字表示,簡單的雜湊型承諾可能如下:承諾等於秘密值加上隨機數值後的雜湊。依設計不同,隨機數值通常稱為 nonce、salt、盲化因子或隨機性參數。隨機數值很重要,因為簡單的值有時很容易被猜出。例如,如果秘密值只有「是」或「否」,他人可以對兩種可能答案分別計算雜湊,再與已發布的承諾比對。加入高強度隨機性會讓猜測困難許多。使用者揭露秘密值及隨機數值後,任何人都可以重新計算雜湊,並確認結果是否等於已發布的承諾。兩項主要特性:隱藏性與綁定性
隱藏性代表承諾在揭露階段之前不應洩漏隱藏值。如果承諾具有良好的隱藏性,觀察者就不應能查看承諾並得知已承諾的資料。這項特性可保障加密貨幣應用程式中的隱私。例如,交易者可能希望對密封投標進行承諾,在拍賣結束前不公開出價。錢包使用者可能希望證明自己屬於某個群組,但不揭露自己究竟是哪位成員。協議可能希望證明交易資料已經提交承諾,但不將完整資料永久放入智能合約。綁定性代表承諾無法被開啟為兩個不同的值。如果承諾具有良好的綁定性,建立者就無法先承諾一個值,之後再揭露另一個同樣能通過驗證的值。這項特性有助於維持公平與完整性。例如,在承諾揭露投票系統中,使用者不應能在看到其他人的投票後更改自己的選票。在隨機數生成流程中,參與者不應能在看到其他參與者的種子後更改自己已承諾的種子。證明系統不應允許證明者在承諾已獲接受後更改隱藏資料。優良的承諾方案會妥善設計,使隱藏性與綁定性相互配合。如果隱藏性不足,私人資訊可能外洩。如果綁定性不足,承諾可能不值得信任。承諾方案與雜湊函數
許多簡單的承諾方案會使用密碼學雜湊函數。密碼學雜湊函數會接收輸入內容,並產生固定長度、看似隨機的輸出。在加密貨幣領域,雜湊函數廣泛用於區塊標頭、交易識別碼、Merkle 樹、地址系統及資料完整性檢查。NIST FIPS 180-4 安全雜湊標準說明用於產生訊息摘要的核准安全雜湊演算法。
建立雜湊型承諾時,使用者通常會將秘密資料與隨機值組合,再對組合後的輸入計算雜湊。產生的雜湊值就是承諾。隨機值有助於防止攻擊者對低熵秘密進行暴力猜測。低熵代表秘密可能的值數量很少。如果沒有加入隨機性,隱藏的投票、小範圍數字或容易預測的片語都可能屬於低熵資料。雜湊型承諾很受歡迎,因為它簡單、快速且容易驗證。不過,設計時必須謹慎。系統應明確規定數值的編碼方式、所需的隨機性強度、使用的雜湊函數,以及驗證時如何處理無效輸入。編碼不佳可能造成混淆,使不同輸入被解讀為相同訊息。隨機性不足可能讓攻擊者猜出隱藏值。過時的雜湊函數可能隨時間降低安全性。承諾方案與零知識證明
承諾方案與零知識證明密切相關。零知識證明讓一方能在不揭露相關私人資訊的情況下,證明某項陳述為真。ethereum.org 的零知識證明指南說明零知識技術如何驗證運算,並支援區塊鏈擴充性與隱私。
在許多零知識系統中,承諾會在證明過程之前或期間,用於鎖定私人見證資料。見證資料是讓某項陳述得以被證明的私人資訊。例如,使用者可以證明自己知道某個私鑰、持有足夠資金或符合某項規則,而不必公開私鑰、確切餘額或私人交易路徑。承諾讓系統能以固定方式引用隱藏資料。接著,證明會顯示該已承諾資料符合所需條件。如此一來,系統便能在不完整揭露資料的情況下進行驗證。在加密貨幣領域,這種模式有助於支援私人付款、私人身分主張、遮蔽餘額、機密轉帳及 Rollup 驗證。承諾本身並非完整的零知識證明,但往往是讓證明得以實現的建構元件之一。承諾方案與 Merkle 樹
Merkle 樹是一種使用雜湊值對多筆資料進行承諾的資料結構。Merkle 樹頂端的雜湊值稱為 Merkle 根。Merkle 根就像對樹中所有資料作出的承諾。只要樹中有一項資料變更,根值理應也會改變。因此,Merkle 樹適用於區塊鏈,因為一個區塊可以透過單一精簡根值承諾多筆交易。之後,使用者可以提供 Merkle 證明,證明某筆特定交易已包含在樹中。驗證者不需要下載樹中的所有交易,也能檢查該證明。這有助於提升驗證效率。Merkle 承諾在加密貨幣領域相當常見,因為它簡單、透明,並且適用於許多區塊鏈設計。Merkle 承諾用於交易納入證明、帳戶狀態承諾、Rollup 狀態根、跨鏈橋驗證及注重隱私的成員資格證明。在隱私系統中,Merkle 根可以對大量有效票據、身分或存款作出承諾。接著,使用者可以證明自己的項目屬於該集合,而不必揭露所有私人細節。多項式承諾與現代區塊鏈擴充
多項式承諾是一種更進階的承諾方案。它讓證明者先對多項式作出承諾,之後再證明該多項式在特定點具有某個值。這聽起來可能很抽象,但對現代區塊鏈擴充及零知識系統非常實用。許多證明系統會將運算轉換為多項式關係。如果能有效率地承諾及檢查這些多項式關係,系統就能以較小的證明驗證大型運算。KZG 承諾是區塊鏈研究及協議設計中廣為人知的一種多項式承諾。Ethereum 多項式承諾共識規格定義了 Deneb 協議規格所使用的 KZG 承諾操作。
EIP-4844 規格採用 KZG 承諾處理 Blob。Blob 是用於支援 Rollup 更有效率發布資料的資料物件。
這也是承諾方案不只與隱私有關的重要原因。承諾方案也有助於區塊鏈擴充,讓系統更容易驗證資料或運算是否正確處理。區塊鏈不一定要將每項細節都直接放進成本最高的執行層。區塊鏈可以發布承諾與證明,讓使用者及驗證者更有效率地檢查重要主張。加密貨幣中的 Pedersen 承諾
Pedersen 承諾是一種以橢圓曲線密碼學為基礎的承諾方案。它在加密貨幣領域受到廣泛討論,因為它可以隱藏數值,同時仍允許對已承諾數量進行有用的數學運算。Pedersen 承諾的一項重要特性是可能具備同態性。同態性代表承諾有時可以透過某種方式組合,使組合結果對應到隱藏值上的運算。例如,兩個代表隱藏數量的承諾可以組合成一個代表兩個數量總和的承諾。這項特性對機密交易設計很有用。機密交易系統可能需要在不揭露確切轉帳金額的情況下,證明輸入總額等於輸出總額。若結合範圍證明及其他密碼學檢查,Pedersen 類型的承諾可以協助實現這項功能。範圍證明用於證明隱藏數字落在有效範圍內。這點很重要,因為即使系統隱藏金額,仍須防止負數金額或不可能的代幣鑄造等無效值。Pedersen 承諾功能強大,但需要謹慎選擇參數並安全實作。橢圓曲線系統也需要安全的資料對應至曲線點規則。RFC 9380 橢圓曲線雜湊標準說明了密碼學協議中將資料雜湊至橢圓曲線的方法。
智能合約中的承諾揭露方案
承諾揭露方案是承諾方案在區塊鏈應用中的實際用途。這類方案通常分為兩個階段。在承諾階段,使用者提交對各自選擇的承諾。在揭露階段,使用者揭露原始選擇及建立承諾時使用的隨機性資料。智能合約會檢查每次揭露是否與先前的承諾相符。這種模式有助於減少遊戲、投票、拍賣、治理工具及隨機數生成中的不公平行為。例如,密封投標拍賣可以要求投標者先對出價作出承諾。承諾期限結束後,投標者再揭露出價。這有助於避免其他投標者在承諾階段看到公開出價後照抄,或只提高少量金額來超過該出價。區塊鏈遊戲可以使用承諾揭露方案,避免玩家看到另一位玩家的動作後才更改自己的動作。治理工具可以使用承諾揭露方案,減少早期投票對後續投票的影響,但單靠這種方案並不能解決所有治理問題。承諾揭露設計必須處理使用者已作出承諾、卻拒絕揭露的情況。許多系統會使用截止期限、押金、懲罰或備援規則來處理未揭露的情況。只有在隱藏選擇具有足夠隨機性,且揭露規則定義明確時,承諾揭露方案才安全。承諾方案與資料可用性
資料可用性是指驗證或重建區塊鏈狀態所需的資料,使用者或驗證者是否確實能夠取得。承諾方案有助於證明資料與某個區塊、批次或 Rollup 更新相關聯。不過,承諾本身不一定能證明所有人都能下載完整資料。承諾可以證明某筆資料與某個特定指紋相符。但它不會自動保證公眾能輕易取得完整資料。因此,資料可用性系統通常會結合承諾、抽樣、糾刪碼、點對點分發及驗證規則。在 Rollup 系統中,承諾可以指向交易批次或狀態更新。接著,使用者與驗證者可以檢查已承諾資料是否支援所宣稱的狀態轉換。隨著區塊鏈擴充持續發展,資料承諾與資料可用性之間的差異變得非常重要。系統可能知道資料已經作出承諾,但使用者仍需要有方法確認自己能夠取得足夠資料。進階承諾系統是整體擴充設計的一部分。加密貨幣拍賣中的承諾方案範例
想像有一場加密貨幣拍賣,3 位使用者想競標一項數位資產。如果每筆出價一提交就立即公開,後續投標者可能取得不公平的優勢。承諾方案可以讓拍賣更加公平。在承諾階段,每位投標者會選擇出價金額及一個隨機秘密值。每位投標者會將出價金額與隨機秘密值一起進行雜湊。每位投標者只將產生的承諾傳送給智能合約。合約會儲存這些承諾,但此時還不知道出價金額。承諾階段結束後,就會進入揭露階段。每位投標者會提交原始出價金額及隨機秘密值。智能合約會對揭露的資訊計算雜湊,再與已儲存的承諾進行比較。如果數值相符,出價就有效。如果數值不符,出價就會遭到拒絕。這項程序有助於證明每位有效投標者都在揭露階段前選定出價。這也有助於避免投標者在看到其他人的揭露出價後更改自己的出價。同樣的概念也可用於私人投票、區塊鏈遊戲、密封策略操作、代幣分配輪次及某些隨機性協議。常見的承諾方案類型
雜湊型承諾使用密碼學雜湊函數,對某個值及隨機性資料作出承諾。這種類型簡單,適用於許多智能合約承諾揭露系統。Pedersen 承諾使用橢圓曲線數學,並可在某些設計中支援對隱藏值進行運算。這種類型在機密交易研究及注重隱私的加密貨幣系統中很重要。Merkle 承諾透過雜湊樹對多個值作出承諾。這種類型在區塊鏈中很常見,因為它支援有效率的納入證明。向量承諾會對一組數值作出承諾,並允許針對清單中特定位置的資料提出證明。當系統需要證明大型資料集中的部分內容時,這種類型可支援精簡驗證。多項式承諾會對多項式作出承諾,並支援針對多項式取值結果提出有效率的證明。這種類型在零知識證明系統及現代區塊鏈擴充設計中很重要。每種類型都有不同的取捨。有些較容易實作。有些能產生更小的證明。有些支援更強的隱私功能。有些需要可信設定假設,或更複雜的密碼學運算。最佳選擇取決於應用情境、安全模型、效能需求及實作環境。安全風險與實作錯誤
如果秘密值很容易被猜中,承諾方案就可能失效。如果使用者承諾「是」、「否」、「一」、「二」或「三」等少數選項,卻沒有加入高強度隨機性,就很容易出現這種情況。如果重複使用隨機值,承諾方案也可能失效。在某些架構中,重複使用隨機性可能洩漏模式或削弱隱藏性。如果編碼格式不明確,方案也可能失效。例如,如果系統沒有安全地分隔欄位,兩種不同輸入可能被解讀成相同內容。如果使用薄弱的密碼學元件,方案也可能失效。老舊的雜湊函數、不安全的曲線或審查不足的程式碼,都可能降低安全性。如果使用者拒絕揭露能因此獲利,承諾揭露系統可能在應用層面失效。因此,智能合約通常需要懲罰、押金或明確的逾時規則。如果承諾方案與證明系統的假設不相容,零知識系統也可能失效。不可隨意替換密碼學元件,因為細微的設計變更可能造成嚴重漏洞。安全的承諾方案需要審慎設計、同儕審查、測試及清楚的文件說明。承諾方案與加密的差異
承諾方案與加密並不相同。加密的設計目標是讓持有正確金鑰的人可以解密並讀取隱藏訊息。承諾方案的設計目標則是鎖定一個值,讓該值之後可以被揭露並驗證。加密著重於機密通訊。承諾著重於隱藏但不可更改的承諾。在加密情境中,如果接收者持有金鑰,傳送者可能希望接收者立即讀取訊息。在承諾方案中,通常要等到揭露步驟,接收者才應得知已承諾的值。有些系統會結合使用加密與承諾。例如,協議可能會為指定使用者加密私人資料,同時發布承諾,讓所有人都能驗證資料未被更改。了解兩者差異有助於避免加密貨幣應用程式的設計錯誤。單獨使用雜湊值不一定能構成安全的承諾。單獨使用加密也不一定能構成不可更改的承諾。應使用哪種工具,取決於系統需要保密、日後驗證,或兩者兼具。承諾方案與數位簽章的差異
承諾方案也與數位簽章不同。數位簽章可以證明某則訊息已獲私鑰持有者核准。承諾方案則可以證明某個隱藏值先前已被固定,並在之後正確開啟。簽章主要關乎真實性與授權。承諾主要關乎隱藏性與綁定性。在加密貨幣錢包中,數位簽章用於授權交易。在智能合約中,承諾可能用於隱藏選擇、金額或資料,直到後續步驟才揭露。已簽署的承諾可以結合這兩種概念。例如,使用者可以簽署一項承諾,證明該承諾來自自己的錢包地址。之後,使用者可以揭露已承諾的值,並證明簽署的承諾與揭露內容相符。這種組合在區塊鏈應用程式中很常見,因為身分、時間、保密及驗證往往需要彼此配合。承諾方案的優點
承諾方案讓使用者能隱藏敏感資訊,直到需要揭露時才公開,因此有助於提升隱私。承諾方案可防止使用者在看到其他人的行動後更改隱藏選擇,因此有助於維持公平。承諾方案讓系統可以驗證精簡承諾,而不必在每種情況下都處理完整資料,因此有助於提升擴充性。由於揭露資料可與先前的承諾比對,因此承諾方案有助於稽核。承諾方案支援具備明確承諾與揭露階段的多步驟工作流程,因此有助於智能合約設計。承諾方案讓私人資料可在不公開的情況下被引用,因此有助於零知識系統。這些優點讓承諾方案適用於許多加密貨幣應用情境。承諾方案可見於隱私協議、Rollup、區塊鏈遊戲、密封拍賣、去中心化身分系統、狀態證明及密碼學投票設計。隨著加密貨幣應用程式日益進階,承諾方案對於平衡開放性與隱私變得更加重要。承諾方案的限制
承諾方案不會自動讓系統具備隱私。中繼資料、時間、錢包活動、交易金額、網路行為及揭露模式仍可能洩漏資訊。承諾方案也不會自動讓協議變得公平。使用者仍可能拒絕揭露、延遲揭露,或利用薄弱的逾時規則。承諾方案本身無法保證資料可用性。承諾方案可以證明資料符合承諾,但未必能證明完整資料容易取得。承諾方案無法保護使用者免受不良智能合約邏輯影響。如果合約錯誤檢查揭露內容,承諾可能無法提供預期的安全性。承諾方案也無法免除安全隨機性的必要性。隨機性不足是削弱承諾最常見的原因之一。承諾功能強大,但必須作為完整協議設計的一部分來使用。常見問題
簡單來說,什麼是承諾方案?
承諾方案是一種先鎖定秘密值,之後再證明該值未被更改的方法。承諾方案的兩項主要特性是什麼?
兩項主要特性是隱藏性與綁定性。隱藏性可在揭露前保護數值的隱私;綁定性則可防止建立者在作出承諾後更改數值。承諾方案如何用於加密貨幣?
承諾方案用於零知識證明、智能合約承諾揭露系統、Merkle 樹、Rollup 資料承諾、機密交易、密封拍賣及注重隱私的應用程式。雜湊值就是承諾方案嗎?
雜湊值可以用來建立簡單的承諾方案,但設計應包含高強度隨機性及明確的編碼規則。承諾為什麼需要隨機性?
隨機性可以防止攻擊者對可能的答案計算雜湊,再與承諾比對來猜測隱藏值。什麼是承諾揭露方案?
承諾揭露方案是一種兩步驟流程,使用者先發布承諾,之後再揭露承諾背後的值。什麼是多項式承諾?
多項式承諾讓證明者先對多項式作出承諾,之後再證明與該多項式相關的主張,而不揭露整個多項式。承諾方案只用於隱私嗎?
不是。承諾方案也有助於提升擴充性、公平性、資料完整性、證明驗證及智能合約工作流程。承諾方案可能遭到破解嗎?
可能。隨機性不足、雜湊函數薄弱、參數不安全、編碼不明確或智能合約邏輯有缺陷,都可能削弱承諾方案。承諾方案與加密相同嗎?
不相同。加密會隱藏訊息,使其可透過金鑰解密;承諾方案則會鎖定某個值,使該值日後揭露時可供驗證。結論
承諾方案是一項核心密碼學工具,讓加密貨幣系統可以隱藏資訊,同時將資訊固定下來。承諾方案讓區塊鏈應用程式能夠平衡隱私、公平性及可驗證性。核心概念很簡單:現在作出承諾,之後再揭露,並讓其他人驗證揭露的值是否符合原始承諾。這個簡單概念支援許多重要的加密貨幣技術,包括零知識證明、Merkle 根、智能合約承諾揭露流程、機密交易設計及用於擴充性的多項式承諾。安全的承諾方案必須同時具備隱藏性與綁定性。方案應在揭露前隱藏已承諾的值,並防止建立者之後更改該值。開發者與使用者也應了解承諾方案的限制,因為承諾方案不會自動解決所有隱私、公平性或資料可用性問題。設計得當時,承諾方案能讓區塊鏈系統更具彈性、隱私性與可信度,同時保留驗證重要主張的能力。您可能也喜歡
WhatsMiner M30S++
什麼是 WhatsMiner M30S++? WhatsMiner M30S++ 是 MicroBT 推出的 ASIC Bitcoin 礦機,專為 SHA-256 工作量證明挖礦設計。 它屬於 WhatsMiner M30 系列,主要透過礦池挖掘 Bitcoin。 ASIC 礦機是專門用來高效率執行單一類型運算的設備。 對 WhatsMiner M30S++ 而言,這項運算就是 SHA-256 雜
2026/10/15 11:08
Web3 網域
什麼是 Web3 網域? Web3 網域是以區塊鏈為基礎的名稱,可取代冗長的錢包地址、指向去中心化內容、代表鏈上身分,並將使用者連接至 Web3 應用程式。 使用者不必將加密貨幣傳送至冗長的十六進位地址,而可傳送至易讀的名稱,例如區塊鏈使用者名稱或網域。 Web3 網域也能儲存錢包地址、網站內容、個人資料、文字紀錄、頭像資訊及其他與身分相關的資訊。 官方 ENS 文件將 ENS 描述為去中心化自主
2026/10/15 11:08
Web3 專案
什麼是 Web3 專案? Web3 專案是以區塊鏈為基礎的應用程式、協議、工具、網路及社群,運用去中心化技術讓使用者對資產、身分、資料、參與及數位價值擁有更多控制權。 Web3 專案可以是第一層區塊鏈(Layer 1)、第二層網路(Layer 2)、DeFi 協議、錢包、NFT 平台、DAO、區塊鏈遊戲、去中心化身分系統、預言機網路、跨鏈橋、穩定幣應用程式、DePIN 網路、分析工具、開發者框架或
2026/10/15 11:06
熱門
目前熱門備受市場關注的加密貨幣
最高成交量
按交易量計算交易量最大的加密貨幣

