㈠ 關於錢包助記詞
昨天發生了用戶在eostea注冊賬號後私鑰被盜的事件,原因據說是eostea為用戶提供了助記詞功能,用戶可以自己選擇助記詞,如果用戶不輸入助記詞,就會生成一個默認的私鑰。這樣的私鑰誰都算得出來,用戶的賬號當然就很容易被控制了。
如果這事屬實,說明eostea乾的活太不專業了:助記詞不該由用戶輸入。實際上,錢包提供助記詞功能是有一套標準的,那就是比特幣的BIP39。讓用戶輸入助記詞,很容易產生碰撞,就是說不同的賬號使用同樣的私鑰,這是必須避免的。解決的方法是,助記詞必須來自一個標準的2048個單詞的詞庫( https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt ),給用戶提供的12個助記詞(也可以是24個)是系統用強隨機函數生成,以保證每個賬戶取得的助記詞都不相同。當用戶導入助記詞時,錢包要檢查用戶輸入的12個單詞是否來自2048詞庫,不是則拒絕生成私鑰。
對於人類來說,記住那一長串私鑰太難了,記助記詞相對簡單些,很多人喜歡用助記詞。從 助記詞 到 種子 再到 最終的私鑰 也是有一套標準的,那就是BIP44(HD錢包)。簡單點說,BIP44的關鍵是私鑰的推導路徑(derived path),不同幣種按照不同的路徑生成自己的私鑰,BIP44規定比特幣的路徑是m/44'/0'/0'/0,以太幣是m/44'/60'/0'/0,EOS是m/44'/194'/0'/0。只要錢包遵守BIP44,那麼相同的助記詞在不同的錢包APP里會算出相同的私鑰,保證了錢包的兼容性。而且如果用戶有多個幣種的話,記住一套助記詞就可以了,錢包隨時隨地能為用戶生成相應的私鑰。
GREATWALLET錢包嚴格遵循BIP44、BIP39標准為用戶生成助記詞,記住一套助記詞,省去記多個幣種私鑰的麻煩,非常方便實用。歡迎使用GREATWALLET錢包,訪問 http://greatwallet.io 或者 https://greatwallet.io .目前它對手機瀏覽器支持得還不夠好,請使用桌面瀏覽器。
關於GREATWALLET錢包, 這里 有一篇簡單的介紹。
(文中如有錯誤請同行指正)
㈡ 比特幣的 分裂性是什麼
比特幣是似意幣在國內禁止交易,在國外是交易比較活躍的貨幣
㈢ 比特幣VS比特幣現金,究竟應該選哪個
比特幣現金
英文名:Bitcoin Cash(BCC)/BCH
發行時間:2017-07-24
上架交易所:93家
2017年7月21日,比特幣分叉方案BIP91已經獲得全網算力支持,一致同意先進行隔離見證升級,並在之後的6個月內把底層區塊鏈的區塊大小升級至2M。然而「攪局者」出現了——挖礦巨頭比特幣大陸旗下的礦池ViaBTC准備了一套硬分叉的體系,基於比特幣的原鏈推出「比特幣現金」。
2017年8月1日20時20分,比特幣現金開始挖礦,這是比特幣的新的分支還是另外一種「山寨幣」,業內論調不一,但是此前BCC提前報價已經達到2000元,也就是已經超過比特幣價格的十分之一。
比特幣現金修改了比特幣的代碼,支持大區塊(將區塊大小提升至8M),不包含SegWit功能,是BitcoinABC方案產生的區塊鏈資產。
比特幣現金是比特幣的一個分叉幣,比特幣的分叉幣是在2017年走紅,當時分叉出了很多幣種,這些分叉幣確實在性能等方面優於比特幣,但是畢竟是「比特幣的兒子」行業內專業人士普遍認為分叉幣具有中心化的特性,故不看好。比特幣作為數字貨幣領域的幣王的地位是很難被撼動的,至少現階段還是如此。
㈣ 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個字元,那麼計算量將無法想像。
㈤ 一文看懂錢包助記詞和根私鑰的關系
在最近的《區塊鏈核心成員》的課程答疑中,講師講的最多的還是加密貨幣的密碼機制。其中有好幾個問題是關於私鑰和助記詞的。比如:
簡單地說,私鑰就是一個256位的隨機數。這個隨機數的產生是錢包功能之一。也就是說,錢包內置了密碼級別的隨機數產生器,保證產生的隨機數是沒有規律可循的,也就是說不易破解的。注意錢包是在用戶終端運行的,產生的私鑰就保存在用戶終端,不會也不應該上傳給錢包公司。這一點非常重要。大家盡量要使用開源的,被公開考驗過的錢包軟體,保證安全。
進一步說,現在的絕大多數錢包都是確定性錢包,它首先產生一個根私鑰,而後根據這個根私鑰可以產生無數的派生私鑰,我們的錢包地址就是這些派生私鑰所對應的公鑰經過運算得到的地址。演算法是固定的,因此地址也就是固定的。那麼,這里,最重要的就是根私鑰了。因為有了根私鑰,根據固定的演算法,就可以求出派生私鑰,一切都可以簡單地計算出來。
這里注意,根私鑰不一定要是256位的。可以是128位,或196位或其他位數,只要強度足夠大(一般要求至少128位)就行,而由其計算出來的派生私鑰則一定是256位的。
根私鑰與助記詞是一一對應的關系。也就是說一個根私鑰就對應一組助記詞,一組助記詞也對應一個根私鑰。兩者可以簡單運算出來。
根私鑰與助記詞之間的對應關系可以查看 BIP39 (BIP的意思是比特幣的改進建議,BIP39是正式發布的第39號建議)。BIP39是一部字典,這個字典有各種語言版本,我們最感興趣的就是中文版了。當然還有英文,韓文,德文,法文,日文等等。這個字典什麼樣呢?很簡單,每本字典都是一個模子,都包含2048個常用字(比如中文版)或單詞(比如英文版),不多不少,就是2048個。每個字都有一個編號,從0到2047,就這么多。其他啥也沒有。
那麼這個字典表示什麼呢?就是表示一個對應關系,也就是說通過字可以查編號,或者通過編號可以查到字。
好了,學過計算機或者了解2進制的朋友,當然知道2048(0~2047)意味著什麼,很簡單,就是2的11次方,也就是說11位2進制數可以表示0到2047。其實這就是助記詞和根私鑰的關系。
也就是說每一個字表示一個11位2進制數,或者說一個11位2進制數通過查字典就知道它表示哪個字。舉個例子來說,我們產生了一個128位的根私鑰,這樣從頭開始,每11位11位地分開,這樣我們就有了11個11位二進制碼,還剩下7位,咋辦?好辦。把最後7位也湊成11位就行了,差4位就補上。這4位正好可以為128為做校驗來保證正確性。整個過程是這樣:
那助記詞回推私鑰也就簡單了,這樣:
更多細節可以參看我的文章:
數字貨幣入門 之 錢包原理及錢包安全
㈥ 比特幣的九個種子是什麼
是由罩州12、15、18、21或24個單純悶穗片語成的隨機單詞序列。這些單詞是從一個叫做BIP39的標准中派生出來的,用於創建比特幣錢包的助記做卜詞。這些助記詞可以用作比特幣錢包的備份,在需要的時候恢復錢包。
㈦ IP52是什麼意思
BIP52是比特幣改進提案(BIP)中的一個,它提出了一種新的方法來管理比特幣地址。BIP52提出了一種新的方法,即使用派生地址,可以更安全地管理比特幣地址。BIP52的目的是提高比特幣地址的安全性,並減少灶猜比特幣地址豎辯鎮的數量。BIP52的實現方式是,使用一個主地址,然後從主地址派生出多個子地址,這樣可以減少比特幣地址的數量,同時也可以提高余粗比特幣地址的安全性。
㈧ bip漢語是什麼意思
abbr. 英國國際影業公司(British International Pictures);比特間插奇偶校驗(Bit Interleaved Parity);基本影像資料(Basic Imaging Profile);(美國)國際影業公司(Boxoffice International Pictures)
國內生產總值
結合蛋白
㈨ 什麼比特幣錢包安全
比特幣錢包有很多種,冷錢包是最安全的
㈩ BIP39:助記詞
BIP39是SEED的生成演算法.如果你用過比特幣錢包應用,很可能它會為你生成一個助記符。這樣的助記符可以用來替代私鑰,並且可以被用於生成私鑰。用「有意義的」助記詞代替無意義的數字,也就是「密語種子」,密語種子更加便於記憶和抄錄,它可以轉化成適用於BIP32的「數字種子」。構造Script.ScriptType.P2PKH類型的鑰匙串KeyChainGroup
DeterministicSeed 第三個參數是密碼,默認為空,試著自己加了密碼也ok,總之不影響隨機熵的創建。從SecureRandom創建隨機熵
對string集合進行加鹽操作,salt隨機,用PBKDF2SHA512加密演算法加密.
PBKDF2SHA512 助記詞+鹽進行2048次sha256每次產生的seed都是不同的!
https://iancoleman.io/bip39/?#english 翻牆查看,把 mnemonic code 記錄下來好好保存,就會是一個冷錢包(指不連網路的錢包,所以安全很多)。可以使用產生出來的 address 收送錢。