當前位置:首頁 » 比特幣問答 » 比特幣公鑰和私鑰是什麼

比特幣公鑰和私鑰是什麼

發布時間: 2023-01-19 06:35:31

A. 【區塊鏈比特幣私鑰、公鑰、簽名

在 了解區塊鏈的基礎名詞概念 提到地址由字元和數字組成,但沒有說明怎樣產生的。銀行卡號由銀行核心系統生成,那比特幣地址是通過什麼生成的呢?看下圖:

對於剛接觸比特幣的小白來說,看到這張圖就蒙圈了,究竟什麼是私鑰、公鑰,為什麼生成個地址要這么麻煩嗎?

現在請大家記住這句話: 私鑰通過橢圓曲線相乘生成公鑰,使用公鑰不能導推出私鑰;公鑰通過哈希函數生成比特幣地址,地址也無法導推出公鑰

通過這么復雜演算法才算出地址,那私鑰和公鑰只是為了生成地址嗎?不是的,他們還有其他用途,我們先了解下私鑰和公鑰。

現在已經講解地址、挖礦、工作量證明、算力、區塊、區塊鏈等等的概念,不知大家還有印象嗎?如果忘記請溫習這些概念,因為後續很多地方都會用到這些概念。明天講解下區塊鏈有哪些特點。

參考書籍:《精通比特幣》
區塊鏈知識專題:

比特幣記賬方式(區塊鏈知識2)
了解塊鏈的基礎名詞概念(區塊鏈知識1)

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

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

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

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

講得專業一點,公鑰就是一個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點),並用心去記牢,這是私鑰弄丟以後留的一手。

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

C. 比特幣密鑰是什麼意思

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

D. 比特幣的地址、公鑰、私鑰,你都了解了嗎

了解比特幣,就不可避免地要掌握什麼是比特幣的地址、公鑰、私鑰,下面我們一個一個來解釋。

地址,就好比是銀行賬(卡)號,在創建數字錢包後就會自動生成,簡單來說,就是創建錢包的時候,先產生一對私鑰和公鑰,然後公鑰通過一套演算法生成地址,這個地址實質上是一串字元,比如。

像銀行賬(卡)號可以用來收款一樣,比特幣地址也可以用來接收比特幣。

這個比特幣地址不單單給你轉幣的人知道,連整個比特幣網路的人都能查看,可以說,全球所有用戶的地址都可以被任何人知道。為什麼這樣說呢?因為比特幣本質就是一個大型的公開賬本,所有交易對所有人都是可見的。而交易記錄中包括了交易流水單號、發幣人的發幣地址、收幣人地址、發幣人的找零地址。

私鑰,可以看作是銀行密碼,是一串很長的由錢包生成的隨機數,比如, LBB9ZXMCJ。私鑰是唯一能夠證明你擁有的比特幣是屬於你的,也只有用私鑰才能轉賬、交易和使用數字錢包里的比特幣。

我們都知道了,銀行密碼絕對不能泄露給別人,私鑰也一樣,打死也不要告訴他人,否則你的比特幣很容易就被轉走。銀行的錢被盜了,因為有國家監管和第三方信用,還有可能被追回,但比特幣是去中心化的,沒有第三方,自己的幣只能自己負責看管,丟了,或被他人轉走了,就永遠拿不回來了。所以千萬千萬不要把私鑰告訴他人,不要把私鑰保存在手機或者電腦上,不要通過網路傳輸你的私鑰,那怎麼辦?記住了,要用筆寫在紙上,寫兩到三份分別放在不同的地方,保管好。

公鑰,顧名思義,是可以公開的,也是像地址和私鑰一樣,是一串長長的字元。公鑰由私鑰通過橢圓曲線加密演算法生成,通過私鑰可以算出唯一一個公鑰,但公鑰不能逆向推導出私鑰。

那到底比特幣地址、公鑰、私鑰在交易中起什麼作用的呢?

首先,錢包通過加密演算法把私鑰加密成字元串(也叫作簽名),然後把這個字元串,和公鑰一起寫到交易信息里,再發給礦工。礦工收到信息後,就會將簽名、公鑰寫入一個驗證函數,如果得出的結果為「true」,那麼這個交易會被確認為真實有效,就能被驗證通過。而結果為「false」,則說明這筆交易存在問題,不能被驗證通過。

通過以上淺顯的文字,希望能幫到你對比特幣的地址、公鑰和私鑰有一個初步的了解吧!感謝你的閱讀!

E. 區塊鏈中的私鑰公鑰指什麼

私鑰公鑰這個名詞可謂是所有考題中最簡單的了。

公開的密鑰叫公鑰,只有自己知道的叫私鑰。

公鑰(Public Key)與私鑰(Private Key)是通過一種演算法得到的一個密鑰對(即一個公鑰和一個私鑰),公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。

一句話明了~

F. 2018-07-13小白學區塊鏈——私鑰·公鑰

在生活中移動支付和無現金支付已經相對普及了,它方便了我們的日常生活,也降低了我們隨身攜帶現金的風險。無論是移動端支付還是銀行卡類支付,我們都要綁定或輸入銀行卡號和支付密碼才能支付,那麼在比特幣的交易中是如何達成支付的呢?

1.私鑰

在比特幣網路中的私鑰可以對應我們現實世界銀行卡號加支付密碼,也就是: 私鑰=銀行卡號+取款密碼。 私鑰是比特幣網路中根據密碼學上的一種偽隨機演算法生成一種不可預算的一串字元,由於生成的私鑰是256位數的二進制密碼。因為私鑰太長,識別率不高。所以系統又對於原始的隨機數進行一定的轉換,轉換為識別率高的字元串形式的私鑰,比如:也可以把私鑰轉換其他形式,比如以單詞的形式(12或者24個單詞)的助記詞。還有一種是經過加密的私鑰Keystore,是以文件形式存在的,導出時需要設置密碼,導入也一樣的需要輸入密碼,即使別人知道了你的Keystore,沒有你設的密碼也是得不到你的私鑰的。

2.公鑰

公鑰也就是我們通常所說的轉賬地址。公鑰是由私鑰生成的,通過橢圓曲線演算法生成,一個私鑰經過橢圓曲線變換之後能夠得到公鑰,公鑰也是一組轉換後的字元串,比如:。公鑰是用來驗證私鑰的簽名,私鑰和公鑰是成對出現的,一個私鑰簽名的數據,只有對應的公鑰才能對其進行驗證,而地址也是從公鑰生成的,這樣就可以驗證花費的交易是不是屬於這個地址。簡單理解也就是: 公鑰=銀行卡賬號。

總結

1.是私鑰生成公鑰也是成對出現的,公鑰可以生成對應的唯一地址,驗證發送交易的地址是否和該公鑰生成的地址一致

2.公鑰驗證私鑰的簽名,用來驗證該交易是否使用了正確的私鑰簽名,這樣就能確認了該地址發送的交易是否使用了對應的私鑰。

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

H. 什麼是公鑰、私鑰、密碼、助記詞、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.備份內容放到安全、妥善的地方,並告訴家人(以防突發事故發生)

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

I. 公鑰、私鑰、哈希、加密演算法基礎概念

生活中我們對文件要簽名,簽名的字跡每個人不一樣,確保了獨特性,當然這還會有模仿,那麼對於重要文件再加蓋個手印,指紋是獨一無二的,保證了這份文件是我們個人所簽署的。

那麼在區塊鏈世界裡,對應的就是數字簽名,數字簽名涉及到公鑰、私鑰、哈希、加密演算法這些基礎概念。

首先加密演算法分為對稱加密演算法、非對稱加密演算法、哈希函數加密演算法三類。

所謂非對稱加密演算法,是指加密和解密用到的公鑰和私鑰是不同的,非對稱加密演算法依賴於求解一數學問題困難而驗證一數學問題簡單。

非對稱加密系統,加密的稱為公鑰,解密的稱為私鑰,公鑰加密,私鑰解密、私鑰簽名,公鑰驗證。

比特幣加密演算法一共有兩類:非對稱加密演算法(橢圓曲線加密演算法)和哈希演算法(SHA256,RIMPED160演算法)

舉一個例子來說明這個加密的過程:A給B發一個文件,B怎麼知道他接收的文件是A發的原始文件?

A可以這樣做,先對文件進行摘要處理(又稱Hash,常見的哈希演算法有MD5、SHA等)得到一串摘要信息,然後用自己的私鑰將摘要信息加密同文件發給B,B收到加密串和文件後,再用A的公鑰來解密加密串,得到原始文件的摘要信息,與此同時,對接收到的文件進行摘要處理,然後兩個摘要信息進行對比,如果自己算出的摘要信息與收到的摘要信息一致,說明文件是A發過來的原始文件,沒有被篡改。否則,就是被改過的。

數字簽名有兩個作用:
一是能確定消息確實是由發送方簽名並發出來的;
二是數字簽名能確定消息的完整性。

私鑰用來創建一個數字簽名,公鑰用來讓其他人核對私人密鑰,
而數字簽名做為一個媒介,證明你擁有密碼,同時並不要求你將密碼展示出來。

以下為概念的定義:

哈希(Hash):
二進制輸入數據的一種數字指紋。
它是一種函數,通過它可以把任何數字或者字元串輸入轉化成一個固定長度的輸出,它是單向輸出,即非常難通過反向推導出輸入值。
舉一個簡單的哈希函數的例子,比如數字17202的平方根是131.15639519291463,通過一個簡單的哈希函數的輸出,它給出這個計算結果的後面幾位小數,如後幾位的9291463,通過結果9291463我們幾乎不可能推算出它是哪個輸入值的輸出。
現代加密哈希比如像SHA-256,比上面這個例子要復雜的多,相應它的安全性也更高,哈希用於指代這樣一個函數的輸出值。

私鑰(Private key):
用來解鎖對應(錢包)地址的一串字元,例如+。

公鑰(Public keycryptography):
加密系統是一種加密手段,它的每一個私鑰都有一個相對應的公鑰,從公鑰我們不能推算出私鑰,並且被用其中一個密鑰加密了的數據,可以被另外一個相對應的密鑰解密。這套系統使得你可以先公布一個公鑰給所有人,然後所有人就可以發送加密後的信息給你,而不需要預先交換密鑰。

數字簽名(Digital signature):
Digital signature數字簽名是這樣一個東西,它可以被附著在一條消息後面,證明這條消息的發送者就是和某個公鑰相對應的一個私鑰的所有人,同時可以保證私鑰的秘密性。某人在檢查簽名的時候,將會使用公鑰來解密被加密了的哈希值(譯者註:這個哈希值是數據通過哈希運算得到的),並檢查結果是否和這條信息的哈希值相吻合。如果信息被改動過,或者私鑰是錯誤的話,哈希值就不會匹配。在比特幣網路以外的世界,簽名常常用於驗證信息發送者的身份 – 人們公布他們自己的公鑰,然後發送可以被公鑰所驗證的,已經通過私鑰加密過的信息。

加密演算法(encryption algorithm):
是一個函數,它使用一個加密鑰匙,把一條信息轉化成一串不可閱讀的看似隨機的字元串,這個流程是不可逆的,除非是知道私鑰匙的人來操作。加密使得私密數據通過公共的網際網路傳輸的時候不需要冒嚴重的被第三方知道傳輸的內容的風險。

哈希演算法的大致加密流程
1、對原文進行補充和分割處理(一般分給為多個512位的文本,並進一步分割為16個32位的整數)。
2、初始化哈希值(一般分割為多個32位整數,例如SHA256就是256位的哈希值分解成8個32位整數)。
3、對哈希值進行計算(依賴於不同演算法進行不同輪數的計算,每個512位文本都要經過這些輪數的計算)。

區塊鏈中每一個數據塊中包含了一次網路交易的信息,產生相關聯數據塊所使用的就是非對稱加密技術。非對密加密技術的作用是驗證信息的有效性和生成下一個區塊,區塊鏈上網路交易的信息是公開透明的,但是用戶的身份信息是被高度加密的,只有經過用戶授權,區塊鏈才能得到該身份信息,從而保證了數據的安生性和個人信息的隱私性。

公鑰和私鑰在非對稱加密機制里是成對存在的,公鑰和私鑰可以去相互驗證對方,那麼在比特幣的世界裡面,我們可以把地址理解為公鑰,可以把簽名、輸密碼的過程理解為私鑰的簽名。
每個礦工在拿到一筆轉賬交易時候都可以驗證公鑰和私鑰到底是不是匹配的,如果他們是匹配的,這筆交易就是合法的,這樣每一個人只需要保管好TA自己的私鑰,知道自己的比特幣地址和對方的比特幣地址就能夠安全的將比特幣進行轉賬,不需要一個中心化的機構來驗證對方發的比特幣是不是真的。

J. 公鑰與私鑰的區別與應用。

現實生活中,我要給依依轉1個比特幣,我需要在比特幣交易平台、比特幣錢包或者比特幣客戶端裡面,輸入我的比特幣錢包地址、依依的錢包地址、轉出比特幣的數量、手續費。然後,我們等十分鍾左右,礦工處理完交易信息之後,這1個比特幣就成功地轉給依依了。

這個過程看似很簡單也很便捷,跟我們現在的銀行卡轉賬沒什麼區別,但是,你知道這個過程是怎樣在比特幣系統裡面實現的嗎?它隱藏了哪些原理呢?又或者,它是如何保證交易能夠在一個安全的環境下進行呢?

我們今天就來講一講。

對於轉出方和接收方來講,也就是我和依依(我是轉出方,依依是接收方)我們都需要出具兩個東西:錢包地址、私鑰。

我們先說錢包地址。比特幣錢包地址其實就相當於銀行卡、支付寶賬號、微信錢包賬號,是比特幣支付轉賬的「憑證」,記錄著平台與平台、錢包與錢包、錢包與平台之間的轉賬信息。

我們在使用銀行卡、支付寶、微信轉賬時都需要密碼,才能夠支付成功。那麼,在比特幣轉賬中,同樣也有這么一個「密碼」,這個「密碼「被稱作「私鑰」。掌握了私鑰,就掌握了其對應比特幣地址上的生殺大權。

「私鑰」是屬於「非對稱加密演算法」裡面的概念,與之對應的還有另一個概念,名叫:「公鑰」。

公鑰和私鑰,從字面意思我們就可以理解:公鑰,是可以公開的;而私鑰,是私人的、你自己擁有的、需要絕對保密的。

公鑰是根據私鑰計算形成的,比特幣系統使用的是橢圓曲線加密演算法,來根據私鑰計算出公鑰。這就使得,公鑰和私鑰形成了唯一對應的關系:當你用了其中一把鑰匙加密信息時,只有配對的另一把鑰匙才能解密。所以,正是基於這種唯一對應的關系,它們可以用來驗證信息發送方的身份,還可以做到絕對的保密。

我們舉個例子講一下,在非對稱加密演算法中,公鑰和私鑰是怎麼運作的。

我們知道,公鑰是可以對外公開的,那麼,所有人都知道我們的公鑰。在轉賬過程中,我不僅要確保比特幣轉給依依,而不會轉給別人,還得讓依依知道,這些比特幣是我轉給她的,不是鹿鹿,也不是韭哥。

比特幣系統可以滿足我的上述訴求:比特幣系統會把我的交易信息縮短成固定長度的字元串,也就是一段摘要,然後把我的私鑰附在這個摘要上,形成一個數字簽名。因為數字簽名裡面隱含了我的私鑰信息,所以,數字簽名可以證明我的身份。

完成之後,完整的交易信息和數字簽名會一起廣播給礦工,礦工用我的公鑰進行驗證、看看我的公鑰和我的數字簽名能不能匹配上,如果驗證成功,都沒問題,那麼,就能夠說明這個交易確實是我發出的,而且信息沒有被更改。

接下來,礦工需要驗證,這筆交易花費的比特幣是否是「未被花費」的交易。如果驗證成功,則將其放入「未確認交易」,等待被打包;如果驗證失敗,則該交易會被標記為「無效交易」,不會被打包。

其實,公鑰和私鑰,簡單理解就是:既然是加密,那肯定是不希望別人知道我的消息,所以只能我才能解密,所以可得出:公鑰負責加密,私鑰負責解密;同理,既然是簽名,那肯定是不希望有人冒充我的身份,只有我才能發布這個數字簽名,所以可得出:私鑰負責簽名,公鑰負責驗證。

到這里,我們簡單概括一下上面的內容。上面我們主要講到這么幾個詞:私鑰、公鑰、錢包地址、數字簽名,它們之間的關系我們理一下:

(1)私鑰是系統隨機生成的,公鑰是由私鑰計算得出的,錢包地址是由公鑰計算得出的,也就是:私鑰——公鑰——錢包地址,這樣一個過程;

(2)數字簽名,是由交易信息+私鑰信息計算得出的,因為數字簽名隱含私鑰信息,所以可以證明自己的身份。

私鑰、公鑰都是密碼學范疇的,屬於「非對稱加密」演算法中的「橢圓加密演算法」,之所以採用這種演算法,是為了保障交易的安全,二者的作用在於:

(1)公鑰加密,私鑰解密:公鑰全網公開,我用依依的公鑰給信息加密,依依用自己的私鑰可以解密;

(2)私鑰簽名,公鑰驗證:我給依依發信息,我加上我自己的私鑰信息形成數字簽名,依依用我的公鑰來驗證,驗證成功就證明的確是我發送的信息。

只不過,在比特幣交易中,加密解密啦、驗證啦這些都交給礦工了。

至於我們現在經常用的錢包APP,只不過是私鑰、錢包地址和其他區塊鏈數據的管理工具而已。錢包又分冷錢包和熱錢包,冷錢包是離線的,永遠不聯網的,一般是以一些實體的形式出現,比如小本子什麼的;熱錢包是聯網的,我們用的錢包APP就屬於熱錢包。

熱點內容
比特幣真的能夠賺錢 發布:2025-04-23 00:48:52 瀏覽:141
美股幣圈行情 發布:2025-04-23 00:47:42 瀏覽:183
eth挖礦需要帶寬 發布:2025-04-23 00:37:10 瀏覽:424
mchain礦池等級 發布:2025-04-23 00:23:02 瀏覽:662
礦池架設技術 發布:2025-04-23 00:13:33 瀏覽:711
doge當前價格 發布:2025-04-23 00:07:38 瀏覽:363
幣圈做空要求 發布:2025-04-23 00:07:26 瀏覽:31
usdt可以轉到eth錢包嗎 發布:2025-04-22 23:56:22 瀏覽:717
以太礦機算力170 發布:2025-04-22 23:41:12 瀏覽:977
以太坊mekle 發布:2025-04-22 23:26:20 瀏覽:875