加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > Fil > Info

巴比特專欄 | 5分鐘教你比特幣私鑰生成與保管的“銀行級”方法_RAN:DINT幣

Author:

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

作者:湯強,原發于微信公眾號:湯強,原題《區塊鏈資產進階安全課》

區塊鏈資產沒有絕對安全一說。

私鑰雖然不給別人看,但卻是完全公開的,比如比特幣私鑰,只是一個在0到2的256次方之間的數,當然也別小看這個數,即使誰有當前人類算力的億萬倍,猜到宇宙毀滅,他能猜出一個私鑰的概率也不到萬億分之一。這是區塊鏈資產安全的數學根基,而這同時也使保管數字資產不存在絕對的安全,但我們可以在相對層面想辦法。

一、幣到底應該放哪里?

放交易所?肯定是個辦法,不過交易所關閉的風險始終存在。出了問題維權?可以的,但和法院不一定能找到它。

所以還得靠自己~

主流錢包是相對好的管理工具,但錢包文件容易丟失、密碼容易被破、硬盤也容易損壞、舊電腦也容易被家人不小心當廢品賣掉。

把私鑰抄在紙上或者打印出來還算保險,但隨著時間推移,空氣中的酸性物質會讓墨水褪色、紙張碎裂,所以你還得考慮用無酸紙記錄。但如果一場地震或火災同時把密碼紙、手機和電腦都燒了,那么要到哪里找回私鑰?

你說可以多找幾個地方存放備份,但衍生問題又來了:在哪里保管安全?分幾份保管合適?——分開保管造成私鑰泄露,那幣可就丟了。

另外,隨著區塊鏈資產增值,現在1萬元人民幣的比特幣,八年后增長到100萬也不是沒有可能,所以那時你還打算在一個地址上保管這些幣?對了,目前為止,沒有哪個交易所會把所有的幣放在一個地址上。

Celsius開始出售山寨幣,包括127萬枚LINK、283萬枚SNX、445萬枚1INCH等:金色財經報道,據Lookonchain監測,Celsius開始出售山寨幣,其中:127萬枚LINK(850萬美元)、283萬枚SNX(784萬美元)、12597枚BNB(300萬美元)、445萬枚1INCH(226萬美元)、853萬枚ZRX(190萬美元)和43.9萬枚FTT(71.3萬美元)被轉移至FalconX;186,149枚BONE(23.5萬美元)被存入歐易OKX。[2023/7/17 10:59:27]

深想下去你會發現,即使你目前掌控很小的比特幣,你也必須進化出銀行級的保管方法。

二、相對靠譜的私鑰生成方法

如果有一種方法,能批量打印加密私鑰就好了~比如:

批量生成加過密的展示私鑰和地址,輸出到文本文件,任由我們離線打印:

注意,這里的“展示私鑰”比一般私鑰多1位,所以并不是事實上的私鑰,而是經過加密的。如果有人拿走了這張紙,他并不能直接依靠這里的私鑰,轉走你的幣。

因為實際上的私鑰是:把展示私鑰的最后一位,替換掉序號后的那位字母。我們以第一條記錄為例,

序號:3

展示私鑰:L4FQDnhczMkRsXn2QJyt8mccgcebGJdofGPExhndVw6MNDpT2Vy8J

數據:ETH已實現上限達到1個月高點:金色財經消息,據Glassnode數據顯示,ETH已實現上限剛剛達到1個月高點,數額為164,198,299,518.97美元。[2023/1/25 11:29:17]

地址:1DskWSXjorfV9wgJkhufieFHaZJmuHHFRz

實際私鑰是:用展示私鑰的最后一位“J”,替換掉序號3的后一位,也就是第4位字母“Q”。所以實際私鑰是:

實際私鑰:L4FJDnhczMkRsXn2QJyt8mccgcebGJdofGPExhndVw6MNDpT2Vy8

實際私鑰和展示私鑰間的關系你自己知道就可以了。

脫離錢包工具

脫離上網環境

每次隨機輸出

純離線獨立操作壞境,天知地知你知其他人都不知。

首先要有Python3的環境,并且pip安裝好bitcoin模塊,如果你一下子理解不了下面的代碼,可以參考上一篇文章《Python:三行代碼自制比特幣私鑰》,理解核心代碼。

準備工作好后,直接復制粘貼下面這段代碼到Python代碼框,保存后按F5鍵運行。結果會以txt文本文件的形式,輸出到你Python文件的默認路徑下,供離線打印。

#?區塊鏈資產進階安全課#?比特幣私鑰生成和保管的銀行級方法#?微信公眾號:湯強#?導入工具包import?randomimport?stringimport?bitcoin#?這里設置一口氣需要出幾個私鑰iter_num?=?3??#?隨機數生成函數————#?生成一個由0和1組成的n位的字符串,n在這里設置為256,如01010100111……def?random_01(n):????result?=?????for?i?in?range(n):????????i?=?random.randint(0,1)????????result.append(i)????????result_txt?=?????return?''.join(result_txt)#?隨機數處理函數————讓隨機之外還有隨機#?你可以在這步手動更改def?dep_k_2(k_2):????k_2?=?k_2?+?str(random.randint(0,1))?+?str(random.randint(0,1))????return?k_2#?私鑰集生成函數#?轉換路徑:#????1、加工后的256位二進制隨機數k_2#?->?2、等于k_2的十進制數k_10#?->?3、私鑰k?->?4、公鑰K??->?5、地址A?->?6、加密私鑰kkdef?prod_key(iter_num):??????for?i?in?range(iter_num):????????#?生成一個1-50之間的整數,用于后續加密????????random_int?=?random.randint(1,50)????????#?生成256位的0和1組成的二進制字符串????????k_2?=?random_01(256)????????#?進一步處理下上行代碼生成的字符串,讓隨機更隨機???????????k_2?=?dep_k_2(k_2)????????#?生成用于可公開打印的私鑰隨機字母r????????#?r的取值范圍是26個大小寫英文字母和10個阿拉伯數字????????r?=?random.sample(string.ascii_letters?+?string.digits,?1)????????if?len(str(k_2))==256:???????????????#?檢查字符是否是256位????????????k_10?=?int('0b'?+?str(k_2),?2)???#?二進制數k_2轉為十進制k_10????????????k?=?bitcoin.encode_privkey(k_10,?'wif_compressed')?#?生成私鑰k????????????K?=?bitcoin.privkey_to_pubkey(k)?#?生成公鑰K????????????A?=?bitcoin.pubkey_to_address(K)?#?生成地址A????????????#?生成打印私鑰kk????????????kk?=?k+?r?+k?+?k????????????#?生成可打印文本txt????????????txt?=?"序號:{}\n展示私鑰:{}\n地址:{}\n".format(random_int,?kk,?A)????????else:?????????????print('Not?256?bits')???????????#?若不是256位,則打印報錯信息????????#?生成打印文件,第二參數'a'代表追加????????txt_file?=?open('key.txt',?'a')?????????????#?打印到文件key.txt中????????print(txt,?file=txt_file)????????????????#?關閉文件????????txt_file.close()#?整個文件需要執行的函數if?__name__?==?'__main__':????prod_key(iter_num)

Oasis Labs宣布與Equifax達成合作:10月26日消息,隱私計算網絡Oasis Network開發商Oasis Labs宣布與全球數據、分析和技術公司Equifax建立合作伙伴關系,本次合作旨在共同為Web3經濟提供鏈上KYC解決方案。[2022/10/26 11:45:29]

具體的要點都在代碼里作了注釋,有Python經驗的讀者可以DIY專屬你的代碼。比如隨機數處理函數,可以略作改動,變化出屬于你設定的隨機,比如:

def?dep_k_2(k_2):????k_2?=?k_2?\???????????+?str(random.randint(0,1))?\???????????+?str(random.randint(0,1))?\???????????+?str(random.randint(0,1))????return?k_2

這段代碼的意思是:把原來自動生成的隨機數最后三位截除后,然后添加三位隨機數,讓隨機數更隨機。當然這里并不是絕對的真隨機,但用在離線加密私鑰生成場景,是絕對足夠了。

建議有能力的讀者自己DIY一下dep_k_2()函數,否則黑客看到這篇文章,如果他了解Python中隨機數的具體生成,會略微增加猜到的概率。

因為Python中隨機數生成的邏輯是使用相關時刻作為種子。進一步DIY的方式同樣可以參考上一篇文章。

當你試驗十次導入私鑰到錢包的操作成功、并且備份了一定數量的私鑰紙后,你甚至可以直接把交易所的幣轉入對應的地址保存,完全脫離錢包和網絡環境。

Fantom已集成Chainlink Keepers和Chainlink VRF:6月29日消息,Fantom已集成Chainlink Keepers和Chainlink VRF,以允許開發人員構建更復雜的DeFi應用程序。其中Chainlink Keepers是一種去中心化交易自動化服務,可以使開發人員能夠使用自定義觸發器自動化任何智能合約功能;ChainlinkVRF則利用了可驗證的隨機性來幫助保護NFT鑄造、生成公平的游戲內結果、為特定任務隨機選擇治理參與者等,并支持DeFi、NFT、DAO等其他用例。[2022/6/29 1:39:37]

當你管理區塊鏈資產的時候,你要把自己當成銀行,因為在這個世界沒有銀行,只有你。

關于打印機不起眼的小提示,可以幫你向銀行級的專業更靠攏一點。

三、清理打印機緩存文檔

打印機打完私鑰文件后,打印的內容可能不會馬上消失,會存在緩存里。如果此時連網,還是有泄露文件的風險。雖然我們已經經過加密一環,但在保護私鑰方面,我們不能有絲毫放松。

能刪就刪。

以Window系統為例:Win+R,或者左下角“開始”->“運行”,輸入:

services.msc

幣安CEO:幣安上的比特幣取款暫時暫停:6月13日消息,交易平臺幣安CEO趙長鵬在推特發文稱,由于交易停滯導致積壓,幣安上的比特幣取款暫時暫停,預計將在30分鐘內恢復提款。[2022/6/13 4:23:14]

在服務列表中找到PrintSpooler的服務項,右鍵->“停止”。

同樣Win+R調出運行窗口,輸入:

spool

在出現的窗口中,刪除PRINTERS文件夾

折返到服務列表,右鍵PrintSpooler,點“啟動”。

打印機緩存問題就解決了,再連網就更安全了。

結語

如果你決定佛系持幣,私鑰安全是第一要務。

此時此刻,比特幣價格突破51,000美元,這只是一個開始。隨著幣價進一步波動,更為科學的管理方式是分散到更多地址,避免尾部風險。

如果你的持有量足夠多,可以上調代碼中iter_num的值,如:

iter_num?=?10

一拆十,進一步攤薄風險。

當然,此時每次轉賬萬分之五個幣左右的礦工費也是你自己需要權衡的——不僅分拆時要支付一次,再轉入交易所賣出時要再支付一次。不過這些費用和長期收益相比,已經是足夠小了。

另外,打印私鑰紙的份數、在哪里保管不會被火燒水淹,都是值得你思考的嚴肅問題,這個問題對所有人都很重要,但未必能引起每個人足夠的重視。因為有了你DIY的加密函數,所以多打幾份問題也不大,只要你自己牢記加密方式。

Tags:RANANDINTNDOGRANX幣OceanlandDINT幣MANDOX價格

Fil
紐約梅隆銀行宣布要支持比特幣服務后,美國SEC官員表示監管壓力越來越大_加密貨幣:INTER

概要: 美國證券交易委員會(SEC)“加密媽媽”海絲特?皮爾斯在接受采訪時表示,紐約梅隆銀行的加密貨幣服務計劃,讓美國監管機構不得不加快明確監管方向.

1900/1/1 0:00:00
首發 | 歐易OKEx Researsh:比特幣市值破萬億吊打騰訊特斯拉 距離超越黃金還遠嗎?_比特幣:區塊鏈的幾個大騙局是真的嗎

一夜之間,比特幣突破5.5萬美金,躋身萬億美元市值俱樂部。 來源:歐易OKEx 據歐易OKEx行情顯示,比特幣于2月19日晚間持續上攻,連破53000、54000、55000美元關口,次日早間最.

1900/1/1 0:00:00
萬億比特幣的詩和遠方_比特幣:dynamiccoin

核財經APP深核報道?2018年8月2日,蘋果公司奪得全球首家市值破萬億美元的桂冠。兩年多時間過去后,加密市場上演了一場新的故事.

1900/1/1 0:00:00
萬字報告詳解:數字人民幣產業圖景_數字人:區塊鏈

摘要 數字人民幣,又稱中國央行數字貨幣、DC/EP、e-CNY,是由中國人民銀行發行的數字形式的法定貨幣,由指定運營機構參與運營并向公眾兌換,以廣義賬戶體系為基礎,支持銀行賬戶松耦合功能.

1900/1/1 0:00:00
Filecoin不可續期算力有何影響?_FIL:Melecoin

從2020年8月25日Filecoin太空競賽1截止到現在,已經有5個多月了。我們都知道扇區生命周期是180至540天,而2020年11月24日是個分水嶺,在此之前的扇區是不可續期的,因而未來會.

1900/1/1 0:00:00
評論:比特幣劇烈震蕩反映美國金融體系不穩定性日益升高_比特幣:央行為何急于搞數字貨幣

本文來源:《21世紀經濟報道》社論比特幣成為當下金融市場的焦點,自上周突破1萬億美元市值后,價格繼續快速上漲.

1900/1/1 0:00:00
ads