作者:??JoseAguinaga
翻译&校对:?闵敏&?阿剑
以私钥为原材料
正如我在本系列第一篇文章《私钥是什么》中所述,生成私钥的过程依赖于伪随机数生成器和足够大的熵。关于私钥,最重要的一点是,它是从1到22??-1的范围内随机选出的整数。只要是在这个范围内的数,都可以用作私钥。
既然我们已经初步学习了私钥背后的数学知识,接下来就可以自己生成有效的私钥了。我们不妨将私钥生成过程想象成一个长达78位的水平数字组合锁,然后我们把这个密码锁分成3排,每排有26位。你可以把PRNG函数想象成一个会随机打乱数字,打乱出一个数字组合的东西:一开始每一位都是0,然后毫无章法地在每一位上选出一个具体的数字。假设我们使用PRNG函数生成乱序的数字组合,得到以下三排数字:
(1)04406941321102621719184878;
(2)43014596507006094171646853;
加密矿企Riot Platforms任命德勤会计师事务所负责审计工作:金色财经报道,加密矿企Riot Platforms宣布与会计师事务所Marcum解除合约,任命德勤会计师事务所负责审计工作,Marcum已审计了Riot Platforms2018年至2022年财政年度的合并财务报表。德勤将担任该矿业公司2023年的独立注册公共会计师事务所。
彭博社上周对24家加密货币公司进行的一项调查发现,其中46%的公司的全面财务审计由“四大”公司完成。其中,三家公司报告称接受了Marcum的审计服务。Coinbase、Circle和Ripple是德勤的审计服务。[2023/5/27 9:45:39]
(3)06780198554267270848908554;
-浏览器使用WebCryptographyAPI作为PRNG。这个PRNG使用你的计算机熵源作为随机种子来生成随机数。在生成随机数的时候,请一定要使用电子熵源,因为一些研究表明,人类比较不擅长选择随机数字-
去中心化存储和通信系统Ethereum Swarm发布Bee v1.11.0版本:1月20日消息,去中心化存储和通信系统Ethereum Swarm发推称,新的Bee v1.11.0版本已发布。该版本更新包括更流畅的数据块同步、改进的上传体验,bug修复等。[2023/1/20 11:23:33]
恭喜!你现在已经是私钥?44069413211026217191848784301459650700609417164685306780198554267270848908554?的所有者了。
我们可以使用这个私钥生成一个比特币或以太坊地址,或者任何以1至22??-1为私钥范围的区块链的地址。
要根据这个私钥生成一个以太坊地址,我们需要使用椭圆曲线点乘算法。因此,简单起见,我们会把它交给计算机处理。为此,我们需要把这个私钥“告诉”计算机。麻烦的是,计算机不会处理十进制形式的信息,它只能理解二进制代码。目前,我们的只有十进制数形式的私钥。因此,我们先要将这个私钥从十进制数形式转换为计算机可以理解的比特和字节。
电影订阅服务MoviePass完成种子轮融资,Animoca Brands领投:金色财经报道,电影订阅服务MoviePass完成种子轮融资,Animoca Brands领投,Claritas Capital、Emerald Plus、Gaingels、Harlem Capital、PKO VC和Sandhill Angels等参投。作为交易的一部分,Animoca Brands的执行主席兼联合创始人Yat Siu将加入MoviePass的董事会。
MoviePass联合创始人Stacy Spikes于2021年底回购了该公司,他表示计划在2023年底或2024年进行另一轮融资。
MoviePass表示,它计划利用新资金加速其电影院订阅服务的测试版重新启动,并制定和实施公司的Web3战略,其中包括虚拟现实影院体验和使用技术来推动影院流量。Spikes表示,Animoca Brands认为电影客户与元宇宙和区块链的粉丝之间存在重叠。[2023/1/13 11:09:01]
位和字节
美股持续走高,纳指涨超3%:金色财经消息,行情显示,美股持续走高,纳指涨幅达3%,标普500指数现涨2.63%,道指涨2.24%。[2022/7/20 2:24:44]
在进行下一步操作之前,我们需要先了解什么是比特和字节。任何数字设备都只能理解由0和1组成的信息,通常被称为比特。比特就是“二进制数字”,即,仅使用1和0表示的数字。虽然我们的智能手机和电脑都可以显示汉字和图片,还能播放歌曲,它们最终都是比特来表示并处理这些信息的。位越多,表示的信息越大,但说到底无非是一堆0和1而已。
根据上下文,多个位可以表示字符或数字。在将十进制整数转换为二进制形式时,就是将其转换成以2为底数的幂之和,其中每个幂的指数递增。例如,我们通常采用十进制形式记数,十进制数就是以10为底数的幂之和。因此,在使用二进制时,在2的?N次幂以内的整数,我们就可以用n个位来表示和存储。
-8位电子游戏机最高能够表达的十进制数是255,因为它们使用的中央处理单元最多只能执行8位操作(译者注:上图的左边解释了为什么N个位就可以表示2的N次幂以内的数--因为其数字组合有2的N次幂种可能性;右边则演示了一个二进制数意味着多大的整数,即相互转换的计算规则-
美联储考虑在未来可能发行数字美元的情况下缓和对商业银行的冲击:5月27日消息,美联储副主席布雷纳德表示,美联储正在考虑各种手段,在美国政府如果决定发行数字美元的情况下缓和对商业银行存款的影响。布雷纳德周四表示,虽然存款不可避免会有所下降,但美联储正在想办法避免存款大幅下降。包括美国银行家协会、银行政策研究所在内的行业游说团体已经呼吁政府暂缓推出央行数字货币,担心它会分流银行系统的资金,减少对企业和家庭的信贷。她指出,在考虑对存款的潜在影响方面,我们一直在进行很多考量,金融系统未来在数字化方面的任何发展都将导致现金使用减少和银行存款减少。(金十)[2022/5/27 3:44:33]
虽然我们可以使用二进制形式来表达任何数字,但是二进制形式过于“繁冗”。如果要表示97,我们需要8个二进制数字。二进制数对于计算机来说很容易处理,但是不方便人类阅读。因此,计算机通常会使用十六进制而非二进制来表示数据:位置数字系统以16为底数来表示数字。一位十六进制数可表示四位二进制数。我们可以用十六进制数61来表示二进制数01100001或十进制数97,这样就比二进制少了6位数。十六进制数使用ABCDEF来表示10至15,通常用来缩小数据。
私钥有多少个比特?
再说回私钥,我们知道私钥的范围是1至22??-1。我们该如何用位来表示它?需要用到多少位?如上文所述,在将十进制整数转换为二进制形式时,就是将其转换成以2为底数的幂之和。在使用8位二进制数时,我们能表示的最大的数是2?+2?+2?+2?+23+22+21+2?,即,整数255。我们可以看出,要表达2^n以内的数,我们就需要n个位。由此可推得,我们需要256位,或者说32字节,来表示我们的私钥。
-十六进制数据表示旨在减少表示数字所需的位数。但是,计算机依然只能使用二进制来处理数据-
如果我们一致同意需要使用32字节来表示我们在范围内的私钥,那么在十六进制形式下,我们需要64个数来表示私钥。现在,我们可以将原始私钥
44069413211026217191848784301459650700609417164685306780198554267270848908554
转换成十六进制形式:
616E6769652E6A6A706572657A616775696E6167612E6574682E6C696E6B0D0A
看到十六进制私钥中多出的字母A、B、C、D、E了吗?看到这些字母,我们就可以轻易辨别出这个数是十六进制的。
从私钥到公钥
现在,我们可以把这个十六进制私钥告诉我们的计算机了。我们可以使用JavaScript之类的编程语言轻松导入这个十六进制私钥,以便用于之后的乘法运算。在以下代码中,之前得到的十六进制数被导入作为私钥。这个十六进制数是以16为底数的。
-通过使用BigNumber库,我们可以确保转换过程中不会丢失任何小数。这些数字通常会被表达成指数,而且如果我们直接将其解析成十六进制,就会失去精度。如果不使用BigNumber库,我们得到的十六进制私钥就会变成616e6769652e6c00000000000000000000000000000000000000000000000000-
导入私钥之后,下一步就是创建公钥。你可能还记得,我们在第一篇文章中提到过,在获取以太坊地址之前,我们先要通过私钥来生成公钥。根据以太坊黄皮书所述,公钥生成过程遵循的是标准的ECDSA公钥生成算法,其中,我们将私钥乘以生成器点得到一个坐标,将该坐标的x值和y值前后拼在一起就是公钥。我们的公钥可以用来生成我们的以太坊地址。
-x和y是使用椭圆曲线上的点乘以我们的私钥得到的。虽然私钥可以在任意区块链中作为一个地址的唯一生成器,以太坊专门使用椭圆曲线secp256k1生成公钥;因此,私钥的签名操作也跟这条曲线有关-
终于到了最后一步。有了公钥,我们就执行黄皮书中的最后一个操作:
给定某个私钥,以太坊地址A是对应ECDSA公钥的Keccak哈希值的最右边160位。鉴于我们已经有了自己的ECDSA公钥,剩下的唯一一件事是在我们的公钥上执行Keccak哈希函数,取结果最右边的160位。当我们将这些操作结果存储在“缓冲区”时,我们可以“丢掉”前24个十六进制数,只留下后40个十六进制数,或者更准确地说,20个字节。
-以太坊地址被设计为20个字节。有人认为删掉一些字节可能会引起碰撞,导致两个私钥生成相同的以太坊地址。不过到目前为止,还没发生过这种情况-
你的个人专属钱包
如你所见,只要一个数就可以生成一个以太坊地址来存储各类资产:从代表虚拟猫、磁带、袜子和门票等物品的NFT到具有增值潜力的密码学资产等等。你的以太坊地址是公开的,而且像你的家庭住址一样,但是只能通过钥匙打开。如果你不想自己来处理所有这些流程,你可以在Portis上注册一个账户。Portis会自动为你创建私钥以及对应的以太坊地址,供你在100多个dApp中使用。
在本系列下一篇文章中,我们将介绍如何使用私钥来创建并广播交易、签署消息,以及这些签名在以太坊生态中有什么影响。
标签:以太坊ASSMOVIPAS比特币以太坊再现断崖式暴跌原因AssetMantleMovieblocBrisk Pass
尊敬的用户:币虎DeFi区将于2021年3月30日18:00上线ETNA/USDT交易对,具体时间如下:1.开放充币:2021年3月30日14:00;2.开放交易:2021年3月30日18:00.
1900/1/1 0:00:00大家看子牙在日线图上图形标注的几个记号。会发现一个有趣的现象。日线图上MA45均线处附近恰好是每次多头回踩的支撑位。触及靠近就会反弹拉升.
1900/1/1 0:00:00小鸟矿池研究发现,两年多没有变动的比特币供应量已触及3个月低点,这表明长期持有比特币的人对此表示坚信。Glassnode的链上数据显示,比特币的长期持有者不想出售其持有的比特币.
1900/1/1 0:00:00韩国时间币2020年10月推出,2021年3月底或4月初启动全面KYC,注册后第二天起8:00-24:00签到一次,每天挖14.4币,尚未减产,默认挖两年,仿PI玩法,在PI基础之上优化.
1900/1/1 0:00:00导语:?????成功的路上注定是孤独的,逆向的交易注定是被质疑的!证实自己正确与否除了时间跟结果,别无其他.
1900/1/1 0:00:00交易是带着目标出去,带着结果回来,成功不是因为快,而是因为有方法,没有不对的行情,只有不好的心态与策略.
1900/1/1 0:00:00