月亮链 月亮链
Ctrl+D收藏月亮链

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

作者:

时间:1900/1/1 0:00:00

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

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

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

一、币到底应该放哪里?

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

所以还得靠自己~

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

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

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

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

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

加拿大央行行长:我们已经暂停加息:金色财经报道,加拿大央行行长麦克勒姆:我们已经暂停加息,但这并不意味着我们已经到了(加息周期的)尽头。[2023/5/5 14:43:24]

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

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

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

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

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

序号:3

展示私钥:L4FQDnhczMkRsXn2QJyt8mccgcebGJdofGPExhndVw6MNDpT2Vy8J

地址:1DskWSXjorfV9wgJkhufieFHaZJmuHHFRz

实际私钥是:用展示私钥的最后一位“J”,替换掉序号3的后一位,也就是第4位字母“Q”。所以实际私钥是:

实际私钥:L4FJDnhczMkRsXn2QJyt8mccgcebGJdofGPExhndVw6MNDpT2Vy8

拜登:美国人民和美国企业可以放心,他们的银行存款会在他们需要的时候出现:3月13日消息,硅谷银行爆雷影响正迅速蔓延,拜登当地时间12日晚发推就银行信任危机发声欲提振美国人信心。拜登先是转发美国《纽约时报》报道并发推称,“在我的指示下,耶伦部长和我的国家经济委员会主任与银行监管机构进行合作,以解决硅谷银行和签名银行的问题。我很高兴他们达成了保护工人、小企业、纳税人和我们金融体系的解决方案。”

他随后继续称,“美国人民和美国企业可以放心,他们的银行存款会在他们需要的时候出现。”他还表示:“我坚定承诺,要让那些应该对这场混乱负责的人承担全部责任,并继续努力加强对大型银行的监督和监管,这样我们就不会再次陷入这种境地。”[2023/3/13 13:00:41]

实际私钥和展示私钥间的关系你自己知道就可以了。

脱离钱包工具

脱离上网环境

每次随机输出

纯离线独立操作坏境,天知地知你知其他人都不知。

首先要有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)

Web3资产安全服务商ZKSAFE推出1万美元漏洞赏金活动:12月27日消息,Web3资产安全服务商ZKSAFE推出1万美元漏洞赏金(Bug Bounty)活动,ZKSAFE在推特上公布一个Safebox的地址和私钥,黑客还需要破解对应密码才能取走赏金。

据悉,ZKSAFE创建了一种带有密码+私钥的安全箱,即使私钥被盗,资产仍然安全。用户可以拥有自己的安全箱合约,可以理解为自己的私人银行。据RootData数据显示,该项目于9月完成种子轮融资,NGC资本、Catcher VC、Betterverse Dao、Aperture参投。[2022/12/27 22:09:59]

具体的要点都在代码里作了注释,有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中随机数的具体生成,会略微增加猜到的概率。

纳斯达克计划推出机构加密托管服务:金色财经报道,据The Block援引多位消息人士报道,纳斯达克(Nasdaq)计划推出机构加密托管服务,目前新产品正在等待监管部门的批准。纳斯达克还将建立一个新的加密部门。纳斯达克的计划是,首先开发一种先进的托管解决方案,然后引入流动性和执行服务,以应对随之而来的行业挑战。托管解决方案将在创新技术的帮助下,将加密钱包的所有最佳功能整合在一起。据悉纳斯达克的计划还需得到监管批准。[2022/9/20 7:09:14]

因为Python中随机数生成的逻辑是使用相关时刻作为种子。进一步DIY的方式同样可以参考上一篇文章。

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

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

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

三、清理打印机缓存文档

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

能删就删。

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

services.msc

THORChain宣布主网上线完成,金库控制权将很快移交社区:6月23日消息,跨链DeFi协议THORChain今日宣布主网上线完成,目前已正式进入开发、扩展和采用阶段。THORChain目前正在进一步去中心化,节点运营商已逐步替代中心化的控制,金库的控制权也将很快全部移交给社区。

此外,在接下来的12个月内,大部分RUNE代币归属将锁定在Node的债券中。当价格是历史最高价的1/10时,会解锁RUNE。具体为:2000万个RUNE将被解锁,每3个月解锁20%,持续12个月。4100万个RUNE在Node's Bond中仍被锁定至少12个月。金库将不再向流动性提供者或节点运营商进行退款。重点将仅放在开发、安全性和可扩展性上。[2022/6/23 1:25:52]

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

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

spool

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

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

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

结语

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

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

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

iter_num?=?10

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

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

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

标签:RANANDINTNDOfragransalgorand币种INTOverseMUNDO币

比特币交易热门资讯
BTC:金色早报 | 比尔·盖茨对比特币的看法已转为中立_数字货币和加密货币的区别

头条▌比尔·盖茨对比特币的看法已转为中立2月18日消息,在接受CNBC采访时,微软联合创始人比尔·盖茨(BillGates)透露,他对比特币的看法已经转变为中立:“我没有比特币.

1900/1/1 0:00:00
区块链:孟永辉:公链 区块链的未来和归宿_超级联盟链币怎么获得

每一个人对于区块链认识的不同,最终导致了他们在实践区块链的方式和方法。虽然最近一段时间以来,数字货币的价格不断上涨,但是,依然有人在区块链的道路上执著前行.

1900/1/1 0:00:00
PAY:BitPay集成Apple Pay 为其3.8亿用户提供加密支付服务_APPLE

西班牙加密ATM公司Bitbase计划扩大在欧洲服务范围:金色财经报道,西班牙加密货币ATM公司Bitbase计划在2023年继续扩展其服务.

1900/1/1 0:00:00
区块链:评论:资本之外,区块链破圈正当时_区块链MOVEZ币

本文来源:未央网,作者:孟永辉当比特币的价格一路上涨,它的终极归宿便愈发清晰。归根到底,它只不过是区块链的一个应用场景,一味上涨的价格只会让它不接地气.

1900/1/1 0:00:00
区块链:首发 | 欧易OKEx研究院 :从国际货币体系变迁看数字货币未来影响_SON

近期随着国内DC/EP开始内测,人们对数字货币的关注度有了提高,社会各界也对此展开热议。当前市场上最流行的一种观点是“数字货币可实现数字与权力的映射,获得这个时代的金融控制权”,这也得到了一群加.

1900/1/1 0:00:00
TER:捐出500个BTC,推特CEO联合说唱歌手Jay-Z成立新比特币开发基金Btrust_3X Long Altcoin Index Token

Twitter联合创始人兼首席执行官杰克·多尔西表示,他和著名的说唱歌手杰伊·Z将捐献500个BTC来设置一个新的捐赠基金.

1900/1/1 0:00:00