以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

教程 | DIY你自己的比特幣私鑰,更好地保護你的資產_比特幣

Author:

Time:1900/1/1 0:00:00

?背景介紹

本期將向大家介紹這一個有趣的項目,希望本文可以幫助你更好地理解比特幣密鑰。

你需要的東西有:

鉛筆、紙、生成二進制隨機輸出的東西和計算機。

這里的目的是讓你做一些可以幫助你學到很多東西的東西,而不僅僅是閱讀純理論。很重要的是,本期教程體驗十分容易,任何人都可以直接跟著本文的操作一起參與體驗。

原文|ARMANTHEPARMAN

重要的序言

不要將此密鑰用于你實際持有的比特幣。首先請先跟著本文練習。

當你為你實際持有的比特幣制作真正的密鑰時,如果你使用這種方法,你必須在一臺氣密的計算機上制作它。氣密計算機必須沒有連接到互聯網的能力。如果你非常重視安全性,僅暫時關閉普通計算機上的wifi連接是不夠的;因為這世界上存在著聰明的黑客,即使你暫時與互聯網斷開連接,他們也可以提取到你的私鑰。

最后,我將解釋如果你想使用此方法制作真正的鑰匙,接下來該怎么做。

好的,讓我們開始吧!

第1步

生成大的隨機二進制數

你可以擲256次硬幣來獲得隨機數,但我認為使用骰子更快更方便。你可以購買賭場級骰子以確保公平、隨機的擲骰子,但也可以省錢使用任何舊骰子。即使你的骰子并不完美,有一些偏差,但從概率的角度上說,只要你一次多使用幾個,你就會達到足夠的隨機性。

這是眾多操作步驟中的其中一個:

拿四個左右的骰子。將數字1、2或3視為0的輸出,而4、5或6將是1的輸出。這樣,你將獲得帶有骰子的二進制輸出例如:擲3,記錄零;擲6,記錄1。滾動它們并從左到右閱讀。如果是關于哪個更靠左或更靠右,則再次擲骰子。制作23行11位數字。第24行只需要三位數字。對于每一行,將數字分成4-4-3組以便于閱讀和計算。盡可能保持垂直列對齊,并在每行之間留出空間以進行手動計算。這一切都會在以后變得有意義。像這個例子:?

比特幣NFT市場Ordinals Market和Magic Eden已將Bitcoin Apes下架:金色財經報道,據Shilling Pixels在社交媒體上發文表示,“比特幣NFT市場Ordinals Market不得不下架Bitcoin Apes,原因是Yuga Labs的法律團隊采取了行動。”

此前4月12日消息,Magic Eden比特幣NFT市場下架了Bitcoin Apes。

Bitcoin Apes與Yuga Labs在以太坊上的NFT項目BAYC圖像一致,但不屬于Yuga Labs。[2023/4/19 14:13:19]

這里有256個二進制數字——23組完整的11位數字,第24行只需要3位數字。

稍后你會更清楚地看到,但現在,請了解二進制的每11位數字都將被轉換為助記詞。對于總共256個隨機二進制數字,我們可以除以11以獲得助記詞中的單詞數。但是256除以11的答案不是整數;現在是23.27。我們的助記詞中不能有23.27個單詞。

我們還需要8個位來構成第24個字。一旦我們總共有264位,它就可以很好地分成24組,每組11,產生一個24字的助記詞。正如你稍后將看到的,這最后八個額外的位將發揮自己的重要作用。

關于隨機性的說明:

你可以按照任何你想要的方式制作這256位隨機數據,只要它實際上是隨機的。如果它不是隨機的,那么別有用心的人極有可能重現你的數據。然后他們將能夠重新創建你的私鑰并可以拿走你所有的比特幣。

例如,如果你生成256位全為零,那么有人極有可能能夠猜出你的私鑰。

而下方圖示就是證據:我從可怕的全零隨機性中生成了一個私鑰,并找到了某人現有的錢包。如果它沒有被清空,我可能已經竊取了資金。

幣安將在訂單歷史記錄中歸檔未成交的“已取消”和“過期”訂單:金色財經報道,幣安合約將于2023-02-17 08:00(UTC) 在用戶訂單歷史記錄中歸檔狀態為“已取消”或“已過期”的未成交訂單。歸檔完成后,用戶將無法再訪問三天前下達的狀態為“已取消”或“已過期”的未完成訂單。據悉,本次歸檔只會影響訂單歷史查詢,不會影響幣安合約交易。受影響的 API 端點包括:GET /api/v1/訂單、GET /fapi/v1/allOrders API、GET /dapi/v1/訂單、GET /dapi/v1/allOrders API。[2023/2/10 11:58:31]

他們清楚地知道自己在做什么,因為金額很小,而且他們不會長時間在這個地址留下任何比特幣。誰知道呢,這可能是一場示威。但是其他人生成了可猜測的非隨機私鑰,結果導致他們丟失了他們的比特幣。但別擔心,如果你制作了一個真正隨機的私鑰,有人將不得不精確地重復你的二進制擲骰子或擲硬幣,而且由于指數數學,這在宇宙的生命周期中是不會發生的。

第2步

計算校驗和

需要計算最后缺失的八位數字以形成所謂的“校驗和”。

什么是校驗和?

校驗和是計算機在你輸入信用卡號或銀行帳號等信息時知道你輸入錯誤的方式。讓計算機警告你在輸入你的比特幣私鑰時顯示輸入錯誤是一件很有用的事情!

要計算校驗和,你需要一臺Linux或Mac計算機。如果你使用的是Windows10,則可以從MicrosoftStore安裝Ubuntu應用程序。只需搜索“Ubuntu”并安裝它。你將使用Ubuntu終端運行以下命令。該應用程序是一個臨時會話;沒有文件存儲在Ubuntu應用程序上。這意味著你每次運行它時都會得到一個干凈的會話。

數據:11月份全球Web3領域融資總額為10.34億美元,環比增長21.65%:金色財經報道,據財聯社創投通統計,11月份全球Web3.0領域融資總數量為71筆,融資總額為10.34億美元,環比增長21.65%。

從細分賽道來看,13個區塊鏈基礎設施項目獲得4.56億美元,成為融資總額最多的領域。德國3個項目獲得2.11億美元融資;中國10個項目獲得2.04億美元融資,成為融資額增長最多的地區,環比增長超過4倍。從輪次來看,11月份的融資主要集中在種子輪和戰略輪,占比分別43.67%和12.68%。

根據此前財聯社的統計,10月全球Web3市場共融資8.5億美元。[2022/12/8 21:31:10]

Windows用戶需要執行此解決方法,這很麻煩。我嘗試了其他解決方法,但遇到了各種問題。

現在你的Mac、Linux或Windows10機器上有一個終端,輸入下面的命令。用你自己的隨機二進制數字替換我的二進制數字。

echo1010111100111000000011110110001111010111101001010010001011001111011110100011000010100011111100100010100011110001110101000110011111110000101000110001010111010001010011111110101001010011110110110110000001101111010011000001110101101001000010001000010000100111|shasum-a256-0

如果你不習慣命令行,則會很難理解這一點。

我會拼出來:

輸入“echo”,然后是一個空格,然后是一系列沒有任何空格的零和一,然后是一個空格,然后是“管道”符號,然后一個空格,然后是“shasum”命令,一個空格,連字符“a”,一個空格,“256”,一個空格,另一個連字符,然后是零位。然后按。

Coinbase:未持有FTT,在FTX上有價值1500萬美元的存款:11月9日消息,Coinbase官方表示,無論幣安對FTX的收購交易是否完成,Coinbase對FTX的敞口都很少,在FTX上有價值1500萬美元的存款。并未持有FTT,沒有接觸Alameda Research,也沒有向FTX提供貸款。此外,Coinbase表示此事件再次證明強有力且明確的監管對于加密行業至關重要。

Coinbase重申其無任何流動性或信用風險,用戶可在其公開提交的經審計的財務報表中查看Coinbase以1:1的比例持有客戶資產,且擁有56億美元的總可用資產,其中包括50億美元的現金和現金等價物。[2022/11/9 12:36:34]

代碼說明:“echo”命令只會重復你接下來輸入的任何內容。管道符號獲取該輸出并將其傳遞給管道符號右側的命令。比特流的接收者是“shasum”散列命令。“-a”是一個選項,用于指定要使用的算法。“256”代表比特幣世界著名的SHA-256,這是我們對“-a”的選擇。最后,“-0”是一個選項,表示輸入應該被解釋為二進制數據,而不是常規文本數據。

當我運行此命令時,我的結果哈希顯示在命令下。這是以“b184”開頭的行:

現在我們可以開始計算校驗和。我們取散列輸出的前兩位數字,在本例中為“b”和“1”。這些是十六進制數。在十六進制中,我們不顯示從0到9的數字,而是通過使用字母表中的字母表示大于9的數字來數到15:

0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

類似于撲克牌如何使用自己的替換從1到13計數:

Ace,2,3,4,5,6,7,8,9,10,Jack,Queen,King

所以在我的哈希中,我的第一個數字“b”代表11。十六進制中的“1”與我們習慣處理的“1”相同。

美德州監管機構要求破產法院拒絕Celsius將其產出比特幣變現的請求:8月8日消息,美國德州監管機構要求破產法院拒絕Celsius將其產出的比特幣變現的請求,理由是擔心收益將被如何使用。

上周五,在Law360分享的一份正式反對意見中,德克薩斯州證券委員會(SSB)表示,Celsius過去確實涉及“有問題的資產部署決策,包括使用產出的比特幣償還公司間貸款,潛在的管理不善,以及持續未能遵守州監管要求。

Celsius董事會成員補充說,該公司未能概述如何計劃用出售所得收益惠及債權人。(Blockworks)[2022/8/8 12:10:23]

現在我們將這前兩個數字轉換為它們的四位二進制表示。您可以參考下面的圖表來做到這一點:

▲四位二進制中的11是1011。四位二進制中的1是0001。

所以我們從b和1,到11和1,最后到1011和0001。

這些四位數字是我們將添加到位來完成第24個字的校驗和!

將它們添加到第24行以完成最終的11個二進制數字集。那么,你現在總共就會有264位數字

第3步

將二進制轉換為十進制

每組11位二進制數字都需要轉換為十進制數。

限于本期練習,你可以將它們輸入到在線二進制到十進制計算器中。但是,對于你真正的錢包,我將向你展示如何手動操作。

關于二進制

在二進制數系統中,只有0和1。你知道的其他數字不存在。所以向上計數,我們從0開始,然后是1,但下一個數字是不尋常的。沒有可用的“2”。所以1之后的下一個最大數字是“10”。不要讀成“十”,讀成“一,零”。在二進制中,“10”代表你習慣的“2”。10之后的下一個數字是“11”。這等于十進制的“3”。對于下一個數字“12”是不可能的,因為二進制中沒有“2”數字;我們可以用零和一表示的下一個最大數字是“100”。這實際上是十進制的“4”。然后101=5,110=6,111=7,1000=8,1001=9等等。

有11個二進制數字,最小的可能數為零(00000000000),最大的數為2047(11111111111)。

我們將頁面上的這11個二進制數字中的每一個都轉換為十進制。你可以手動完成,也可以在Linux、Mac或Ubuntu應用程序中從命令行轉換它們。

對于數字10101111001,你需要輸入:

echo"$((2#10101111001))"

你會得到“1401”的輸出值。只需更改10101010101以匹配每組十一位數字并計算其等效的十進制數。

1401是怎么來的呢?

下面,我通過紙筆來手動計算一下。

在頁面的頂部,從右到左寫下這個精確的數字序列,與下面的二進制數字垂直對齊:“1024”在二進制數字的第一列上方。然后在下一列中顯示“512”。然后是“256”。以此類推,每次將數字減半,直到二進制數字的最后列上方出現“1”為止。

現在看看你的第一行二進制數字。只要有“1”,就添加它正上方的十進制數,并將其記錄在二進制數字下方。如果有“0”,則忽略上面的數字。像這樣:

在這個例子中,在1024列、256列、64、32、16、8和1下有一個“1”。

將十進制數相加得到總數1401:

現在對所有24行都重復此操作:

你現在將擁有24個介于0和2047之間的十進制數字。

第4步

對應BIP39詞表

BIP39協議指定了2048個不同的單詞,按字母順序列出。當這個列表被代碼讀入時,每個單詞都可以通過它在列表中的有序位置來識別。你剛剛計算的數字將用于查找其對應的單詞。例如,第一行的結果是數字1401,它等于有序BIP39詞表中的“quanlity”一詞。

零是你可以為一行計算的最小可能值。在這種情況下,你將選擇“abandon”,這是列表中的第一個詞。

最大可能的數字是2047。正確的詞是“zoo”,這是列表中的最后一個詞。這是第2047個字。

有一個令人困惑的問題需要注意:計算機從0開始計數項目。所以列表中的第五項是計算機的數字4。

這種額外的混亂是不幸的。BIP39單詞的官方規范在GitHub上,但單詞列表顯示的行號以1開頭而不是0開頭。因此,雖然“abstract”是第8個單詞并列在第8行,但其實際的BIP39數字等效值為7。

我的第一行11個二進制數字加起來是1401十進制。所以在Github的列表中,我必須在第1402行找到這個詞。這個詞就是“quanlity”。繼續查找每個小數點——注意在你的計算結果中添加一個額外的1以匹配Github的行號——并找到?24?行中每一行的單詞。

如果你堅持做到了這一步,那就太好了!

你現在擁有一個有效的24字比特幣助記詞。你現在應該把它扔掉——除非你使用完全手動的方法,否則你不能將它們用于你的比特幣,因為它們不是在安全的環境中創建的!

其實,在你扔之前,你可以把這些詞輸入硬件錢包或軟件錢包,看看它們是否被拒絕。如果它被拒絕,則說明你在某處犯了錯誤,因為使用這種手動方法很容易產生錯誤。如果任何地方有任何錯誤,校驗和將不匹配,所有錢包都會立即發出錯誤信號。

實踐到真實的比特幣私鑰

你確實需要在氣密計算機上生成密鑰。

你可以在此處學習構建10美元的廉價RaspberryPi零氣隙計算機,購買一臺現成的計算機,或者如果你有多余的錢,你可以構建一臺沒有任何wifi或藍牙組件的定制臺式計算機。RaspberryPi這個選項非常便宜,但計算機速度非常慢,因此請注意。如果你想在多重簽名設置中擁有許多分布式密鑰,那它是很好的選擇。

除了安全生成密鑰之外,你還必須考慮存儲和復制或分發。

為了大幅降低你遭受攻擊或丟失的風險,下一個級別是學習多重簽名錢包。

如果你處于存儲的單一簽名密鑰階段,那么你真的應該將助記詞保存在硬件設備中。大多數人讓硬件錢包(HWW)制作他們的密鑰,而從不在氣密計算機上驗證該密鑰。這對大多數人來說沒問題。但是,如果你是偏執狂,你應該驗證密鑰是否生成了你期望的公鑰和地址。

既然你知道如何安全地制作自己的密鑰,你就不必相信HWW來生成好的密鑰。你首先自己制作一個新密鑰,然后不是在硬件設備上創建新錢包,而是“恢復”錢包并將新計算的單詞輸入設備。然后這些詞會在HWW中“鎖定”并受你的PIN保護。

因此,硬件設備是你私鑰的數字保險箱。

你永遠不應該只有一份你的私鑰。如果你丟失了它,你將丟失密鑰存儲的所有比特幣。從技術上講,設備中沒有比特幣;他們在區塊鏈上。正如我所說,硬件錢包是你的私鑰的數字保險箱,由你剛剛制作的單詞表示。

HWW中的代碼使用數學函數從私鑰計算你的擴展公鑰,然后從擴展公鑰以數學方式推導出許多單獨的公鑰。然后每一個都可以用來計算看似無限的地址集合。一切都在私鑰的下游。你可以在不同的設備中輸入您的私鑰,并可靠地生成完全相同的公鑰和地址集合。更多細節在這里。

這么說的目的是讓你意識到比特幣就好像存儲在你創建的24個字上一樣——而不是硬件錢包。你應該非常非常小心地備份這些話,讓他們免受小偷和自然災害的傷害。如果你制作副本并將它們存儲在不同的位置,那么在一個位置發生火災不會導致你丟失所有比特幣,因為你將在其他地方擁有副本。

私鑰傳遞和保存

一旦你擁有在氣密計算機上生成的密鑰并非常安全地備份它們,就該考慮如何將它們傳遞給你的后代了。

有受信任的第三方可以持有你的密鑰,或者你可以以無需信任的方式制定計劃——我的首選。我很樂意幫助有需要的人。

HappyBitcoining.

Tags:比特幣OINCOINCOI萊特幣和比特幣的關系pottercoinfatcoindogecoin幣肌肉狗

萊特幣價格
從NFT作品的“瘋狂”看,面對“新事物”的投資觀_區塊鏈

8月25日,知名的數字貨幣投資基金Dragonfly創始人、著名的互聯網投資人馮波,被報道以1600個ETH的價格購買了第7252號加密朋克.

1900/1/1 0:00:00
2021年區塊鏈游戲公司Top5,Axie Infinity僅排第二_區塊鏈

?鏈集市?·讓區塊鏈落地更簡單 《區塊鏈行業觀察》專欄·第45?篇作者丨Eports.net 圖片丨來源于網絡 編者注:原報告來自www.esports.net.

1900/1/1 0:00:00
虛擬機科普專欄 | Rust智能合約的應用_ASM

往期“智能合約執行引擎的前世今生”、“熟悉的新朋友-鏈上JVM”中,我們介紹了智能合約的起源,以及自研的可以執行Java智能合約的執行引擎HVM.

1900/1/1 0:00:00
萬向行業研報 | 分布式認知工業互聯網平臺如何賦能企業數字化轉型?_區塊鏈

由萬向區塊鏈實驗室舉辦的第七屆區塊鏈全球峰會,以“數字化轉型”為主題,將于9月14日-15日在上海外灘W酒店舉行.

1900/1/1 0:00:00
Charles Hoskinson在Twitter上展示Cardano生態系統在過去三個月中的增長_CHA

巴比特訊,IOG首席執行官CharlesHoskinson在Twitter上展示了Cardano生態系統在過去三個月中的增長.

1900/1/1 0:00:00
教程丨接受加密支付?如何將DNS域名變成ETH地址_ENS

撰文:WilliamM.Peaster本文編譯自Bankless加密地址并非人性化設計。把錢寄到我的ETH地址,它是0x123asd1231……想象一下,這必須大聲說出來?顯然不能.

1900/1/1 0:00:00
ads