最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當前位置:主頁 > 區(qū)塊鏈 > 區(qū)塊鏈技術 > Web3助記詞和生成私鑰、公鑰、地址

Web3錢包中助記詞和生成私鑰、公鑰、地址的基本原理

2026-02-28 12:44:22 | 來源: | 作者:佚名
為了學習錢包、助記詞、私鑰、公鑰、地址的知識,我瀏覽了大量的網頁、博客、社區(qū),沒發(fā)現(xiàn)一篇令我滿意的文章,能夠用最簡潔的方式 + 實例代碼把知識講解清楚

于是乎,我決定自己寫一個系列文章。記錄我的學習研究成果。

我認為,用代碼一步步生成一個私鑰、公鑰、地址,是更好的學習方式,接下來就使用 Go 語言來做到這一點。

寫代碼之前,先補充一些必備知識。

1. 橢圓曲線是什么?

以太坊和比特幣使用完全相同的橢圓曲線:secp256k1,公鑰就是這個橢圓曲線上的(x, y)坐標,x,y 數值通過私鑰唯一確定。

x、y 各 32 字節(jié),故公鑰為 64 字節(jié)。你可能會看到 65 字節(jié)表示的公鑰,這是由 SECG 發(fā)布的行業(yè)標準的一種序列化編碼方式,在最前面加一個字節(jié)的前綴,04 表示公鑰為非壓縮格式,即完整存儲了 x 和 y 的坐標各 32 字節(jié)。

為什么要分為 壓縮公鑰 和 非壓縮公鑰 呢?

因為在secp256k1的橢圓曲線方程里,只要知道其中一個坐標值,另一個坐標值可以通過解方程得出,因此可以只存儲其中一個坐標,這樣就可以節(jié)約 32 個字節(jié),從而引入了壓縮格式的公鑰,前綴為 02 或 03。

故非壓縮格式的公鑰 65 字節(jié)(前綴 04 + 64 字節(jié)的實際公鑰),壓縮格式的公鑰 33 字節(jié)(前綴 02 或 03 + 32 字節(jié)的一個坐標值)。

推薦閱讀:吳軍《數學之美》第 31 章 橢圓曲線加密原理

2. 私鑰的簡單介紹

以太坊私鑰只是一個隨機生成的數字。這個數字是 256 位的,且必須是完全隨機的,你可以投擲硬幣 256 次,得到一個二進制數字作為私鑰。只要不可預測且不可重復,具體怎么得到這個 256 位的隨機數字并不重要。

大多數情況下,我們都是寫代碼生成私鑰,這時候最重要的就是找到密碼學安全的隨機源,千萬不要自己生成隨機數或使用編程語言自帶的簡單隨機數,你使用的隨機數一定要是密碼學安全的,這一點至關重要。

私鑰的重要性不言而喻。需要強調的是,私鑰絕對不可以丟失,和銀行卡密碼不一樣,私鑰如果丟失無法像找回密碼那樣還能恢復,這是去中心化的特點。

在中心化世界里,我們用銀行卡不擔心密碼丟失,因為可以找回,但是消費記錄、數據隱私無法保證,好比在互聯(lián)網上裸奔。

在去中心化世界,數據倒是可以做到隱私(雖然目前來看,大家并不關心隱私),但是很不方便,比如保存私鑰就是個很麻煩的問題。

我不是想談數據隱私、保存私鑰的話題,因為目前沒什么好的解決方案。而是想引出我一直以來的想法,就是任何事物都具有兩面性。正所謂 "禍兮福所倚,福兮禍所伏",當你學習有負面情緒,堅持不下去的時候,想一想負面情緒的好處。我認為正是因為有了負面情緒的存在,才擋住了很多比我們更聰明的人的腳步,讓我們得以有機會超越他們。如果學習沒有負面情緒,那所有人都堅持學習了,那大家只能看誰最聰明了,這樣哪還有普通人的機會。從這個角度,我們需要感謝負面情緒。

3. 助記詞

助記詞涉及到錢包的行業(yè)標準了,我會在本系列第三篇進一步講解?,F(xiàn)在,簡單了解一下,前面說了,私鑰是隨機生成的一個數字,那如果需要 10 個賬戶?100 個賬戶?甚至 1000000 個賬戶呢?就要隨機生成 1000000 個私鑰嗎?這么多私鑰怎么管理?怎么保存?基于此,助記詞誕生了。

助記詞可以管理成千上萬個私鑰,這就需要了解以太坊的 2 種錢包了,從下一篇文章開始,我將連續(xù)介紹錢包及開發(fā)一個錢包。

使用 Go 語言生成私鑰、公鑰、地址

下圖是生成私鑰、公鑰、地址的基本原理,現(xiàn)在根據這個原理圖,寫出相應的代碼。

需要引入的包

import (
    "crypto/elliptic"
    "crypto/rand"
    "encoding/hex"
    "github.com/ethereum/go-ethereum/common"
    "github.com/ethereum/go-ethereum/crypto"
    "github.com/ethereum/go-ethereum/crypto/secp256k1"
)

生成一個橢圓曲線。

curve := secp256k1.S256()

生成私鑰(32byte)

b := make([]byte, curve.Params().N.BitLen()/8)
io.ReadFull(rand.Reader, b)
key := new(big.Int).SetBytes(b) // key就是私鑰
// 打印私鑰
fmt.Println("key:", len(key.Bytes()))
fmt.Println("key:", hex.EncodeToString(key.Bytes()))

生成公鑰:對私鑰進行橢圓曲線加密,生成公鑰(64byte)

X, Y := curve.ScalarBaseMult(key.Bytes())
pubKey := elliptic.Marshal(curve, X, Y)
fmt.Println("pubKey:", pubKey)

生成地址:去掉公鑰第一個字節(jié) 04,再使用 keccak256 算法壓縮公鑰,最后的 20byte 就是地址

compressPubKey := crypto.Keccak256(pubKey[1:])
addr := common.BytesToAddress(compressPubKey[12:])
fmt.Println("addr:", addr.String())

驗證私鑰和地址匹配

將第 3 步產生的私鑰導入 metamask
查看 metamask 生成的地址,和第 5 步計算出的地址是否匹配

總結

記住上面的基本原理流程圖,就算是學會了本文最重要的內容。

免責聲明:本文只為提供市場訊息,所有內容及觀點僅供參考,不構成投資建議,不代表本站觀點和立場。投資者應自行決策與交易,對投資者交易形成的直接或間接損失,作者及本站將不承擔任何責任。!
Tag:助記詞   生成私鑰   公鑰   地址  

你可能感興趣的文章

幣圈快訊

  • 南方兩倍做多海力士暴跌近26%7月以來跌幅超80%

    2026-07-29 12:53
    據Gate行情數據顯示,韓國股市今日走弱,南方兩倍做多海力士(07709.HK)大幅下挫,截至港股中午收市,該產品今日跌幅達25.72%,7月以來跌幅已達81.05%。數據顯示,該產品的最新資產規(guī)模為319.2億港元,與規(guī)模高點相比縮水七成。南方東英旗下另一只掛鉤韓國芯片股的杠桿產品南方兩倍做多三星電子(07747.HK)今日跌幅為16.56%,本月跌幅為69.55%。
  • 納指期貨跌幅達1%標普500和道指期貨下跌

    2026-07-29 12:46
    據Gate行情數據顯示,納指期貨跌幅達1%,標普500指數期貨下跌0.3%,道指期貨下跌0.2%。
  • 日經225指數日內跌幅達3%現(xiàn)報60490.58點

    2026-07-29 12:43
    據Gate行情數據顯示,日經225指數日內跌幅達3%,現(xiàn)報60,490.58點。
  • 伊朗官員:霍爾木茲海峽南部航線可能對船只構成危險

    2026-07-29 12:42
    伊朗高級官員表示,霍爾木茲海峽南部航線可能對船只構成危險,阿曼對該水道的控制應與其在該水道的份額相對應。
  • 伊朗官員美國和沙特向阿曼施壓推動不現(xiàn)實計劃

    2026-07-29 12:42
    伊朗高級官員表示,美國和沙特正試圖向阿曼施壓,以推動其實施有關霍爾木茲海峽的不現(xiàn)實計劃。
  • 查看更多
更多

熱門幣種

  • 幣種
    最新價格
    24H漲跌幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 63954.86¥ 433044.75
    +0.95%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 1904.98¥ 12898.81
    +1.29%
  • tether USDT 泰達幣

    USDT

    泰達幣

    $ 0.9986¥ 6.7616
    -0.03%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 568.73¥ 3850.92
    +0.56%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.001¥ 6.7778
    +0.01%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 1.0804¥ 7.3154
    +2.22%
  • solana SOL Solana

    SOL

    Solana

    $ 73.4023¥ 497.01
    +0.21%
  • tron TRX 波場

    TRX

    波場

    $ 0.3252¥ 2.2019
    +0.25%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 54.4572¥ 368.73
    -3.32%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.070528¥ 0.4775
    +0.52%
济南市| 汉源县| 文安县| 浏阳市| 资阳市| 佳木斯市| 泰州市| 星座| 陆丰市| 平顶山市| 伽师县| 凤冈县| 连州市| 浦江县| 灯塔市| 墨竹工卡县| 黄骅市| 黔西县| 寻甸| 平武县| 巴彦淖尔市| 肥城市| 镇安县| 峨山| 天门市| 西昌市| 阿尔山市| 普格县| 工布江达县| 昌宁县| 红河县| 武宣县| 奇台县| 葫芦岛市| 育儿| 福州市| 桦南县| 宝清县| 沾化县| 南宁市| 江北区|