導航:首頁 > 比特幣區 > 比特幣秘鑰多長

比特幣秘鑰多長

發布時間:2024-04-03 07:41:15

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

B. 比特幣交易在資金安全方面怎麼樣

國家不承認比特幣的合法性。因此,在安全性方面,是不可能有保證的。即使黑客黑了你,也不能報案,不受理。

C. 比特幣的私鑰和公鑰是有總數量限制嗎

使用上沒有總量限制,理論上是有限制。看公鑰有多少位了,做個簡單的高中排列組合就可在算出來數量了(是個天文數字);一個公鑰都是選取的非常好的隨機數生成器在足夠長的公鑰限制下,理論上是出現重復公鑰是不可能的。

下面是截取的專業書籍中對不同長度密鑰的計算比較

D. 比特幣的私鑰怎麼生成的

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

E. 破解一個比特幣錢包到底要花多長時間

這要看你破解人的水平如何,能力高的人可能也就幾十分鍾吧。

F. 【貓說】打開比特幣錢包的兩把鑰匙:私鑰、公鑰

如果不了解區塊鏈,不知道公鑰、私鑰這些最基本的概念,擁有錢包對幣圈新人來講,就好像拿手指頭去捅鱷魚的腦袋,風險極高。此文謹獻給幣圈新朋友,幫助大家梳理比特幣錢包的基本常識。

區塊鏈觀察網在 《區塊鏈是什麼》 一文中提到過,在區塊鏈世界裡,每個人都擁有兩把獨一無二的虛擬鑰匙:公鑰和私鑰。

「公鑰」,可以簡單理解為銀行卡,這是可以發給交易對方看的,銀行卡號則相當於比特幣轉賬中要用到的「地址」。

講得專業一點,公鑰就是一個65位元組的字元串,多長呢?130個字母和數字堆在一起。公鑰太長的話,第一交易起來忒麻煩,第二幹嘛非得暴露公鑰的真實內容呢,這就好像把自己的銀行卡拿出來到處給人看。因此,我們現在看到的地址,就是經過摘要演算法生成的、更短一點的公鑰。

對方知道你的地址才能給你打錢;而且,任何人有了你的地址,都能在Blockchain.info官網查詢這個錢包地址交易了多少次(No. Transactions),收過多少個比特幣(Total Received),以及錢包里還剩下多少個比特幣(Final Balance),如下圖:

「私鑰」,就像打死不能告訴別人的銀行卡密碼。它是一串256位的隨機數。因為讓非IT用戶去記住這個滿屏0 和 1的二進制私鑰是特別不人道的事兒,所以對這一大串私鑰進行了處理,最後私鑰就以5 / K / L 開頭的字元串呈現在我們面前。

公鑰、私鑰、地址之間的關系是:

1)私鑰 → 公鑰 → 地址

私鑰生成唯一對應的公鑰,公鑰再生成唯一對應的地址;

2)私鑰加密,公鑰解密

也就是說,A使用私鑰對交易信息進行加密(數字簽名),B則使用A的公鑰對這個數字簽名進行解密。

其中,私鑰是極度私密的東西。如果你把私鑰發給別人,現在就開始寫一部長篇小說吧,名字都幫你想好了,就叫《永別了,比特幣》。

如果是李笑來老師(網傳擁有數十萬個BTC)這類幣圈大佬,強烈建議使用冷錢包(離線錢包),分開儲存;電視里的富豪在銀行有自己的保險箱,有條件的話也可以參考。

當時,上述方法是安全系數最高的做法。但作為韭菜接班人,暫且假設我們最初只用閑置資金、持有少量的比特幣,比如,小於5個。那麼,動輒上千成本、操作復雜的冷錢包就有點殺雞用牛刀了;因此,區塊鏈觀察網把選擇范圍限定在交易所和輕錢包2項:

在交易平台上買了(極少量)比特幣,可以先不提出來,繼續存在交易所。這種方式最適合幣圈新手。在沒有深入了解每種加密貨幣背後的故事之前,鮮嫩的我們總是充滿了好奇,而放在交易所的比特幣,可以直接進行幣幣交易,交易簡單快捷,不用經數字錢包導來導去;另一方面,平台上幣種齊全,可以滿足我們的嘗鮮心理,方便隨時小試牛刀。

而且像火幣、幣安(已被牆)這些大型交易所,不僅安全等級比某些專為收割韭菜而生的小平台高很多,而且操作簡單,很快就能上手,只需保管好自己的賬號、密碼就行了(再安全一級的話,開啟谷歌二次驗證),其他的就交給平台。

值得注意的是,存在交易所上的資產並不完全屬於自己,更確切地說是借給平台的,我們在資產那一欄看到的數字,相當於平台向我們借錢而打的白條。此外,交易平台本身不是去中心化的,如果安全措施不到位,用戶的賬號密碼有可能被黑客拿到。

輕錢包是相對於「全節點」錢包來說的。

全節點錢包,比如 Bitcoin-Core(核心錢包),運行時需要同步所有區塊鏈數據,佔用相當大內存空間(目前至少50GB以上),完全去中心化;

輕錢包雖然也依賴比特幣網路上其他全節點,但其僅僅同步跟自己有關的交易數據,基本實現去中心化的同時,也提升了用戶體驗。

根據不同的設備類型,我們把輕錢包分為:

1)PC錢包:適用於電腦桌面操作系統(如Windows/MacOS/Linus);

2)手機錢包:適用於安卓、iOS智能手機,比如比太錢包(以太也有PC端);

3)網頁錢包:通過瀏覽器訪問,比如上文提過的blockchain網頁版。

輕錢包操作比較簡單,一般是免費獲取。申請錢包的時候,系統會生成一個私鑰。准備敲黑板!

1)不要截圖、拍照存在手機里;

2)不要把私鑰信息發給任何人;

3)最好手寫(幾份)抄下,藏在你覺得最安全的地方。

總之一句話,誰掌握了錢包的私鑰,誰就擁有錢包的絕對控制權。私鑰只要掌握在你的手裡,比特幣就絕不會丟。

最後多說幾句,作為普通投資者,我們需要做的並不多:

1)走點心,不要把手機弄丟了,畢竟丟了對手機里的比特幣錢包有風險;

2)不要手癢刪掉設備上的錢包應用,除非你決定再也不用這個錢包了,否則後期很麻煩;

3)設置復雜的密碼(原因見第1點),並用心去記牢,這是私鑰弄丟以後留的一手。

對於記不住密碼,又懶得科學備份私鑰的朋友,咱還是把錢存在銀行里吧。

G. 為什麼比特幣的私鑰無法被攻破

關於:為什麼比特幣的私鑰無法被破解?

以下為正文:

破解比特幣私鑰,實際上就是要在 1 到 2²⁵⁶ 之間找到一個數,這個數對應的錢包裡面有比特幣。

2²⁵⁶ 約等於 10⁷⁷,這是個巨大的數字,對比的話,人類可觀測宇宙的基本粒子也就是在 10⁸⁰ 這個數量級上。

人類現有的超級計算機,前 500 強加起來的算力,大約是每秒進行 10¹⁸ 次浮點運算,有興趣的人可以算一算,就算每次浮點運算能完成一次破解比特幣的嘗試,那完成破解需要多少時間。簡單說,一年約有 3.1536 × 10⁷ 秒,按上文的假設,破解一個比特幣需要的時間在 10⁵¹ 年這個數量級上。

實際上要花的時間比這多的多,比特幣網路計算的是哈希值,現在比特幣全網每秒可以做約 1.51 × 10¹⁸ 次哈希運算,這差不多相當於每秒做 1.91 × 10²² 次浮點運算,這遠超過現有的超級計算機的算力(換句話說就是超級計算機沒法對比特幣網路進行攻擊,能力差距太大,這和比特幣網路解決的是一個專門問題,超級計算機要解決的是各種不同問題有關系)。

無論如何,我覺得超過 10⁴ 年(也就是一萬年)的時間對我們的意義都不大了,甚至超過 10² 年(也就是一百年)的時間對我們都沒有多大意義。想想,要花那麼多年,只是破解一個錢包的私鑰,還不知道這錢包里有多少比特幣,這事情實在沒有做的意義,就算是知道某個錢包里有很多比特幣,投入產出也不可能合算。

這些年間,被盜的比特幣都是從人類這邊搞的,都是什麼從持幣人手裡盜取了私鑰之類的事情,直接攻擊比特幣網路嘗試破解私鑰的,聞所未聞,未來估計也不可能有了。

有些人擔心量子計算機,首先,量子計算機現在還是早期,解決的都是特定問題,沒有針對處理比特幣網路的問題,其次,量子計算機的算力現在還是比較低的,遠遠威脅不到比特幣網路,第三,就算量子計算機將來發展起來了,比特幣網路也會一並演進的,到時肯定會有針對性的升級。總之,量子計算機並不是比特幣的一個威脅。

以下為該文的參考文獻;

How Hard Is It to Brute Force a Bitcoin Private Key?

https://news.bitcoin.com/how-hard-is-it-to-brute-force-a-bitcoin-private-key/

超級計算機 500 強

https://en.wikipedia.org/wiki/TOP500

PetaFLOPS and how it relates to Bitcoin

https://bitcointalk.org/index.php?topic=50720.0

Bitcoin Total Hash Rate(比特幣全網算力)

https://www.blockchain.com/charts/hash-rate

Observable universe(可觀測宇宙)

https://en.wikipedia.org/wiki/Observable_universe

閱讀全文

與比特幣秘鑰多長相關的資料

熱點內容
虛擬貨幣在民法為什麼是合法的 瀏覽:612
a10pro礦機顯存 瀏覽:803
挖礦一小時能挖多少錢 瀏覽:672
ipfs挖filecoin幣送礦機 瀏覽:226
比特幣合約交易技術 瀏覽:958
數字貨幣合約如何做 瀏覽:907
區塊鏈阿爾托 瀏覽:127
新疆比特幣挖礦公司 瀏覽:434
礦機一般多久回本 瀏覽:415
比特幣病毒中國 瀏覽:434
以太坊TWT賺幣 瀏覽:83
網路游戲虛擬貨幣發行企業指6 瀏覽:87
挖礦導致顯卡1060 瀏覽:983
筆記本挖礦死機 瀏覽:318
數字貨幣火付 瀏覽:918
付費打賞挖礦fb 瀏覽:649
五行數字貨幣印數學黃金 瀏覽:860
比特幣的價格在09年是多少 瀏覽:843
比特幣投資最少多少錢 瀏覽:635
熱血傳奇秒卡版挖礦 瀏覽:692