RAN:巴比特专栏 | 5分钟教你比特币私钥生成与保管的“银行级”方法

作者:汤强,原发于微信公众号:汤强,原题《区块链资产进阶安全课》

区块链资产没有绝对安全一说。

私钥虽然不给别人看,但却是完全公开的,比如比特币私钥,只是一个在0到2的256次方之间的数,当然也别小看这个数,即使谁有当前人类算力的亿万倍,猜到宇宙毁灭,他能猜出一个私钥的概率也不到万亿分之一。这是区块链资产安全的数学根基,而这同时也使保管数字资产不存在绝对的安全,但我们可以在相对层面想办法。

一、币到底应该放哪里?

放交易所?肯定是个办法,不过交易所关闭的风险始终存在。出了问题维权?可以的,但和法院不一定能找到它。

所以还得靠自己~

主流钱包是相对好的管理工具,但钱包文件容易丢失、密码容易被破、硬盘也容易损坏、旧电脑也容易被家人不小心当废品卖掉。

把私钥抄在纸上或者打印出来还算保险,但随着时间推移,空气中的酸性物质会让墨水褪色、纸张碎裂,所以你还得考虑用无酸纸记录。但如果一场地震或火灾同时把密码纸、手机和电脑都烧了,那么要到哪里找回私钥?

你说可以多找几个地方存放备份,但衍生问题又来了:在哪里保管安全?分几份保管合适?——分开保管造成私钥泄露,那币可就丢了。

另外,随着区块链资产增值,现在1万元人民币的比特币,八年后增长到100万也不是没有可能,所以那时你还打算在一个地址上保管这些币?对了,目前为止,没有哪个交易所会把所有的币放在一个地址上。

深想下去你会发现,即使你目前掌控很小的比特币,你也必须进化出银行级的保管方法。

IRS寻求行业合作以提升加密税收合规水平:金色财经报道,美国国税局数字资产倡议项目办公室(DAIPO)最近发布了一份征求来源通知,希望得到行业的合作和帮助,以提高其在确保加密税收合规性方面的水平。据该通知表示,美国国税局希望行业合作伙伴和其他各方能提供解决方案和产品创意,以帮助该机构提高定价和市场数据能力。他们寻求各方的合作和信息来源,并主要关注能提高效率的解决方案,包括识别数字资产交易和交易模式、批量数据分析、计算数字资产活动的税收后果以及评估和分析数字资产交易等。

目前,美国国税局使用一些公共资源来获取数字资产价格,如CoinMarketCap和Investing.com,但他们正在寻找其他能够提供按小时、分钟和秒级别定价数据的供应商。[2023/7/13 10:51:52]

二、相对靠谱的私钥生成方法

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

批量生成加过密的展示私钥和地址,输出到文本文件,任由我们离线打印:

注意,这里的“展示私钥”比一般私钥多1位,所以并不是事实上的私钥,而是经过加密的。如果有人拿走了这张纸,他并不能直接依靠这里的私钥,转走你的币。

因为实际上的私钥是:把展示私钥的最后一位,替换掉序号后的那位字母。我们以第一条记录为例,

Twitter用户:Stargate疑存在漏洞,某巨鲸反复增减流动性以获利:5月25日消息,据Twitter用户\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)

所有主要借贷协议中仅有MakerDAO收入超过了其代币激励:9月29日消息,据token terminal统计,在所有主要的借贷协议中,只有MakerDAO的收入超过了代币激励。据Variant投资合伙人Mason Nystrom分析称,代币激励是一种新的获客成本(CAC)形式。每一美元的代币激励对应一个新客户或费用/收入。项目应确保其代币获取成本(TAC)和代币激励与转速比率在其市场内具有竞争力。[2022/9/29 6:02:10]

具体的要点都在代码里作了注释,有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的方式同样可以参考上一篇文章。

研究显示新加坡是全球对NFT最感兴趣的国家:金色财经报道,Cashnetusa.com的一项新的研究显示,新加坡对“NFT”的搜索量比其他任何国家或地区都多,每百万居民每月搜索量为18,717次。研究人员解释说,目前,黑山被认为是全球最支持NFT的国家,而欧洲国家波兰是反NFT的。波兰每1000条以NFT为主题的推文中有227条被发现是有负面的情绪。(Bitcoin.com)[2022/7/6 1:54:02]

当你试验十次导入私钥到钱包的操作成功、并且备份了一定数量的私钥纸后,你甚至可以直接把交易所的币转入对应的地址保存,完全脱离钱包和网络环境。

当你管理区块链资产的时候,你要把自己当成银行,因为在这个世界没有银行,只有你。

关于打印机不起眼的小提示,可以帮你向银行级的专业更靠拢一点。

三、清理打印机缓存文档

打印机打完私钥文件后,打印的内容可能不会马上消失,会存在缓存里。如果此时连网,还是有泄露文件的风险。虽然我们已经经过加密一环,但在保护私钥方面,我们不能有丝毫放松。

能删就删。

以Window系统为例:Win+R,或者左下角“开始”->“运行”,输入:

services.msc

在服务列表中找到PrintSpooler的服务项,右键->“停止”。

同样Win+R调出运行窗口,输入:

spool

在出现的窗口中,删除PRINTERS文件夹

折返到服务列表,右键PrintSpooler,点“启动”。

打印机缓存问题就解决了,再连网就更安全了。

结语

如果你决定佛系持币,私钥安全是第一要务。

此时此刻,比特币价格突破51,000美元,这只是一个开始。随着币价进一步波动,更为科学的管理方式是分散到更多地址,避免尾部风险。

如果你的持有量足够多,可以上调代码中iter_num的值,如:

iter_num?=?10

一拆十,进一步摊薄风险。

当然,此时每次转账万分之五个币左右的矿工费也是你自己需要权衡的——不仅分拆时要支付一次,再转入交易所卖出时要再支付一次。不过这些费用和长期收益相比,已经是足够小了。

另外,打印私钥纸的份数、在哪里保管不会被火烧水淹,都是值得你思考的严肃问题,这个问题对所有人都很重要,但未必能引起每个人足够的重视。因为有了你DIY的加密函数,所以多打几份问题也不大,只要你自己牢记加密方式。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:394ms