當前位置:首頁 » 比特幣問答 » 自己生成比特幣密鑰

自己生成比特幣密鑰

發布時間: 2023-01-14 10:49:40

① 怎樣把比特幣拷貝到優盤上

你想問的是怎樣在優盤上保存比特幣。首先,你的比特幣是自己生成的,自己有私鑰,然後把私鑰(字元串或者二維碼形式)保存到優盤。未來需要恢復比特幣地址的時候,(常用的手機或者電腦壞了)就把私鑰的字元串或者二維碼導入,就可以了。

② 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個字元,那麼計算量將無法想像。

③ 比特幣的加密(秘鑰、地址、腳本驗證)

https://en.bitcoin.it/wiki/Address

https://www.cnblogs.com/zhaoweiwei/p/address.html
生成方式:

P2PKH的交易腳本

舉個真實的例子:
ScriptSig:
PUSHDATA(72)[9701] PUSHDATA(33)
[]

這裡面的一個scriptSig由2部分組成,第一部分是簽名,第二部分是公鑰,PUSHDATA(N),表示要壓入棧頂的byte,1個byte表示2個字元,PUSHDATA(72)表示壓入144個字元

Output Scripts
HASH160 PUSHDATA(20)[] EQUAL
DUP HASH160 PUSHDATA(20)[] EQUALVERIFY CHECKSIG

第二個找零output地址因為是P2PKH開頭的,所以格式和描述的一樣

https://www.hibtc.org/2428.html
結合多重簽名一起使用
scriptSig: ..signatures... <serialized script>
scriptPubKey: OP_HASH160 <scriptHash> OP_EQUAL

表示一共有n個參與方,只要有m個參與方同意了這筆交易,則這筆交易就生效了,具體的規則是通過scriptHash裡面的腳本內容決定的
m-of-n multi-signature transaction:
scriptSig: 0 <sig1> ... <script>
script: OP_m <pubKey1> ... OP_n OP_CHECKMULTISIG

ScriptSig:
0[] PUSHDATA(72)[1201] PUSHDATA(71)[01] PUSHDATA1[]

HASH160 PUSHDATA(20)[] EQUAL

結合P2SH的新特徵

https://en.bitcoin.it/wiki/Transaction
目前比特幣支持兩種類型的交易:Pay-to-PubkeyHash、Pay-to-Script-Hash

驗證一筆P2PKH交易的一個輸入是否合法:

總結:先驗證這筆output是不是屬於該用戶,再驗證該用戶的簽名是否有效

參考:
https://blog.csdn.net/jerry81333/article/details/56824166

初級版的比特幣交易
https://www.jianshu.com/p/a57795ec562c

④ 8 - HdWalletBTC 生成錢包私鑰地址

生成地址記錄:

private Key:
address:
public Key:

private Key:
address:
public Key:

private Key:
address:
public Key:

⑤ bitcoin私鑰是如何產生的

比特幣地址和私鑰是怎樣生成的?比特幣使用橢圓曲線演算法生成公鑰和私鑰,選擇的是secp256k1曲線。生成的公鑰是33位元組的大數,私鑰是32位元組的大數,錢包文件wallet.dat中直接保存了公鑰和私鑰。我們在接收和發送比特幣時用到的比特幣地址是公鑰經過演算法處理後得到的,具體過程是公鑰先經過SHA-256演算法處理得到32位元組的哈希結果,再經過RIPEMED演算法處理後得到20位元組的摘要結果,再經過字元轉換過程得到我們看到的地址。這個字元轉換過程與私鑰的字元轉換過程完成相同,步驟是先把輸入的內容(對於公鑰就是20位元組的摘要結果,對於私鑰就是32位元組的大數)增加版本號,經過連續兩次SHA-256演算法,取後一次哈希結果的前4位元組作為校驗碼附在輸入內容的後面,然後再經過Base58編碼,得到字元串。

⑥ 比特幣密鑰是什麼意思

比特幣的所有權是通過數字密鑰、比特幣地址和數字簽名來確定的。
比特幣包含一系列密鑰對、每個密鑰對包含一個公鑰和私鑰。
私鑰是一個隨機數、私鑰通過橢圓曲線演算法生成公鑰、公鑰再通過單向加密哈希函數生成比特幣地址。
比特幣使用非對稱加密、使得簽名只能由私鑰產生、且在不泄露私鑰情況下所有人都可以驗證該簽名p。
私鑰和公鑰有可以被編碼成多種類型格式、無一例外的作用就是為了方便識別及錢包操作方便。

⑦ 比特幣的私鑰怎麼生成的

私鑰是密文持有人設置的隨機的數字。
私鑰的生成是隨機的數字,通過拋硬幣將正面向上的計為0,反面向上計為1,連續拋256次,就隨機得到一個256位的二進制數字。生成了私鑰,就可以通過加密函數來生成一個地址。私鑰是一個64個字元長的代碼,包括字母a到f和數字1到9的任何混合。

⑧ 我了解到生成比特幣地址的十個步驟, 求問:第一步生成私鑰是隨機生成呢,還是根據你的比特幣數量信息

礦工你好

⑨ 觀察錢包怎麼導出私鑰

觀察錢包怎麼導出私鑰步驟。
1、打開電腦,可以看到插入的一個硬碟處於BitLocker加密狀態。雙擊這個盤,輸入密碼進行解密操作。
2、當輸入完正確的密碼後,硬碟就能顯示大小和查看里邊的內容了。
3、錢包私鑰常見於比特幣范疇,在創建錢包之後,輸入密碼就可以得到獨屬於自己的私鑰,相當於銀行卡號加上銀行卡密碼,一個錢包只有一個私鑰並且不能修改。
4、無法更改密鑰相當於銀行卡卡號,是幫助你記憶你這個錢包的,是無法更改的,要保護好。

⑩ 比特幣使用教程

比特幣是一種建立在全球網路上的貨幣。
比特幣是一種沒有央行參與發行的,總量固定的數字貨幣
比特幣建立在全球的P2P網路上。
全球無數的P2P節點全天候的在維護著比特幣的網路。
英文:bitcoin 貨幣符號: 英文縮寫:BTC或 XBT。

維基網路對比特幣的介紹:

Bitcoin與傳統貨幣不同,比特幣運行機制不依賴中央銀行、政府、企業的支持或者信用擔保,而是依賴對等網路中種子文件達成的網路協議,去中心化、自我完善的貨幣體制,理論上確保了任何人、機構、或政府都不可能操控比特幣的貨幣總量,或者製造通貨膨脹。它的貨幣總量按照設計預定的速率逐步增加,增加速度逐步放緩,並最終在2140年達到2100萬個的極限。

為什麼要使用比特幣?

全球交易暢通無阻。
比特幣費用低廉。
比特幣易於攜帶,在全球范圍內交易暢通無阻,全世界很多地方都接受比特幣。
去中心化。
比特幣的發行由整個P2P網路完成,不受任何組織和個人控制,是一個完全去中心化的貨幣系統。
比特幣的發行數量是固定的,不會因通脹而貶值,就像黃金一樣。

如何使用比特幣錢包?

我們從三個方面來說明這個問題。

一:什麼是比特幣錢包?

簡單來說,比特幣錢包可以讓你和整個世界進行交易。利用比特幣錢包中生成的比特幣地址你可以接收來自他人的比特幣,你也可以將你帳戶上的比特幣轉到他人的比特幣地址上面。比特幣地址就像銀行卡號一樣,你只有知道別人的比特幣地址才能進行比特幣轉賬。比特幣錢包中保存著你自己的所有比特幣地址和私鑰信息。
二:什麼是比特幣地址和私鑰?

比特幣地址和私鑰是成對出現的,他們的關系就像銀行卡號和密碼。比特幣地址就像銀行卡號一樣用來記錄你在該地址上存有多少比特幣。你可以隨意的生成比特幣地址來存放比特幣。每個比特幣地址在生成時,都會有一個相對應的該地址的私鑰被生成出來。這個私鑰可以證明你對該地址上的比特幣具有所有權。我們可以簡單的把比特幣地址理解成為銀行卡號,該地址的私鑰理解成為所對應銀行卡號的密碼。只有你在知道銀行密碼的情況下才能使用銀行卡號上的錢。所以,在使用比特幣錢包時請保存好你的地址和私鑰。

三:比特幣地址和私鑰的格式

比特幣地址是一段由數學演算法生成的二十七到三十四位長度的字元串,一般以數字「1」或者「3」開頭。每個比特幣地址都對應著一個比特幣私鑰。比特幣私鑰亦是由一串字元組成,一般以數字「5」開頭。私鑰保證了你對該比特幣地址上比特幣的所有權。比特幣私鑰有不同的格式,詳細資料讀者可參見下面的基礎教學內容。

請注意

比特幣的私鑰可以生成該私鑰對應的比特幣地址,但是比特幣地址不能計算出該地址所對應的私鑰。因此,假如你忘記了私鑰而只記得比特幣地址,那麼該地址上的比特幣便不屬於你了。所以,一定要備份好比特幣錢包,保護好私鑰。如何生成比特幣地址和私鑰呢?你可以用比特幣錢包來生成任意數量的地址和私鑰。當然,也有離線生成比特幣地址和私鑰的比特幣錢包工具(關於錢包的概念詳見後面的基礎教學)。
比特幣錢包的種類有哪些?

比特幣常用的錢包有三種:軟體錢包、手機錢包、在線錢包。

軟體錢包:通常指可以在本地機子上運行的比特幣客戶端。使用軟體錢包是最安全的保護你比特幣的方式。
手機錢包:只裝在手機上的比特幣錢包,用手機錢包你可以隨時隨地的使用比特幣。
在線網路錢包:讓你可以在任何地方使用比特幣,在線服務提供商幫助你保護你的比特幣安全。但是值得注意的是,你要仔細謹慎的選擇你的在線錢包提供商。

常用軟體錢包介紹:

①Bitcoin-Qt:
是最早的比特幣客戶端,比特幣初期的骨幹網路就是建立在它上面的。它提供了最高級別的安全性,隱私性和穩定性。然而,它具有的功能並不多。

②Multibit:
是一個輕量級的客戶端。Multibit專注於便捷和易用。它與網路同步是在幾分鍾內就可以使用。Multibit還支持多語言。對於非技術用戶,這是一個不錯的選擇。

③Electrum:
和Multibit類似,Electrum是一款基於SPV原理的比特幣錢包軟體客戶端,它能在幾分鍾之內完成同步。不同的是Electrum採用了和Bitcoin-qt和Multibit不同錢包的找零機制,所有的比特幣私鑰都由安全密碼種子生成,因此他的安全性更高。Electrum適合對比特幣技術原理已經有一定了解的玩家使用。

④Armory:
Armory客戶端是運行於Bitcoin-Qt客戶端之上的高級比特幣客戶端,為高級用戶提供了更多的擴展功能,其中包括了很多關於備份和加密的功能,以及非常安全的線下冷存儲。和Electrum一樣,Armory適合對比特幣有一定了解的用戶使用。

常用的手機錢包介紹:

Bitcoin Wallet:

Bitcoin Wallet可以在Googleandroid商店找到。它是一個輕量級的移動客戶端,支持Android和黑莓系統。這個客戶端並不需要在線才能工作。它支持QR碼(二維碼)掃描和NFC(近距離無線通信)。

常用的在線錢包介紹:

①Blockchain:
Blockchain是最早的比特幣在線錢包提供商,它提供的功能最多,也非常可靠。您可以用它在全球免費付款。它支持在手機上或個電腦上使用。

②P2PBUCKS:
提示:為保證安全,Blockchain.info在線錢包的用戶請使用GoogleAuthenticator或Yubikey等雙因子認證方式登陸。 並定時從Blockchain上下載自己的錢包備份到本地電腦。
我是在 完美生活 衛星號上看到這篇文章哦,詳細的你可以去關注一下:funinusa

熱點內容
bfc幣對usdt 發布:2025-04-16 16:34:11 瀏覽:780
怡亞通區塊鏈平台 發布:2025-04-16 16:18:36 瀏覽:532
區塊鏈百倍幣有哪些 發布:2025-04-16 16:13:31 瀏覽:913
如何通過百度區塊鏈賺錢 發布:2025-04-16 16:11:54 瀏覽:156
區塊鏈的演化邏輯與經濟學意義 發布:2025-04-16 15:58:22 瀏覽:933
usdt轉化成人民幣的匯率 發布:2025-04-16 15:47:13 瀏覽:756
北交所跟USDT 發布:2025-04-16 15:44:02 瀏覽:241
犇比特幣是中國的嗎 發布:2025-04-16 15:07:50 瀏覽:607
xrp中心化分析 發布:2025-04-16 15:07:06 瀏覽:310
eth到現在多少年了 發布:2025-04-16 14:52:46 瀏覽:666