?背景介绍
本期将向大家介绍这一个有趣的项目,希望本文可以帮助你更好地理解比特币密钥。
你需要的东西有:
铅笔、纸、生成二进制随机输出的东西和计算机。
这里的目的是让你做一些可以帮助你学到很多东西的东西,而不仅仅是阅读纯理论。很重要的是,本期教程体验十分容易,任何人都可以直接跟着本文的操作一起参与体验。
原文|ARMANTHEPARMAN
重要的序言
不要将此密钥用于你实际持有的比特币。首先请先跟着本文练习。
当你为你实际持有的比特币制作真正的密钥时,如果你使用这种方法,你必须在一台气密的计算机上制作它。气密计算机必须没有连接到互联网的能力。如果你非常重视安全性,仅暂时关闭普通计算机上的wifi连接是不够的;因为这世界上存在着聪明的黑客,即使你暂时与互联网断开连接,他们也可以提取到你的私钥。
最后,我将解释如果你想使用此方法制作真正的钥匙,接下来该怎么做。
好的,让我们开始吧!
第1步
生成大的随机二进制数
你可以掷256次硬币来获得随机数,但我认为使用骰子更快更方便。你可以购买级骰子以确保公平、随机的掷骰子,但也可以省钱使用任何旧骰子。即使你的骰子并不完美,有一些偏差,但从概率的角度上说,只要你一次多使用几个,你就会达到足够的随机性。
这是众多操作步骤中的其中一个:
拿四个左右的骰子。将数字1、2或3视为0的输出,而4、5或6将是1的输出。这样,你将获得带有骰子的二进制输出例如:掷3,记录零;掷6,记录1。滚动它们并从左到右阅读。如果是关于哪个更靠左或更靠右,则再次掷骰子。制作23行11位数字。第24行只需要三位数字。对于每一行,将数字分成4-4-3组以便于阅读和计算。尽可能保持垂直列对齐,并在每行之间留出空间以进行手动计算。这一切都会在以后变得有意义。像这个例子:?
AMC与Hares合作推出首个生态应用游戏《野兔星球》:据官方消息,AMC和Hares团队合作,推出首个生态应用游戏《野兔星球》。 该游戏将为用户提供沉浸式的元宇宙体验和生态通证AMC。将增强AMC社区的互动和娱乐体验,丰富AMC的生态系统。双方的合作不仅为AMC的用户提供了更好的生态体验,同时也为Hares团队在区块链游戏领域的发展带来新机遇。[2023/7/7 22:24:17]
这里有256个二进制数字——23组完整的11位数字,第24行只需要3位数字。
稍后你会更清楚地看到,但现在,请了解二进制的每11位数字都将被转换为助记词。对于总共256个随机二进制数字,我们可以除以11以获得助记词中的单词数。但是256除以11的答案不是整数;现在是23.27。我们的助记词中不能有23.27个单词。
我们还需要8个位来构成第24个字。一旦我们总共有264位,它就可以很好地分成24组,每组11,产生一个24字的助记词。正如你稍后将看到的,这最后八个额外的位将发挥自己的重要作用。
关于随机性的说明:
你可以按照任何你想要的方式制作这256位随机数据,只要它实际上是随机的。如果它不是随机的,那么别有用心的人极有可能重现你的数据。然后他们将能够重新创建你的私钥并可以拿走你所有的比特币。
例如,如果你生成256位全为零,那么有人极有可能能够猜出你的私钥。
而下方图示就是证据:我从可怕的全零随机性中生成了一个私钥,并找到了某人现有的钱包。如果它没有被清空,我可能已经窃取了资金。
他们清楚地知道自己在做什么,因为金额很小,而且他们不会长时间在这个地址留下任何比特币。谁知道呢,这可能是一场示威。但是其他人生成了可猜测的非随机私钥,结果导致他们丢失了他们的比特币。但别担心,如果你制作了一个真正随机的私钥,有人将不得不精确地重复你的二进制掷骰子或掷硬币,而且由于指数数学,这在宇宙的生命周期中是不会发生的。
零知识证明公司RISC Zero与L2协议Layer N联合推出零知识欺诈证明系统:5月24日消息,零知识证明初创公司RISC Zero宣布与模块化L2协议Layer N联合推出零知识欺诈证明系统。该系统通过将Layer N的执行环境移植到RISC Zero的zk虚拟机上,以实现提升区块链性能的同时,保证区块链的可靠性和安全性。未来,zkVM还将实现与其他执行层的兼容,如EVM、SVM和WASM等。
此前报道,去年8月,零知识证明初创公司RISC Zero宣布完成1200万美元种子轮融资,Bain Capital Crypto领投。[2023/5/24 22:15:02]
第2步
计算校验和
需要计算最后缺失的八位数字以形成所谓的“校验和”。
什么是校验和?
校验和是计算机在你输入信用卡号或银行帐号等信息时知道你输入错误的方式。让计算机警告你在输入你的比特币私钥时显示输入错误是一件很有用的事情!
要计算校验和,你需要一台Linux或Mac计算机。如果你使用的是Windows10,则可以从MicrosoftStore安装Ubuntu应用程序。只需搜索“Ubuntu”并安装它。你将使用Ubuntu终端运行以下命令。该应用程序是一个临时会话;没有文件存储在Ubuntu应用程序上。这意味着你每次运行它时都会得到一个干净的会话。
Windows用户需要执行此解决方法,这很麻烦。我尝试了其他解决方法,但遇到了各种问题。
现在你的Mac、Linux或Windows10机器上有一个终端,输入下面的命令。用你自己的随机二进制数字替换我的二进制数字。
echo1010111100111000000011110110001111010111101001010010001011001111011110100011000010100011111100100010100011110001110101000110011111110000101000110001010111010001010011111110101001010011110110110110000001101111010011000001110101101001000010001000010000100111|shasum-a256-0
Kyber Network将于5月24日重启KyberSwap Elastic:5月20日消息,链上流动性协议Kyber Network发推称,将于5月24日重新启动KyberSwap Elastic,届时将会提供升级的智能合约、新的审计与额外的安全措施。本次有限的重新启动将增加LM奖励,流动性挖矿与其他奖励还将包括来自Arbitrum分配的116万枚ARB、Optimism分配的25万枚OP、Avalanche分配的1.9万枚AVAX等其他生态系统合作伙伴的资金。
此外,Arbitrum Farm将于5月25日开放,Optimism将于5月27日开放、Polygon将于5月29日开放、Avalanche将于5月31日开放,也将支持zkSync。这些Fram池第一个月提供100% boosted奖励,第二个月提供50% boosted奖励。[2023/5/20 15:14:38]
如果你不习惯命令行,则会很难理解这一点。
我会拼出来:
输入“echo”,然后是一个空格,然后是一系列没有任何空格的零和一,然后是一个空格,然后是“管道”符号,然后一个空格,然后是“shasum”命令,一个空格,连字符“a”,一个空格,“256”,一个空格,另一个连字符,然后是零位。然后按。
代码说明:“echo”命令只会重复你接下来输入的任何内容。管道符号获取该输出并将其传递给管道符号右侧的命令。比特流的接收者是“shasum”散列命令。“-a”是一个选项,用于指定要使用的算法。“256”代表比特币世界著名的SHA-256,这是我们对“-a”的选择。最后,“-0”是一个选项,表示输入应该被解释为二进制数据,而不是常规文本数据。
当我运行此命令时,我的结果哈希显示在命令下。这是以“b184”开头的行:
网易入股张艺谋参与的元宇宙公司:1月1日消息,近日,网易通过网易传媒科技(北京)有限公司参与了张艺谋持股并担任联合创始人的当红齐天的B++轮融资。
当红齐天的官网显示,公司致力于打造包括XR等技术在内的沉浸式体验,以“成为伟大的元宇宙文化科技公司”为愿景。当红齐天的身后除了张艺谋外,还有联想创投、芒果基金、英特尔、小米等巨头。
事实上,网易并不是第一家与张艺谋合作的互联网公司,此前张艺谋就曾与乐视影业有过合作。在乐视落寞后,张艺谋转战欢喜传媒,但仍持有乐视影业(北京)有限公司的股份。
值得一提的是,曾经以门户网站起家的网易,如今主要靠游戏业务养家。最新的财报显示,网易三季度营收游戏贡献近八成。由于对于游戏业务的过度依赖,网易此番入股张艺谋XR公司的背后,有猜测认为,或是为了其元宇宙业务的布局,试图找寻新的增长点。
但就目前元宇宙赛道的情况来看,国内外的玩家大多都没有取得太过亮眼的成绩,Meta、Roblox等公司还因此造成了巨额的亏损,因此网易想要实现自己的元宇宙之梦,或许还有很长的路要走。[2023/1/1 22:19:03]
现在我们可以开始计算校验和。我们取散列输出的前两位数字,在本例中为“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”相同。
现在我们将这前两个数字转换为它们的四位二进制表示。您可以参考下面的图表来做到这一点:
Paxos为经纪交易商推出财务顾问加密交易基础设施:6月7日消息,区块链基础设施平台 Paxos 宣布通过 Paxos Crypto Brokerage 为经纪交易商推出财务顾问加密交易基础设施服务,该服务将允许经纪交易商(broker-dealers)为财务顾问提供全面的财富管理解决方案,以便财务顾问可以代表客户无缝交易加密货币。(prnewswire)[2022/6/8 4:09:24]
▲四位二进制中的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.
过去几年来,比特币扩容问题引发热议,史无前例地将大众的目光聚焦在了比特币协议演进背后的开发流程上.
1900/1/1 0:00:00据TheBlock9月20日消息,英国股票交易应用Freetrade已聘请PaulBrooking担任首席财务官。Brooking此前曾在Freetrade的竞争对手Revolut担任副首席财务官和财务控制主管.
1900/1/1 0:00:00据ThisDay9月27日消息,尼日利亚央行数字货币eNaira的官方网站已经上线,距离预定的eNaira发布仅一周时间。根据THISDAY监控分析,该网站上线24小时后,已有超过100万次点击.
1900/1/1 0:00:00据Decrypt消息,美国法官YvonneGonzalezRogers周五对Fortnite开发商EpicGames与科技巨头Apple之间的案件作出裁决,法官发布永久禁令表示Apple不能再阻止在iOS应用程序中使用外部支付选项.
1900/1/1 0:00:00Browsers3000是一个为期五周的黑客松活动,由ProtocolLabs实验室举办,这个活动专注于为Web3未来构建的去中心化解决方案.
1900/1/1 0:00:00巴比特讯,据NansenNFTParadise数据板块显示,NFT项目FirstFirstNFTs24小时交易量达3464ETH,超BAYC排名第一。最高交易价格为13ETH,平均交易价格为0.45ETH.
1900/1/1 0:00:00