什麼是Secp256k1

Published: Nov 18, 2019 by Cypherpunks Core

[原文]secp256k1 是指比特幣中使用的 ECDSA 曲線的參數 ,並且在高效密碼學標準(SEC)(Certicom Research,文件)中進行了定義。

在比特幣開始流行之前,secp256k1 幾乎從未使用過,但由於其幾個不錯的屬性,它現在越來越受歡迎。大多數常用曲線具有隨機結構,但 secp256k1 是以特殊的非隨機方式構建的,可以實現特別高效的計算。 因此,如果實施得到充分優化,它通常比其他曲線快 30% 以上另外,與流行的NIST曲線不同,secp256k1 的常量是以可預測的方式選擇的,這大大降低了曲線建立者在曲線中插入任何後門的可能性。

下面看一下這裡面的函數圖:

  • *Secp256k1 是 secp256k1 橢圓曲線\(y^2 = x^3 + 7\)在實數上的圖形。請注意,因為 secp256k1 實際上是在欄位\(Zp\)上定義的,所以它的圖形實際上看起來像是隨機分散的點,而不是像圖中這樣是連續的點。**

技術細節

從標準摘錄:

與 Koblitz 曲線 secp256k1 相關聯的\(Fp\)上的橢圓曲線域參數由單元\(T=(p,a,b,G,n,h)\)指定,其中有限域\(Fp\)由下式定義:

p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
= 2256 - 232 - 29 - 28 - 27 - 26 - 24 - 1

\(Fp\)上的曲線E:\(y^2 = x^3 + ax + b\)由下式定義:

a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007

壓縮形式的基點\(G\)是:

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

而在未壓縮的形式是:

G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

最後,\(G\)的迴圈因子\(n\)(就是指\(nG=G\))和輔因子\(h\)如下:

n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
h = 01

屬性

  • secp256k1 具有特徵\(p\),它的素數域定義為 ℤp。常用的一些其他曲線具有特徵2,並且在二進位制伽羅瓦(Galois)域\(GF(2n)\)上定義,但 secp256k1 不是其中之一。
  • 因為一個常數為零,曲線方程中 ax 項始終為零,因此曲線方程變為\(y^2 = x^3 + 7\)。

也可以看看

原文

cypherpunks

Latest Posts

Cypherpunks Taiwan 重啟:我們為何再次聚集?
Cypherpunks Taiwan 重啟:我們為何再次聚集?

從 2019 到現在,世界與網路都變了很多,但我們對隱私的渴望沒有改變。在數位身份、鏈上足跡與 AI 大模型全面滲透的時代,Cypherpunks 的核心信念——Privacy is necessary for an open society in the electronic age,從未如此重要。這些年來,我們見證了比特幣的主流化、Web3 的爆炸成長,也見證了過度中心化平台對個人自由與資訊掌控權的反撲。是時候重新聚集了。

MuSig:一個新的多重簽名標準
MuSig:一個新的多重簽名標準

2019年2月15日,Andrew Poelstra 轉載blockstream。比特幣及Blockstream的Liquid等相關區塊鏈使用ECDSA簽名演算法來驗證儲存在系統裡的幣的所有權歸屬。業界於2008年決定使用這個演算法是基於當時廣泛使用且未申請專利的數位簽名系統。但ECDSA存在一些嚴重的技術侷限,尤其是多重簽名閾值簽名這兩種需要多個獨立方而非單一方的簽名非常難以通過ECDSA來實現。ECDSA簽名擁有十分複雜的代數結構,導致它們非常不靈活、難以操作,迫使比特幣開發者不得不用比特幣指令碼來開發跨鏈原子交換閃電網路這類應用。如果使用更加現代的簽名方案的話,可以讓這些應用更加小巧且隱私性更好。

Cosmos 區塊鏈的工作原理,Part-1:比較Cosmos 與比特幣、以太坊
Cosmos 區塊鏈的工作原理,Part-1:比較Cosmos 與比特幣、以太坊

編者注:本文對 Cosmos 網路中區塊鏈和比特幣、以太坊進行了鉅細靡遺的比較。作者先從區塊鏈系統的棧層出發,分析了比特幣、以太坊在不同棧層上的技術要點,最後迴歸到 Cosmos 網路中的區塊鏈,概念解釋尤為清晰,是不可多得的解釋文。