当前位置:首页 > 经验 >

以太坊通过什么来的(以太坊解决了什么社会问题)

来源:原点资讯(www.yd166.com)时间:2022-10-29 01:40:24作者:YD166手机阅读>>

Part-1:私钥是什么


以太坊通过什么来的,以太坊解决了什么社会问题(1)

免责声明:本文涉及的所有私钥都仅用于教育目的。请勿使用本文分享的任何代码、密钥或地址来保存任何种类、任何数量的密码学货币资产。

以私钥为原材料

正如我在本系列第一篇文章《私钥是什么》中所述,生成私钥的过程依赖于伪随机数生成器(PRNG)和足够大的熵。关于私钥,最重要的一点是,它是从 1 到 2²⁵⁶-1 的范围内随机选出的整数。只要是在这个范围内的数,都可以用作私钥。

既然我们已经初步学习了私钥背后的数学知识,接下来就可以自己生成有效的私钥了(译者注:教育目的,可跟随作者的思路学习,但不推荐自己生成。)。我们不妨将私钥生成过程想象成一个长达 78 位的水平数字组合锁(其可能组合数量恰好等于 2²⁵⁶-1),然后我们把这个密码锁分成 3 排,每排有 26 位。你可以把 PRNG 函数想象成一个会随机打乱数字,打乱出一个数字组合的东西:一开始每一位都是 0,然后毫无章法地在每一位上选出一个具体的数字。假设我们使用 PRNG 函数生成乱序的数字组合,得到以下三排数字:

(1) 04406941321102621719184878;

(2) 43014596507006094171646853;

(3) 06780198554267270848908554;

以太坊通过什么来的,以太坊解决了什么社会问题(2)

- 浏览器使用 Web Cryptography API (提供 Crypto.getRandomValues(32) 之类的密码学原语,或者等价的 32 字节缓冲区)作为 PRNG。这个 PRNG 使用你的计算机熵源 作为随机种子来生成随机数。在生成随机数的时候,请一定要使用电子熵源,因为一些研究表明,人类比较不擅长选择随机数字(人自己选出来的数字是有模式的,达不到伪随机的要求) -

恭喜!你现在已经是私钥 44069413211026217191848784301459650700609417164685306780198554267270848908554 的所有者了。

我们可以使用这个私钥生成一个比特币或以太坊地址,或者任何以 1 至 2²⁵⁶-1 为私钥范围的区块链的地址。

要根据这个私钥生成一个以太坊地址,我们需要使用椭圆曲线点乘算法(需要一篇专门的文章才能讲清楚)。因此,简单起见,我们会把它交给计算机处理。为此,我们需要把这个私钥“告诉”计算机。麻烦的是,计算机不会处理十进制形式的信息,它只能理解二进制代码。目前,我们的只有十进制数形式的私钥。因此,我们先要将这个私钥从十进制数形式转换为计算机可以理解的比特(bit,也译成 “位” 或 “位元”)和字节(byte,一个字节等于 8 个比特)。

位和字节

在进行下一步操作之前,我们需要先了解什么是比特和字节。任何数字设备都只能理解由 0 和 1 组成的信息,通常被称为比特。比特就是“二进制数字”,即,仅使用 1 和 0 表示的数字。虽然我们的智能手机和电脑都可以显示汉字和图片,还能播放歌曲,它们最终都是比特来表示并处理这些信息的。位越多,表示的信息越大,但说到底无非是一堆 0 和 1 而已。

根据上下文,多个位可以表示字符(如,在使用 ASCII 编码时,字母 a 的定义就是 01100001)或数字(01100001 也可以用来表示十进制数 97)。在将十进制整数转换为二进制形式时,就是将其转换成以 2 为底数的幂之和,其中每个幂的指数递增。例如,我们通常采用十进制形式记数,十进制数就是以 10 为底数的幂之和。因此,在使用二进制时,在 2 的 N 次幂以内的整数,我们就可以用 n 个位来表示和存储。

以太坊通过什么来的,以太坊解决了什么社会问题(3)

- 8 位电子游戏机最高能够表达的十进制数是 255,因为它们使用的中央处理单元(CPU)最多只能执行 8 位操作(译者注:上图的左边解释了为什么 N 个位就可以表示 2 的 N 次幂以内的数 -- 因为其数字组合有 2 的 N 次幂种可能性;右边则演示了一个二进 制数意味着多大的整数,即相互转换的计算规则 -

虽然我们可以使用二进制形式来表达任何数字,但是二进制形式过于“繁冗”。如果要表示 97,我们需要 8 个二进制数字。二进制数对于计算机来说很容易处理,但是不方便人类阅读。因此,计算机通常会使用十六进制而非二进制来表示数据:位置数字系统以 16 为底数来表示数字。一位十六进制数可表示四位二进制数。我们可以用十六进制数 61 来表示二进制数 01100001 或十进制数 97,这样就比二进制少了 6 位数。十六进制数使用 ABCDEF 来表示 10 至 15,通常用来缩小数据。

私钥有多少个比特?

再说回私钥,我们知道私钥的范围是 1 至 2²⁵⁶-1。我们该如何用位来表示它?需要用到多少位?如上文所述,在将十进制整数转换为二进制形式时,就是将其转换成以 2 为底数的幂之和。在使用 8 位二进制数时,我们能表示的最大的数是 2⁷ 2⁶ 2⁵ 2⁴ 2³ 2² 2¹ 2⁰,即,整数 255。我们可以看出,要表达 2^n 以内的数,我们就需要 n 个位。由此可推得,我们需要 256 位,或者说 32 字节(256/8),来表示我们的私钥。

以太坊通过什么来的,以太坊解决了什么社会问题(4)

首页 12下一页

栏目热文

比特币和以太坊(以太坊与比特币的潜力)

比特币和以太坊(以太坊与比特币的潜力)

加密货币市场今天正在反弹,因为比特币的价格几周来首次突破20,000美元,以太坊自合并后的影响以来首次升至1,500美元...

2022-10-29 01:49:22查看全文 >>

今天以太坊价格是多少(以太坊今天最新价格)

今天以太坊价格是多少(以太坊今天最新价格)

以太坊价格分析今天看跌,因为我们已经看到未能继续走高是一个明确的方法,并且在一夜之间稳定回撤。因此,以太坊的价格可能会在...

2022-10-29 02:09:29查看全文 >>

以太坊到底有什么用(以太坊是什么通俗来讲)

以太坊到底有什么用(以太坊是什么通俗来讲)

什么是以太坊?以太坊是一个去中心化的开源区块链,也是第一个推出智能合约功能的网络。以太坊于 2015 年 7 月推出,在...

2022-10-29 01:32:06查看全文 >>

以太坊是一个什么样的东西(以太坊到底有什么用)

以太坊是一个什么样的东西(以太坊到底有什么用)

今年的加密货币市场是跌宕起伏,而“以太坊”常常刷屏我们的视线。对于投资者来说,需要对项目有所了解,才能更好地管理好资产,...

2022-10-29 01:53:26查看全文 >>

以太坊到底是怎么来的(以太坊是怎样被大家认可的)

以太坊到底是怎么来的(以太坊是怎样被大家认可的)

什么是以太坊(ETHereum)以太坊(Ethereum)是一个基于区块链技术,允许任何人构建和使用去中心化应用的区块链...

2022-10-29 01:57:58查看全文 >>

以太坊到底是什么意思(以太坊是什么通俗解释)

以太坊到底是什么意思(以太坊是什么通俗解释)

你也许不太清楚以太坊具体是什么,但是我相信你一定听过它。它最近出现在很多新闻和杂志中,但如果你不了解以太坊到底是什么,那...

2022-10-29 01:38:54查看全文 >>

以太坊是什么通俗来讲(以太坊是怎么出来的)

以太坊是什么通俗来讲(以太坊是怎么出来的)

信很多人都听说过以太坊,目前它的价格也是世界上第二高的虚拟货币,随着以太坊价格越来越高,更多人对这种虚拟货币感兴趣,其中...

2022-10-29 02:06:27查看全文 >>

以太坊有什么用处吗(以太坊到底有什么用)

以太坊有什么用处吗(以太坊到底有什么用)

消息显示,以太坊主网将于8月5日进行伦敦升级。值得关注的是上周是以太坊区块链诞生6周年,而ETH价格在最近一周也呈现持续...

2022-10-29 02:07:21查看全文 >>

以太坊是怎么出现的(以太坊什么时候火起来的)

以太坊是怎么出现的(以太坊什么时候火起来的)

以太坊简介以太坊是建立在区块链技术之上的去中心化应用平台从以太坊的定义中,我们可以直观地看出以太坊和比特币的区别——比特...

2022-10-29 01:51:01查看全文 >>

以太坊是个什么(以太坊还会涨到一万吗)

以太坊是个什么(以太坊还会涨到一万吗)

哈喽大家好,我是小K君,今天我们要讲的内容是:“什么是以太坊”。什么是以太坊以太坊是数字货币中,除比特币之外,最有开创意...

2022-10-29 01:24:30查看全文 >>

文档排行