當前位置:首頁 » 比特幣問答 » 公鑰生成的比特幣地址以什麼開頭

公鑰生成的比特幣地址以什麼開頭

發布時間: 2024-06-08 12:55:55

『壹』 公鑰生成的比特幣地址以什麼開頭

公鑰生成的比特幣地址以1開頭
比特幣的所有權是通過數字密鑰、比特幣地址和數字簽名來確立的。數字密鑰實際上並不是存儲在網路中,而是由用戶生成並存儲在一個文件或簡單的資料庫中,稱為錢包。存儲在用戶錢包中的數字密鑰完全獨立於比特幣協議,可由用戶的錢包軟體生成並管理,而無需區塊鏈或網路連接。密鑰實現了比特幣的許多有趣特性,包括去中心化信任和控制、所有權認證和基於密碼學證明的安全模型。

『貳』 ​入門科普:比特幣的私鑰、公鑰和地址是什麼

上一篇,我們講到了幣圈要注意防範傳銷、洗錢等一類的騙局,保護好自己的資產。這一篇,我要告訴大家,進行比特幣交易時,都會用到的私鑰、公鑰與地址,如果你還不了解它們的重要性,隨便交易,很容易弄丟自己的資產。那什麼是私鑰、公鑰與地址?三者之間有著什麼樣的關系呢?

01

私鑰

1.導出:

創建錢包後,輸入密碼可以導出私鑰,私鑰由很長的字元串組成,且是隨機生成的, 一個地址只有一個私鑰。

2.用途:

用於控制交易時的簽名,擁有私鑰才能控制賬戶的資金,相當於銀行賬戶的交易密碼,用來解密公鑰加密的信息。

3.注意事項:

私鑰是用來證明這筆交易的發起人確實是比特幣的所有者。所以 私鑰一定不能曝光,私鑰一旦泄露,你的比特幣將會有被盜的風險。 用戶必須保管好私鑰,防止泄露或丟失。

02

公鑰

1.導出:

公鑰是由私鑰通過演算法生成的,使用了橢圓曲線加密, 通過私鑰可以計算出唯一的公鑰。

2.用途:

公鑰是用來驗證交易的簽名,一個私鑰簽名的數據,只有對應的公鑰才能對其進行驗證,公鑰相當於銀行賬戶,公開後無風險。

03

地址

1.導出:

地址由公鑰生成的,使用了哈希運算。創建錢包後會生成一個以「0x」 開頭的 42 位字元串,這個字元串就是錢包地址,一個錢包對應一個錢包地址, 地址唯一且不能修改,也就是說一個錢包中所有代幣的轉賬收款地址都是一樣的。

2.用途:

由於公鑰太長,在交易中不方便使用,所以就有了地址,地址是由公鑰生成的,地址相當於銀行卡號,用來發送和接收比特幣。

3.注意事項:

平台上不同代幣的轉賬收款地址一般都不同,因此,轉幣到交易平台前一定要確認好地址。

總結

私鑰 → 公鑰 → 錢包地址 (不可逆)

私鑰用來簽名交易,公鑰用來驗證私鑰簽名的交易,地址用來收款。

公鑰、私鑰以及地址都在比特幣交易中起到了不同的作用,所以才能順利的完成一筆數字貨幣的交易。 所以用戶必須好好保存,防止泄露重要信息。

『叄』 【區塊鏈】什麼是比特幣地址

比特幣地址是一串由字母和數字組成的26位到34位字元串,看起來有些像亂碼。但它就是你個人的比特幣賬戶,相當於你的銀行卡卡號,任何人都可以通過你的比特幣地址給你轉賬比特幣。

它與比特幣私鑰不同,不會因為信息泄露而造成比特幣丟失,因此你可以將比特幣地址放心的告訴任何人。

通過區塊鏈瀏覽器可以查看每個比特幣地址所有的轉賬交易記錄。

常用的比特幣區塊鏈瀏覽器有:
https://btc.com/block
https://www.blockchain.com/zh-cn/explorer

我們常用的比特幣地址格式一般有如下四種。

1、BASE58格式
BASE58格式是人們常見的比特幣地址格式,一般由1開頭的。

例如:

2、HASH160格式
HASH160格式為RIPEMD160演算法對130位公鑰的SHA256簽名進行計算得出的結果 。

例如:

3、WIF壓縮格式
WIF壓縮格式即錢包輸入格式,是將BASE58格式進行壓縮後的結果130位公鑰格式 這是最原始的由ECDSA演算法計算出來的比特幣公鑰。

例如:

4、60位公鑰格式
60位公鑰格式即130位公鑰進行壓縮後得出的結果。

例如:

比特幣是建立在數學加密學基礎上的,中本聰大神用了橢圓加密演算法(ECDSA)來產生比特幣的私鑰和公鑰。

由私鑰是可以計算出公鑰的,公鑰的值經過一系列數字簽名運算會得到比特幣地址。

比特幣地址是由演算法隨機生成,那麼就會有人問,既然都是隨機生成的,那麼比特幣的地址會不會重復呢?關於這個問題,想必就更不用擔心。

因為比特幣的私鑰長度是256位的二進制串,那麼隨機生成的兩個私鑰正好重復的的概率是2 ^ 256 ≈ 10 ^ 77之一,這個數字大到你根本無法想像,比中彩票的概率還要小好多;所以不用擔心的啦,每個人的比特幣地址都是獨一無二的。

『肆』 比特幣交易構成 你知道多少


交易類型
產量交易(Generation)
每個Block都對應一個產量交易(Generation TX),該類交易是沒有輸入交易的,挖出的新幣是所有幣的源頭。
合成地址交易(Script Hash)
該類交易的接收地址不是通常意義的地址,而是一個合成地址,以3開頭,需要幾對公私鑰一起生成合成地址,在生成過程中可以指定,幾對公私鑰中的幾個簽名以後,就可以消費該地址的比特幣。
通用地址交易(Pubkey Hash)
該類是最常見的交易類型,由N個輸入、M個輸出構成。
輸入和輸出可以御橋旦簡單的理解成,發出幣的地址就是輸入,收到幣的地址就是輸出。
數據結構

字鎮擾段
數據類型
欄位大小
欄位描述
versionuint32_t
4交易數據結構的版本號tx_in countvar_int1+輸入交易的數量tx_intx_in[]41+輸入交易的數組,每個輸入=41位元組
tx_out countvar_int1+輸出地址的數量tx_outtx_out[]9+輸入地址的數組,每個輸入=9位元組lock_timeuint32_t4
lock_time是一個多意欄位,表示在某個高度的Block之前或某個時間點之前該交易處於鎖消慎定態,無法收錄進Block。


含義
0立即生效 500000000含義為Block高度,處於該Block之前為鎖定(不生效)= 500000000含義為Unix時間戳,處於該時刻之前為鎖定(不生效)
若該筆交易的所有輸入交易的sequence欄位,均為INT32最大值(0xffffffff),則忽略lock_time欄位。否則,該交易在未達到Block高度或達到某個時刻之前,是不會被收錄進Block中的。
示例
為了演示方便,我們讀取稍早期的塊數據,以高度116219 Block為例。
# ~ bitcoind getblock
{
hash : ,
confirmations : 144667,
size : 1536,
height : 116219,
version : 1,
merkleroot : ,
tx : [
,
,
,
,

],
time : 1301705313,
nonce : 1826107553,
bits : 1b00f339,
difficulty : 68977.78463021,
previousblockhash : ,
nextblockhash :
}
該Block裡面有5筆交易,第一筆為Generation TX,解析出來看一下具體內容:
# ~ bitcoind getrawtransaction 1
{
hex : ,
txid : ,
version : 1,
locktime : 0,
vin : [
{
coinbase : 0439f3001b0134,
sequence : 4294967295
}
],
vout : [
{
value : 50.01000000,
n : 0,
scriptPubKey : {
asm : OP_CHECKSIG,
hex : 41ac,
reqSigs : 1,
type : pubkey,
addresses : [

]
}
}
],
blockhash : ,
confirmations : 145029,
time : 1301705313,
blocktime : 1301705313
}
Generation TX的輸入不是一個交易,而帶有coinbase欄位的結構。該欄位的值由挖出此Block的人填寫,這是一種「特權」:可以把信息寫入貨幣系統(大家很喜歡用系統中的數據結構欄位名來命名站點,例如blockchain、coinbase等,這些詞的各種後綴域名都被搶注一空)。中本聰在比特幣的第一個交易中的寫入的coinbase值是:
coinbase:722062616e6b731
將該段16進制轉換為ASCII字元,就是那段著名的創世塊留言:
The Times 03/Jan/2009 Chancellor on brink of second lout for banks1
接下來展示的是一個三個輸入、兩個輸出的普通交易:
# ~ bitcoind getrawtransaction 1
{
hex : ,
txid : ,
version : 1,
locktime : 0,
vin : [
{
txid : ,
vout : 0,
scriptSig : {
asm : 01 ,
hex :
},
sequence : 4294967295
},
{
txid : ,
vout : 1,
scriptSig : {
asm : 01 ,
hex :
},
sequence : 4294967295
},
{
txid : ,
vout : 1,
scriptSig : {
asm : 1d01 ,
hex :
},
sequence : 4294967295
}
],
vout : [
{
value : 0.84000000,
n : 0,
scriptPubKey : {
asm : OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG,
hex : 76a91488ac,
reqSigs : 1,
type : pubkeyhash,
addresses : [

]
}
},
{
value : 156.83000000,
n : 1,
scriptPubKey : {
asm : OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG,
hex : 76a91488ac,
reqSigs : 1,
type : pubkeyhash,
addresses : [

]
}
}
],
blockhash : ,
confirmations : 147751,
time : 1301705313,
blocktime : 1301705313
}5859606162636465666768
欄位hex記錄了所有相關信息,後面顯示的是hex解析出來的各類欄位信息。下面把逐個分解hex內容(hex可以從上面的直接看到):
01000000 // 版本號,UINT32
03 // Tx輸入數量,變長INT。3個輸入。
/*** 第一組Input Tx ***/
// Tx Hash,固定32位元組

00000000 // 消費的Tx位於前向交易輸出的第0個,UINT32,固定4位元組
8a // 簽名的長度, 0x8A = 138位元組
// 138位元組長度的簽名,含有兩個部分:公鑰+簽名
47 // 簽名長度,0x47 = 71位元組
01
41 // 公鑰長度,0x41 = 65位元組

ffffffff // sequence,0xffffffff = 4294967295, UINT32, 固定4位元組
/*** 第二組Input Tx。與上同理,省略分解 ***/
ffff
/*** 第三組Input Tx ***/
2fffffffff
02 // Tx輸出數量,變長INT。兩個輸出。
/*** 第一組輸出 ***/
00bd010500000000 // 輸出的幣值,UINT64,8個位元組。位元組序需翻轉,~= 0x000000000501bd00 = 84000000 satoshi
19 // 輸出目

『伍』 什麼是公鑰、私鑰、密碼、助記詞、Keystore

公鑰、私鑰、密碼、助記詞、Keystore是在使用數字貨幣錢包時,必須要弄清的概念:如果不搞清楚,很可能會造成數字資產的嚴重損失。

1.公鑰:

相當於所屬錢包的地址,可理解成銀行賬戶。

公鑰的地址可理解成銀行卡號,是由公鑰通過計算得來,就像銀行先給你開戶,後給你銀行卡卡號。

錢包地址的主要用途是收款,也可以作為轉賬的憑證,就像別人匯款給你時你需要告訴他銀行卡卡號一樣。

常見的錢包地址樣式:

比特幣:普通地址:1開頭、隔離見證地址:3開頭

以太坊地址:0x開頭:(包括基於以太坊平台代幣)瑞波幣地址:r開頭。

萊特幣地址:L開頭。

2.私鑰:

非常重要,相當於銀行卡號+銀行卡密碼。

創建錢包後,輸入密碼即可導出私鑰。私鑰是由字母數字組成的字元串,一個錢包地址只有一個私鑰且不能修改。私鑰要離線保存,不要進行網路傳輸,可用紙張記錄並保存。

主要用途,導入錢包。有了私鑰就可以在同系列的任何一款錢包上,輸入私鑰並設置一個新的密碼就可以把之前的A錢包的資產導入B錢包。比如手機丟了,只要你有私鑰就可以恢復。

3.密碼 :

相當於銀行卡密碼。

在創建數字貨幣錢包時,需要設置一個密碼,一般要求不少於8個字元。

主要用途:①轉賬時需要輸入密碼,可理解成你用銀行卡給別人轉賬需要輸入密碼;②用Keystore導入錢包時,必須輸入這個密碼。

密碼可以進行修改或重置。輸入原密碼後,就可以直接修改新的密碼了;但如果原密碼忘記,可以用私鑰或是助記詞導入錢包,同時設置新的密碼。數字貨幣錢包中,一個錢包在不同手機上可以用不同的密碼,彼此相互獨立,互不影響。

4.助記詞

等於私鑰=銀行卡號+銀行卡密碼

由於私鑰由64位字元串組成,不便於記錄,非常容易抄錯,於是就出現了助記詞,方便用戶記憶和記錄。由12個單片語成,每個單詞之間有一個空格,助記詞和私鑰具有同樣的功能:只要輸入助記詞並設置一個新的密碼,就可以導入錢包。

一個錢包只有一套助記詞且不能修改。助記詞只能備份一次,備份後,在錢包中便不會再顯示。因此,在備份時一定要抄寫下來,防止抄寫錯誤,盡量多次檢驗。

5.Keystore:

Keystore+密碼=私鑰=銀行卡號+銀行卡密碼、Keystore ≠ 銀行卡號

Keystore相當於加密過後的私鑰,在導入錢包時,只要輸入Keystore 和密碼,就能進入錢包了。這一點和用私鑰或助記詞導入錢包不一樣,後兩者不需要知道原密碼,而是直接重置密碼。

keystore進行交易轉賬等錢包操作,必須知道該keystore的密碼。keystore的密碼是無法更改的,一個keystore對應一個密碼。但是可以通過該錢包的助記詞,重新生成一個keystore。這個keystore可以用新的密碼生成,重新生成新的keystore之後,最好將舊的keystore刪除。

總結:

一個數字貨幣錢包創建完成後,公鑰和私鑰是成對出現的。公鑰,私鑰都是由字母,數字組成的較長的字元串。

keystore和助記詞可以理解為私鑰的另一種表現形式。助記詞作為錢包私鑰的友好格式,非常方便備份和導入。

地址可以通過私鑰、助記詞、keystore+密碼,導入錢包找回。密碼可以通過私鑰、助記詞,導入錢包重置密碼。如果私鑰、助記詞、Keystore+密碼,有一個信息泄漏,別人就可以擁有你錢包的控制權,錢包內的幣就會被別人轉移走。

私鑰通過加密生成公鑰,公鑰轉換一下格式生成地址。私鑰可以推導出公鑰,公鑰可以推導出地址,但無法通過輸出地址、公鑰推導出私鑰。

在生活中,銀行開戶是「開設銀行賬戶—銀行卡號—設置銀行卡密碼—開戶成功

在幣圈裡,是先設置「密碼」(私鑰),再得到「銀行賬戶」(公鑰),最後給地址。對於錢包安全管理,主要注意防盜和防丟。防止私鑰泄露及丟失。

注意事項:

1.關於各種騙局誘導交出私鑰、助記詞的行為,都要謹慎操作;

2.重視私鑰、助記詞、Keystore+密碼的備份和保存!多重備份,多次備份,多重驗證,防止抄寫錯誤。

3.私鑰不好備份的情況下,可選用備份助記詞,具體根據錢包的備份要求。

4.不要進行聯網備份,或通過微信、qq、郵箱等任何第三方工具進行傳輸發送你的私鑰、助記詞、keystore。不要截圖。

5.備份內容放到安全、妥善的地方,並告訴家人(以防突發事故發生)

數字貨幣錢包的作用是安全存儲資產,這是最重要的!從投資紀律來講,本金安全是一切的基礎。對於理財類的錢包,聲稱賺取收益高回報等,應該叫「數字資產理財」更恰當。你的資產他們可以隨意動用拿去投資。你對資產沒有完全的掌控權,如果投資順利,本息安全,如果投資失敗,血本無歸。所以,請慎重使用這類錢包,應該注重的是資產的安全和私密性。

『陸』 【以太坊易錯概念】nonce, 公私鑰和地址,BASE64/BASE58,

以太坊里的nonce有兩種意思,一個是proof of work nonce,一個是account nonce。

在智能合約里,nonce的值代表的是該合約創建的合約數量。只有當一個合約創建另一個合約的時候才會增加nonce的值。但是當一個合約調用另一個合約中的method時 nonce的值是不變的。
在以太坊中nonce的值可以這樣來獲取(其實也就是屬於一個賬戶的交易數量):

但是這個方法只能獲取交易once的值。目前是沒有內置方法來訪問contract中的nonce值的

通過橢圓曲線演算法生成鑰匙對(公鑰和私鑰),以太坊採用的是secp256k1曲線,
公鑰採用uncompressed模式,生成的私鑰為長度32位元組的16進制字串,公鑰為長度64的公鑰字串。公鑰04開頭。
把公鑰去掉04,剩下的進行keccak-256的哈希,得到長度64位元組的16進制字串,丟掉前面24個,拿後40個,再加上"0x",即為以太坊地址。

整個過程可以歸納為:

2)有些網關或系統只能使用ASCII字元。Base64就是用來將非ASCII字元的數據轉換成ASCII字元的一種方法,而且base64特別適合在http,mime協議下快速傳輸數據。Base64使用【字母azAZ數字09和+/】這64個字元編碼。原理是將3個位元組轉換成4個位元組(3 X 8) = 24 = (4 X 6)
當剩下的字元數量不足3個位元組時,則應使用0進行填充,相應的,輸出字元則使用'='佔位,因此編碼後輸出的文本末尾可能會出現1至2個'='。

1)Base58是用於Bitcoin中使用的一種獨特的編碼方式,主要用於產生Bitcoin的錢包地址。相比Base64,Base58不使用數字"0",字母大寫"O",字母大寫"I",和字母小寫"l",以及"+"和"/"符號。

Base58Check是一種常用在比特幣中的Base58編碼格式,增加了錯誤校驗碼來檢查數據在轉錄中出現的錯誤。 校驗碼長4個位元組,添加到需要編碼的數據之後。校驗碼是從需要編碼的數據的哈希值中得到的,所以可以用來檢測並避免轉錄和輸入中產生的錯誤。使用 Base58check編碼格式時,編碼軟體會計算原始數據的校驗碼並和結果數據中自帶的校驗碼進行對比。二者不匹配則表明有錯誤產生,那麼這個 Base58Check格式的數據就是無效的。例如,一個錯誤比特幣地址就不會被錢包認為是有效的地址,否則這種錯誤會造成資金的丟失。

為了使用Base58Check編碼格式對數據(數字)進行編碼,首先我們要對數據添加一個稱作「版本位元組」的前綴,這個前綴用來明確需要編碼的數 據的類型。例如,比特幣地址的前綴是0(十六進制是0x00),而對私鑰編碼時前綴是128(十六進制是0x80)。 表4-1會列出一些常見版本的前綴。

接下來,我們計算「雙哈希」校驗碼,意味著要對之前的結果(前綴和數據)運行兩次SHA256哈希演算法:

checksum = SHA256(SHA256(prefix+data))
在產生的長32個位元組的哈希值(兩次哈希運算)中,我們只取前4個位元組。這4個位元組就作為校驗碼。校驗碼會添加到數據之後。

結果由三部分組成:前綴、數據和校驗碼。這個結果採用之前描述的Base58字母表編碼。下圖描述了Base58Check編碼的過程。

相同:

1) 哈希演算法、Merkle樹、公鑰密碼演算法
https://blog.csdn.net/s_lisheng/article/details/77937202?from=singlemessage

2)全新的 SHA-3 加密標准 —— Keccak
https://blog.csdn.net/renq_654321/article/details/79797428

3)在線加密演算法
http://tools.jb51.net/password/hash_md5_sha

4)比特幣地址生成演算法詳解
https://www.cnblogs.com/zhaoweiwei/p/address.html

5)Base58Check編碼實現示例
https://blog.csdn.net/QQ604666459/article/details/82419527

6) 比特幣交易中的簽名與驗證
https://www.jianshu.com/p/a21b7d72532f

『柒』 4. 比特幣的密鑰、地址和錢包 - 精通比特幣筆記

比特幣的所有權是通過密鑰、比特幣地址和數字簽名共同確定的。密鑰不存在於比特幣網路中,而是用戶自己保存,或者利用管理私鑰的軟體-錢包來生成及管理。

比特幣的交易必須有有效簽名才會被存儲在區塊中,因此擁有密鑰就擁有對應賬戶中的比特幣。密鑰都是成對出現的,由一個公鑰和一個私鑰組成。公鑰相當於銀行賬號,私鑰就相當於銀行卡密碼。通常情況下密鑰由錢包軟體管理,用戶不直接使用密鑰。

比特幣地址通常是由公鑰計算得來,也可以由比特幣腳本得來。

比特幣私鑰通常是數字,由比特幣系統隨機( 因為演算法的可靠性與隨機性正相關,所以隨機性必須是真隨機,不是偽隨機,因此比特幣系統可以作為隨機源來使用 )生成,然後將私鑰作為輸入,使用橢圓曲線演算法這個單向加密函數生成對應的公鑰,再將公鑰作為輸入,使用單向加密哈希函數生成地址。例如,通過公鑰K得到地址A的計算方式為:

其中SHA256和PIPEMD160被稱為雙哈希或者HASH160,Base58Check是帶有驗證功能的Base58編碼,驗證方式為先計算原始數據(編碼前)的驗證碼,再比較編碼後數據的驗證碼,相同則地址有效,否則無效。而在使用Base58Check編碼前,需要對數據做處理。
處理方式為: 版本前綴 + 雙哈希後的數據 + 校驗碼
其中版本前綴是自定義的,如比特幣私鑰的前綴是0x80,校驗碼是把版本前綴和雙哈希後的數據拼接起來,進行兩次SHA256計算,取前4位元組。得到處理的數據後,再進行Base58編碼,得到最終的結果。

下圖是Base58Check版本前綴和Base58編碼後的結果

密鑰可以採用不同的編碼格式,得到的編碼後結果雖然不同,但密鑰本身沒有任何變化,採用哪種編碼格式,就看情況而論了,最終目的都是方便人們准確無誤的使用和識別密鑰。
下圖是相同私鑰採用不同編碼方式的結果:

公鑰也有很多種格式,不過最重要的是公鑰被分為壓縮格式和非壓縮格式,帶04前綴的公鑰為非壓縮格式的公鑰,而03,02開頭的標識壓縮格式的公鑰。

前面說過,公鑰是橢圓曲線上的一個點,由一對坐標(x, y)表示,再加上前綴,公鑰可以表示為:前綴 x y。
比如一個公鑰的坐標為:

以非壓縮格式為例,公鑰為(略長):

壓縮格式的公鑰可以節省一定的存儲,對於每天成千上萬的比特幣交易記錄來說,這一點點的節省能起到很大效果。

因為橢圓曲線實際上是一個方程(y2 mod p = (x3 + 7)mod P, y2是y的平方,x3是x的立方),而公鑰是橢圓曲線上的一個點,那麼公鑰即為方程的一個解,如果公鑰中只保留x,那麼可以通過解方程得到y,而壓縮公鑰格式有兩個前綴是因為對y2開方,會得到正負兩個解,在素數p階的有限域上使用二進制算術計算橢圓曲線的時候,y坐標或奇或偶,所以用02表示y為奇數,03表示y為偶數。

所以壓縮格式的公鑰可以表示為:前綴x
以上述公鑰的坐標為准,y為奇數為例,公鑰K為:

不知道大家發現沒有,這種壓縮方式存在一個問題,即一個私鑰可以得出兩個公鑰,壓縮和非壓縮公鑰,而這兩個公鑰都對應同一個私鑰,都合法,但生成的比特幣地址卻不相同,這就涉及到錢包軟體的實現方式,是使用壓縮公鑰還是非壓縮公鑰,或者二者皆用,這個問題後面來介紹。

比特幣錢包最主要的功能就是替用戶保管比特幣私鑰,比特幣錢包有很多種,比如非確定性(隨機)錢包,確定性(種子)錢包。所謂的非確定性是指錢包運行時會生成足夠的私鑰(比如100個私鑰),每個私鑰僅會使用一次,這樣私鑰管理就很麻煩。確定性錢包擁有一個公共種子,單向離散方程使用種子生成私鑰,種子足夠回收所有私鑰,所以在錢包創建時,簡單備份下,就可以在錢包之間轉移輸入。

這里要特別介紹下助記碼詞彙。助記碼詞彙是英文單詞序列,在BIP0039中提出。這些序列對應著錢包中的種子,種子可以生成隨機數,隨機數生成私鑰,私鑰生成公鑰,便有了你需要的一切。所以單詞的順序就是錢包的備份,通過助記碼詞彙能重建錢包,這比記下一串隨機數要強的多。

BIP0039定義助記碼和種子的創建過程如下:

另外一種重要的錢包叫做HD錢包。HD錢包提供了隨機(不確定性) 鑰匙有兩個主要的優勢。
第一,樹狀結構可以被用來表達額外的組織含義。比如當一個特定分支的子密鑰被用來接收交易收入並且有另一個分支的子密鑰用來負責支付花費。不同分支的密鑰都可以被用在企業環境中,這就可以支配不同的分支部門,子公司,具體功能以及會計類別。
第二,它可以允許讓使用者去建立一個公共密鑰的序列而不需要訪問相對應的私鑰。這可允許HD錢包在不安全的伺服器中使用或者在每筆交易中發行不同的公共鑰匙。公共鑰匙不需要被預先載入或者提前衍生,但是在伺服器中不具有可用來支付的私鑰。

BIP0038提出了一個通用標准,使用一個口令加密私鑰並使用Base58Check對加密的私鑰進行編碼,這樣加密的私鑰就可以安全地保存在備份介質里,安全地在錢包間傳輸,保持密鑰在任何可能被暴露情況下的安全性。這個加密標准使用了AES,這個標准由NIST建立,並廣泛應用於商業和軍事應用的數據加密。

BIP0038加密方案是: 輸入一個比特幣私鑰,通常使用WIF編碼過,base58chek字元串的前綴「5」。此外BIP0038加密方案需要一個長密碼作為口令,通常由多個單詞或一段復雜的數字字母字元串組成。BIP0038加密方案的結果是一個由base58check編碼過的加密私鑰,前綴為6P。如果你看到一個6P開頭的的密鑰,這就意味著該密鑰是被加密過,並需個口令來轉換(解碼) 該密鑰回到可被用在任何錢包WIF格式的私鑰(前綴為5)。許多錢包APP現在能夠識別BIP0038加密過的私鑰,會要求用戶提供口令解碼並導入密鑰。

最通常使用BIP0038加密的密鑰用例是紙錢包一一張紙張上備份私鑰。只要用戶選擇了強口令,使用BIP0038加密的私鑰的紙錢包就無比的安全,這也是一種很棒的比特幣離線存儲方式(也被稱作「冷存儲」)。

P2SH函數最常見的實現時用於多重簽名地址腳本。顧名思義,底層腳本需要多個簽名來證明所有權,然後才能消費資金。這類似在銀行開設一個聯合賬戶。

你可以通過計算,生成特殊的比特幣地址,例如我需要一個Hello開頭的地址,你可以通過腳本來生成這樣一個地址。但是每增加一個字元,計算量會增加58倍,超過7個字元,需要專門的硬體或者礦機來生成,如果是8~10個字元,那麼計算量將無法想像。

『捌』 虛擬幣D開頭的地址

應該就是像3開頭的比特幣地址一樣。
虛擬貨幣地址是一種安全標識符,由一組唯一的字元串標記組成,允許交易者通過地址向個人或實體進行轉賬付款。虛擬貨幣地址通常需要一個私鑰來專門訪問存於其中的資金。
例如,比特幣地址是以1或3開頭的字母數字字元串,而以太坊地址以「0x」開頭。比特幣地址通常為26-35個字元,以太坊地址為40個字元。

熱點內容
電挖挖礦 發布:2024-11-18 10:49:47 瀏覽:701
創客區塊鏈是什麼 發布:2024-11-18 10:34:12 瀏覽:278
冒險與挖礦凜孫策 發布:2024-11-18 10:12:40 瀏覽:273
怎麼算合法使用區塊鏈 發布:2024-11-18 09:45:41 瀏覽:522
挖礦難度全網算力關系 發布:2024-11-18 09:40:35 瀏覽:333
新華社最新的元宇宙新聞 發布:2024-11-18 09:19:29 瀏覽:564
以太坊幣圈信息預測 發布:2024-11-17 23:13:49 瀏覽:291
最新手機挖礦軟體下載 發布:2024-11-17 23:04:22 瀏覽:512
禁比特幣平台 發布:2024-11-17 22:31:16 瀏覽:286
區塊鏈pdf新浪博客 發布:2024-11-17 22:27:48 瀏覽:531