以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > Fil > Info

科普 | 以太坊地址是怎么來的?_以太坊

Author:

Time:1900/1/1 0:00:00

作者:??JoseAguinaga

翻譯&校對:?閔敏&?阿劍

以私鑰為原材料

正如我在本系列第一篇文章《私鑰是什么》中所述,生成私鑰的過程依賴于偽隨機數生成器和足夠大的熵。關于私鑰,最重要的一點是,它是從1到22??-1的范圍內隨機選出的整數。只要是在這個范圍內的數,都可以用作私鑰。

既然我們已經初步學習了私鑰背后的數學知識,接下來就可以自己生成有效的私鑰了。我們不妨將私鑰生成過程想象成一個長達78位的水平數字組合鎖,然后我們把這個密碼鎖分成3排,每排有26位。你可以把PRNG函數想象成一個會隨機打亂數字,打亂出一個數字組合的東西:一開始每一位都是0,然后毫無章法地在每一位上選出一個具體的數字。假設我們使用PRNG函數生成亂序的數字組合,得到以下三排數字:

(1)04406941321102621719184878;

(2)43014596507006094171646853;

美國專利商標局已批準NFT市場《星際迷航》商標申請:金色財經報道,美國律師Mike Kondoudis發推表示,美國專利商標局已經批準了美國廣播公司CBS的NFT市場《星際迷航(STAR TREK CONTINUUM)》商標申請。范圍包括涵蓋加密收藏品及NFT支持的藝術品和媒體。[2023/8/9 16:16:05]

(3)06780198554267270848908554;

-瀏覽器使用WebCryptographyAPI作為PRNG。這個PRNG使用你的計算機熵源作為隨機種子來生成隨機數。在生成隨機數的時候,請一定要使用電子熵源,因為一些研究表明,人類比較不擅長選擇隨機數字-

恭喜!你現在已經是私鑰?44069413211026217191848784301459650700609417164685306780198554267270848908554?的所有者了。

我們可以使用這個私鑰生成一個比特幣或以太坊地址,或者任何以1至22??-1為私鑰范圍的區塊鏈的地址。

dForce推出原生模塊化DEX測試網:4月20日消息,DeFi 協議 dForce 宣布推出其原生模塊化 DEX 的測試網,特點包括零費用基礎池、較高的資本效率、流動性杠桿以及模塊化流動性協議等。[2023/4/21 14:16:55]

要根據這個私鑰生成一個以太坊地址,我們需要使用橢圓曲線點乘算法。因此,簡單起見,我們會把它交給計算機處理。為此,我們需要把這個私鑰“告訴”計算機。麻煩的是,計算機不會處理十進制形式的信息,它只能理解二進制代碼。目前,我們的只有十進制數形式的私鑰。因此,我們先要將這個私鑰從十進制數形式轉換為計算機可以理解的比特和字節。

位和字節

在進行下一步操作之前,我們需要先了解什么是比特和字節。任何數字設備都只能理解由0和1組成的信息,通常被稱為比特。比特就是“二進制數字”,即,僅使用1和0表示的數字。雖然我們的智能手機和電腦都可以顯示漢字和圖片,還能播放歌曲,它們最終都是比特來表示并處理這些信息的。位越多,表示的信息越大,但說到底無非是一堆0和1而已。

Aleo已開放最終激勵測試網驗證者申請:金色財經報道,據官方推特,可編程隱私網絡Aleo已開放其最終激勵測試網驗證者與證明者申請。Aleo于2022年10月啟動測試網3激勵,并將2500萬個Aleo積分(ALEO)分發給開發者、證明者和驗證者社區。[2023/3/21 13:16:29]

根據上下文,多個位可以表示字符或數字。在將十進制整數轉換為二進制形式時,就是將其轉換成以2為底數的冪之和,其中每個冪的指數遞增。例如,我們通常采用十進制形式記數,十進制數就是以10為底數的冪之和。因此,在使用二進制時,在2的?N次冪以內的整數,我們就可以用n個位來表示和存儲。

-8位電子游戲機最高能夠表達的十進制數是255,因為它們使用的中央處理單元最多只能執行8位操作(譯者注:上圖的左邊解釋了為什么N個位就可以表示2的N次冪以內的數--因為其數字組合有2的N次冪種可能性;右邊則演示了一個二進制數意味著多大的整數,即相互轉換的計算規則-

Azuki #7994在LooksRare上以205 ETH成交:金色財經報道,Azuki #7994在LooksRare上以205ETH成交,約合25萬美元。[2023/1/5 10:23:11]

雖然我們可以使用二進制形式來表達任何數字,但是二進制形式過于“繁冗”。如果要表示97,我們需要8個二進制數字。二進制數對于計算機來說很容易處理,但是不方便人類閱讀。因此,計算機通常會使用十六進制而非二進制來表示數據:位置數字系統以16為底數來表示數字。一位十六進制數可表示四位二進制數。我們可以用十六進制數61來表示二進制數01100001或十進制數97,這樣就比二進制少了6位數。十六進制數使用ABCDEF來表示10至15,通常用來縮小數據。

私鑰有多少個比特?

再說回私鑰,我們知道私鑰的范圍是1至22??-1。我們該如何用位來表示它?需要用到多少位?如上文所述,在將十進制整數轉換為二進制形式時,就是將其轉換成以2為底數的冪之和。在使用8位二進制數時,我們能表示的最大的數是2?+2?+2?+2?+23+22+21+2?,即,整數255。我們可以看出,要表達2^n以內的數,我們就需要n個位。由此可推得,我們需要256位,或者說32字節,來表示我們的私鑰。

Glassnode:長期持有者掌握80%的比特幣流通供應:金色財經消息,Glassnode數據顯示,80%的比特幣流通供應掌握在長期持有者(LTHs)手中。LTH指持有比特幣至少6個月的用戶,通常是對比特幣市場周期底部形成強有力支撐的人。LTH在比特幣市場被認為是“smart money”,他們通常在市場低迷期間積累比特幣。一旦進入牛市,LTH就會分配積累的比特幣,并獲得大部分利潤,鏈上數據有力地支持了這一理論。(Crypto Slate)[2022/7/23 2:33:21]

-十六進制數據表示旨在減少表示數字所需的位數。但是,計算機依然只能使用二進制來處理數據-

如果我們一致同意需要使用32字節來表示我們在范圍內的私鑰,那么在十六進制形式下,我們需要64個數來表示私鑰。現在,我們可以將原始私鑰

44069413211026217191848784301459650700609417164685306780198554267270848908554

轉換成十六進制形式:

616E6769652E6A6A706572657A616775696E6167612E6574682E6C696E6B0D0A

看到十六進制私鑰中多出的字母A、B、C、D、E了嗎?看到這些字母,我們就可以輕易辨別出這個數是十六進制的。

從私鑰到公鑰

現在,我們可以把這個十六進制私鑰告訴我們的計算機了。我們可以使用JavaScript之類的編程語言輕松導入這個十六進制私鑰,以便用于之后的乘法運算。在以下代碼中,之前得到的十六進制數被導入作為私鑰。這個十六進制數是以16為底數的。

-通過使用BigNumber庫,我們可以確保轉換過程中不會丟失任何小數。這些數字通常會被表達成指數,而且如果我們直接將其解析成十六進制,就會失去精度。如果不使用BigNumber庫,我們得到的十六進制私鑰就會變成616e6769652e6c00000000000000000000000000000000000000000000000000-

導入私鑰之后,下一步就是創建公鑰。你可能還記得,我們在第一篇文章中提到過,在獲取以太坊地址之前,我們先要通過私鑰來生成公鑰。根據以太坊黃皮書所述,公鑰生成過程遵循的是標準的ECDSA公鑰生成算法,其中,我們將私鑰乘以生成器點得到一個坐標,將該坐標的x值和y值前后拼在一起就是公鑰。我們的公鑰可以用來生成我們的以太坊地址。

-x和y是使用橢圓曲線上的點乘以我們的私鑰得到的。雖然私鑰可以在任意區塊鏈中作為一個地址的唯一生成器,以太坊專門使用橢圓曲線secp256k1生成公鑰;因此,私鑰的簽名操作也跟這條曲線有關-

終于到了最后一步。有了公鑰,我們就執行黃皮書中的最后一個操作:

給定某個私鑰,以太坊地址A是對應ECDSA公鑰的Keccak哈希值的最右邊160位。鑒于我們已經有了自己的ECDSA公鑰,剩下的唯一一件事是在我們的公鑰上執行Keccak哈希函數,取結果最右邊的160位。當我們將這些操作結果存儲在“緩沖區”時,我們可以“丟掉”前24個十六進制數,只留下后40個十六進制數,或者更準確地說,20個字節。

-以太坊地址被設計為20個字節。有人認為刪掉一些字節可能會引起碰撞,導致兩個私鑰生成相同的以太坊地址。不過到目前為止,還沒發生過這種情況-

你的個人專屬錢包

如你所見,只要一個數就可以生成一個以太坊地址來存儲各類資產:從代表虛擬貓、磁帶、襪子和門票等物品的NFT到具有增值潛力的密碼學資產等等。你的以太坊地址是公開的,而且像你的家庭住址一樣,但是只能通過鑰匙打開。如果你不想自己來處理所有這些流程,你可以在Portis上注冊一個賬戶。Portis會自動為你創建私鑰以及對應的以太坊地址,供你在100多個dApp中使用。

在本系列下一篇文章中,我們將介紹如何使用私鑰來創建并廣播交易、簽署消息,以及這些簽名在以太坊生態中有什么影響。

Tags:以太坊比特幣ALEOLEO以太坊幣最新價格今日價格行情比特幣美元實時行情aleo幣怎么挖Leopard Lending

Fil
談喻凱:期權交割引發比特幣以太坊反攻 晚間操作建議及多空解套_比特幣

  在市場之中,很多朋友都會過分的去追求技術分析,而當消息面占據主導地位的時候,突然覺得技術面沒什么鳥用,竹籃打水一場空,在幣圈待久了,什么消息面技術面無可厚非只是一個噱頭.

1900/1/1 0:00:00
Filecoin全網算例97%集中于中國全球市場 質 押 和G A S費用是多少?_FIL

近期有不少朋友都在問我FIL|怎|么|挖?自從fil在3月28號經過一波暴|漲|到95|美|元后,近三個月來價|格翻了近7倍,而全球24小時的交|易|額|達到139|億|美元.

1900/1/1 0:00:00
楠哥說幣:3/28午間以太仿比特幣行情解析及操作建議比特幣是否繼續向上沖高_FTM

做任何事,只要你邁出了第一步,然后再一步步地走下去,你就會逐漸靠近你的目的地。如果你知道你的具體的目的地,而且向它邁出了第一步,你便走上了成功之路! ETH行情分析: 以太坊昨日持續走高,最高來.

1900/1/1 0:00:00
了解Uniswap動畫廣告NFT及其背后的故事_ASR

原文作者:EkinGen? 譯者:Katie辜 簡單介紹 數字藝術家pppleleasr的NFT?Uniswap動畫廣告以52.

1900/1/1 0:00:00
比特幣空頭施壓跳水近2000點 后市能否破位上行?_比特幣

大家好我是星際區塊鏈研究院TIAN。主要操作現貨,短線合約,暴漲山寨幣,一級市場項目! BTC 比特幣價格自早間開盤下行,跳水1800余點,低位觸及54701位置后止跌隨后反彈,上行至55562.

1900/1/1 0:00:00
老萬幣圈:3/28 晚間比特幣行情分析及操作建議 愿我的分析 像一座燈塔 為您指引航程_BANK

BTC行情: ??比特幣早間沖高回落,午間價格再度上探,高位觸及56550位置后承壓回踩,目前價格運行在55940附近四小時線來看,辣條的走勢和以太是相似的,只是沒有以太那么的強勢.

1900/1/1 0:00:00
ads