① 怎樣查看比特幣錢包私鑰
比特幣錢包私鑰在線無法查看,比特幣存在平台要下載core 或者classic才是真正的錢包,然後就可以查看了。
【比特幣錢包私鑰的說明】:
1、錢包加密是指對儲存有私鑰的錢包進行自動加密存儲。 比特幣官方客戶端從0.4.0 版本開始支持錢包加密。加密的錢包在每次付款的時候,都會提示您輸入密碼。如果密碼錯誤,客戶端會拒絕付款。
2、如果用最早備份的錢包(wallet.dat)替換回來,還是一樣可以正常交易。考慮到比特幣的原理應該也可得出,只要有私鑰(錢包)存在,就可以證明你是這個錢包的合法擁有者,不管對這個錢包(核心就是某個地址對應的私鑰)是進行了加密還是刪除,都不能否定它。
3、備份比特幣錢包時,還需注意由於比特幣支付找零機制的存在(比如把一個完整的100 btc中的50 btc發送給某個地址,系統會發送其中的50 btc到對方的地址,並退回50 btc到你客戶端的一個新地址上,這個地址不會直接顯示在你的地址列表中)。
4、每發送了100次比特幣給其它地址或者使用了100個不同的地址接收比特幣後,請重新備份錢包,否則後面交易退回的和接收到的比特幣會永久丟失。 除了給錢包加密外,用戶還可以自行生成離線的紙錢包和腦錢包。
② 比特幣壓縮格式私鑰你理解對了嗎
壓縮格式私鑰: 大家看到壓縮格式私鑰這幾個字是不是認為這個私鑰是被壓縮了的?其實我一開始是這么認為的,但隨著對概念的深入學習與理解,我發現我理解錯了,因為 私鑰 本身並 不能被壓縮 ,壓縮格式私鑰反而比非壓縮格式私鑰 多了1個位元組 ,這多出來的1個位元組是私鑰被加了 後綴"01" ,用以表明該私鑰是來自於一個較新版本的錢包,只能用於生成壓縮格式的公鑰。就是說該私鑰只能用於生成壓縮格式的公鑰,其本身並不是壓縮格式。反之,非壓縮格式私鑰是只能用於生成非壓縮格式的公鑰。具體轉換關系如圖所示:
從上面的定義和圖示,大家可以看出壓縮格式私鑰這個詞用得不太恰當,容易讓人產生誤解,讓人誤以為私鑰是可以被壓縮的,其實這種理解是不對的,如上述概念給出的,壓縮格式私鑰其實比非壓縮格式私鑰還多了1個位元組,在非壓縮格式私鑰的基礎上添加後綴"01"用以表示為壓縮格式私鑰,壓縮格式私鑰提出的作用是為了節省錢包存儲空間而新研製出的一種私鑰編碼格式。
如果一個比特幣錢包實現了壓縮格式公鑰,那麼它將會在所有交易中使用該壓格式縮公鑰。錢包中的私鑰將會被用來生成壓縮格式公鑰,壓縮格式公鑰然後被用來生成交易中的比特幣地址。當從一個實現了壓縮格式公鑰的比特幣錢包導出私鑰時,錢包導入格式(WIF)將會被修改為WIF壓縮格式,該格式將會在私鑰的後面附加一個位元組大小的後綴01。最終的Base58Check編碼格式的私鑰被稱作WIF(「壓縮」)私鑰,以字母「K」或「L」開頭。而以「5」開頭的是從較老的錢包中以WIF(非壓縮)格式導出的私鑰。
表4-4展示了同樣的私鑰使用不同的WIF和WIF壓縮格式編碼。
Hex(十六進制):
WIF(非壓縮私鑰):
Hex-compressed(壓縮十六進制):01
WIF-compressed(壓縮私鑰):
③ 入門科普:比特幣的私鑰、公鑰和地址是什麼
上一篇,我們講到了幣圈要注意防範傳銷、洗錢等一類的騙局,保護好自己的資產。這一篇,我要告訴大家,進行比特幣交易時,都會用到的私鑰、公鑰與地址,如果你還不了解它們的重要性,隨便交易,很容易弄丟自己的資產。那什麼是私鑰、公鑰與地址?三者之間有著什麼樣的關系呢?
01
私鑰
1.導出:
創建錢包後,輸入密碼可以導出私鑰,私鑰由很長的字元串組成,且是隨機生成的, 一個地址只有一個私鑰。
2.用途:
用於控制交易時的簽名,擁有私鑰才能控制賬戶的資金,相當於銀行賬戶的交易密碼,用來解密公鑰加密的信息。
3.注意事項:
私鑰是用來證明這筆交易的發起人確實是比特幣的所有者。所以 私鑰一定不能曝光,私鑰一旦泄露,你的比特幣將會有被盜的風險。 用戶必須保管好私鑰,防止泄露或丟失。
02
公鑰
1.導出:
公鑰是由私鑰通過演算法生成的,使用了橢圓曲線加密, 通過私鑰可以計算出唯一的公鑰。
2.用途:
公鑰是用來驗證交易的簽名,一個私鑰簽名的數據,只有對應的公鑰才能對其進行驗證,公鑰相當於銀行賬戶,公開後無風險。
03
地址
1.導出:
地址由公鑰生成的,使用了哈希運算。創建錢包後會生成一個以「0x」 開頭的 42 位字元串,這個字元串就是錢包地址,一個錢包對應一個錢包地址, 地址唯一且不能修改,也就是說一個錢包中所有代幣的轉賬收款地址都是一樣的。
2.用途:
由於公鑰太長,在交易中不方便使用,所以就有了地址,地址是由公鑰生成的,地址相當於銀行卡號,用來發送和接收比特幣。
3.注意事項:
平台上不同代幣的轉賬收款地址一般都不同,因此,轉幣到交易平台前一定要確認好地址。
總結
私鑰 → 公鑰 → 錢包地址 (不可逆)
私鑰用來簽名交易,公鑰用來驗證私鑰簽名的交易,地址用來收款。
公鑰、私鑰以及地址都在比特幣交易中起到了不同的作用,所以才能順利的完成一筆數字貨幣的交易。 所以用戶必須好好保存,防止泄露重要信息。
④ 物理比特幣如何得到裡面的私匙
比特幣的私鑰就是隨機的256位數字,由0和1組成的二進制數字。這串數字是由可靠的隨機數生成器生成。
然後把這些2進制數轉換成16進制,再轉換成大寫字母就獲得了現在比特幣錢包客戶端中導出的私鑰格式.
或者對這個256位二進制數再進行哈希256得到的結果也可以用來當作私鑰。
⑤ 比特幣的地址、公鑰、私鑰,你都了解了嗎
了解比特幣,就不可避免地要掌握什麼是比特幣的地址、公鑰、私鑰,下面我們一個一個來解釋。
地址,就好比是銀行賬(卡)號,在創建數字錢包後就會自動生成,簡單來說,就是創建錢包的時候,先產生一對私鑰和公鑰,然後公鑰通過一套演算法生成地址,這個地址實質上是一串字元,比如。
像銀行賬(卡)號可以用來收款一樣,比特幣地址也可以用來接收比特幣。
這個比特幣地址不單單給你轉幣的人知道,連整個比特幣網路的人都能查看,可以說,全球所有用戶的地址都可以被任何人知道。為什麼這樣說呢?因為比特幣本質就是一個大型的公開賬本,所有交易對所有人都是可見的。而交易記錄中包括了交易流水單號、發幣人的發幣地址、收幣人地址、發幣人的找零地址。
私鑰,可以看作是銀行密碼,是一串很長的由錢包生成的隨機數,比如, LBB9ZXMCJ。私鑰是唯一能夠證明你擁有的比特幣是屬於你的,也只有用私鑰才能轉賬、交易和使用數字錢包里的比特幣。
我們都知道了,銀行密碼絕對不能泄露給別人,私鑰也一樣,打死也不要告訴他人,否則你的比特幣很容易就被轉走。銀行的錢被盜了,因為有國家監管和第三方信用,還有可能被追回,但比特幣是去中心化的,沒有第三方,自己的幣只能自己負責看管,丟了,或被他人轉走了,就永遠拿不回來了。所以千萬千萬不要把私鑰告訴他人,不要把私鑰保存在手機或者電腦上,不要通過網路傳輸你的私鑰,那怎麼辦?記住了,要用筆寫在紙上,寫兩到三份分別放在不同的地方,保管好。
公鑰,顧名思義,是可以公開的,也是像地址和私鑰一樣,是一串長長的字元。公鑰由私鑰通過橢圓曲線加密演算法生成,通過私鑰可以算出唯一一個公鑰,但公鑰不能逆向推導出私鑰。
那到底比特幣地址、公鑰、私鑰在交易中起什麼作用的呢?
首先,錢包通過加密演算法把私鑰加密成字元串(也叫作簽名),然後把這個字元串,和公鑰一起寫到交易信息里,再發給礦工。礦工收到信息後,就會將簽名、公鑰寫入一個驗證函數,如果得出的結果為「true」,那麼這個交易會被確認為真實有效,就能被驗證通過。而結果為「false」,則說明這筆交易存在問題,不能被驗證通過。
通過以上淺顯的文字,希望能幫到你對比特幣的地址、公鑰和私鑰有一個初步的了解吧!感謝你的閱讀!
⑥ bitcoin私鑰是如何產生的
比特幣地址和私鑰是怎樣生成的?比特幣使用橢圓曲線演算法生成公鑰和私鑰,選擇的是secp256k1曲線。生成的公鑰是33位元組的大數,私鑰是32位元組的大數,錢包文件wallet.dat中直接保存了公鑰和私鑰。我們在接收和發送比特幣時用到的比特幣地址是公鑰經過演算法處理後得到的,具體過程是公鑰先經過SHA-256演算法處理得到32位元組的哈希結果,再經過RIPEMED演算法處理後得到20位元組的摘要結果,再經過字元轉換過程得到我們看到的地址。這個字元轉換過程與私鑰的字元轉換過程完成相同,步驟是先把輸入的內容(對於公鑰就是20位元組的摘要結果,對於私鑰就是32位元組的大數)增加版本號,經過連續兩次SHA-256演算法,取後一次哈希結果的前4位元組作為校驗碼附在輸入內容的後面,然後再經過Base58編碼,得到字元串。
⑦ 比特幣錢包能轉讓嗎 私鑰是什麼 安裝了安卓bitcoin軟體 怎麼知道自己的私鑰
錢包的轉讓其實就是把錢包裡面的BTC轉讓,所以直接匯款最方便,可以選擇不付費轉賬,雖然慢一點,但通常可接受。私鑰實際上是一個字元串,簡單這么理解,f(DATA,私鑰)=SecDATA,其中f(x,y)可以是RSA演算法,反過來f(secDATA,公鑰)=DATA,也就是說,你用私鑰加密的數據能且只能被擁有對應公鑰的人解密,你自己也解不了(除非你也有公鑰,當然通常你是有的)這一點除了加密作用還有「防抵賴」作用,如果使用你的公鑰加密一個數據,只有擁有對應私鑰的人能解開,這通常只有私鑰歸屬人一個人擁有。公鑰私鑰對(key pairs)一定是同時產生的,具體在bitcoin軟體中是安裝時候自動產生的,這個私鑰在軟體中會自動使用,但通常還不是直接使用,以為RSA這類非對稱演算法比較消耗資源,所以通常是先用一個對稱演算法加密,再用RSA加密那個對稱演算法的隨機密鑰,然後兩部分加在一起傳輸,所以你所謂知道自己的私鑰也沒有什麼可操作性的必要,除非是研究用,日常的備份工作,軟體中已經處理了密鑰、bitcoin數據鏈的備份,至少windows版是這樣的,用戶只需要備份錢包就相當於導出了全部需要的信息,稍早一點的時候BTC還有個問題,一次備份後,如果你經歷了100次以上的匯款操作,一定要重新備份,否則會丟失BTC,不知道現在是否完全修復了,但多備份一次也不麻煩,而且安全。
⑧ 姣旂壒甯侀挶鍖呮庝箞鏍風敓鎴愮
姣旂壒甯侀挶鍖呮庝箞鐢熸垚縐佸寵
姣旂壒甯侀挶鍖呯敓鎴愮侀掗鐨勮繃紼嬪寘鍚浠ヤ笅鍑犱釜姝ラわ細
棣栧厛錛屾偍闇瑕侀夋嫨涓嬈懼彲淇$殑姣旂壒甯侀挶鍖呰蔣浠躲傛湁璁稿氫笉鍚岀被鍨嬬殑閽卞寘杞浠跺彲渚涢夋嫨錛屼緥濡傦細妗岄潰閽卞寘銆佺Щ鍔ㄩ挶鍖呫佺‖浠墮挶鍖呯瓑絳夈傛偍鍙浠ラ氳繃浜掕仈緗戞悳緔銆佸挩璇㈠叾浠栨瘮鐗瑰竵鐢ㄦ埛鎴栭槄璇繪湁鍏蟲瘮鐗瑰竵閽卞寘璇勬祴鏂囩珷鏉ラ夋嫨涓涓閫傚悎鎮ㄧ殑閽卞寘杞浠躲
涓嬩竴姝ワ紝鎮ㄩ渶瑕佸惎鍔ㄦ偍鐨勯挶鍖呰蔣浠跺苟鍒涘緩涓涓鏂扮殑姣旂壒甯侀挶鍖呫備竴鏃︽偍鍒涘緩浜嗕竴涓鏂伴挶鍖咃紝杞浠跺皢鐢熸垚涓涓鍏閽ュ拰涓涓縐侀掗瀵廣
鍦ㄦ瘮鐗瑰竵緗戠粶涓錛屾瘡涓鐢ㄦ埛閮芥湁涓涓涓庝箣鐩稿叧鐨勫叕閽ュ拰縐侀掗瀵廣傚叕閽ュ氨鍍忎竴涓閾惰岃處鎴鳳紝鍙浠ュ悜鍏朵粬浜哄叕寮灞曠ず錛屼互鎺ユ敹姣旂壒甯佷粯嬈俱傜侀掗鏄涓縐嶇樺瘑浠g爜錛屽彧鏈夋偍鑷宸辯煡閬擄紝鍙浠ョ敤鏉ュ規瘮鐗瑰竵榪涜岀懼悕錛屼粠鑰岃瘉鏄庢偍鏄璇ユ瘮鐗瑰竵鍦板潃鐨勬墍鏈夎呫
閽卞寘杞浠朵嬌鐢ㄩ殢鏈烘暟鐢熸垚鍣ㄦ潵鐢熸垚縐侀掗銆傝繖涓闅忔満鏁扮敓鎴愬櫒鏄鐢遍挶鍖呰蔣浠舵彁渚涚殑錛岀『淇濈侀掗鏄闅忔満鐢熸垚鐨勩佸畨鍏ㄧ殑鍜屼笉鍙棰勬祴鐨勩
縐侀掗鏄鐢變竴涓查殢鏈虹殑鏁板瓧鍜屽瓧姣嶇粍鎴愮殑銆傚湪閽卞寘杞浠朵腑錛屽畠閫氬父浠ヤ竴縐嶇О涓篧IF錛圵alletImportFormat錛夌殑鏍煎紡榪涜屽瓨鍌ㄣ俉IF鏍煎紡鍖呭惈涓涓鐗堟湰瀛楄妭銆佷竴涓鍘嬬緝鏍囧織銆佷竴涓32瀛楄妭鐨勭侀掗鍜屼竴涓鏍¢獙鍜屻傞氳繃WIF鏍煎紡瀛樺偍縐侀掗鍙浠ョ『淇濆叾鏄撲簬澶囦喚鍜屽煎叆鍏朵粬閽卞寘杞浠躲
涓鏃︽偍鐢熸垚浜嗙侀掗錛屾偍搴旇ュ皢鍏跺囦喚鍒頒竴涓瀹夊叏鐨勫湴鏂癸紝渚嬪傜焊璐ㄥ囦喚鎴栫‖浠墮挶鍖呭囦喚銆傝繖鏍鳳紝鍗充嬌鎮ㄧ殑璁$畻鏈烘垨縐誨姩璁懼囪鐩楁垨閬鍙楁崯鍧忥紝鎮ㄤ篃鍙浠ユ仮澶嶆偍鐨勬瘮鐗瑰竵閽卞寘騫惰塊棶鎮ㄧ殑縐侀掗銆傝板緱涓嶈佹妸縐侀掗閫忛湶緇欏叾浠栦漢錛屽洜涓鴻繖鍙鑳戒細瀵艱嚧鎮ㄧ殑姣旂壒甯佽鐩椼
⑨ 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個字元,那麼計算量將無法想像。