主页 > imtoken钱包官方网址 > 系统认识以太坊(一)历史

系统认识以太坊(一)历史

imtoken钱包官方网址 2023-12-01 05:10:15

发展历程

去中心化数字货币的概念,以及财产登记等替代应用程序,已经存在了几十年。 1980 年代和 90 年代的大多数匿名电子现金协议都基于 Chaumian 盲法。 这些电子现金协议提供高度隐私的货币,但这些协议都没有流行起来,因为它们都依赖于中心化的中介。 1998年,魏戴的b-money首先提出了通过解决计算问题和去中心化共识来创造货币的思想,但提案并没有给出如何实现去中心化共识的具体方法。 2005 年,Hal Finney 提出了“可重复使用的工作量证明”的概念,它既使用了 b-money 的思想,又使用了 Adam Back 提出的计算困难的哈希现金(Hashcash)。 ) 拼图来创建加密货币。 然而,这个概念再次偏离了理想主义,因为它依赖于可信计算作为后端。

因为币是先入为主的应用,交易的顺序很关键,所以去中心化的币需要想办法实现去中心化的共识。 比特币之前的所有电子货币协议遇到的主要障碍是,虽然关于如何创建一个安全的拜占庭容错的多方共识系统的研究已经进行了多年,但上述协议只解决了一半的问题. 这些协议假设系统中的所有参与者都是已知的,并产生“如果有 N 方参与系统,则系统可以容忍 N/4 恶意参与者”形式的安全边界。 然而,这种假设的问题在于,在匿名的情况下,系统设置的安全边界容易受到 Sybil 攻击,因为攻击者可以在单个服务器或僵尸网络上创建数千个节点,从而单方面保护大多数分享。

中本聪的创新之处在于引入了将非常简单的基于节点的去中心化共识协议与工作量证明机制相结合的想法。 节点通过工作量证明机制获得参与系统的权利,每十分钟将交易打包成“块”,从而创建一个不断增长的区块链。 算力多的节点影响力大,但获得比全网多的算力比创建百万节点要难得多。 虽然比特币区块链模型非常简陋,但实践证明已经足够好了。 在未来五年内,它将成为全球 200 多种货币和协议的基石。

比特币作为状态转换系统

从技术上讲,比特币账本可以被认为是一个状态转换系统,包括所有现有的比特币所有权状态和“状态转换函数”。 状态转换函数将当前状态和交易作为输入并输出新状态。 例如,在一个标准的银行系统中,状态是一张资产负债表,请求将$X从账户A转移到账户B是一个交易,状态转换函数将从账户A中减去$X并向账户添加$X B. X 美元。 如果账户 A 的余额少于 X 美元,状态转换函数将返回错误信息。 所以我们可以定义状态转移函数如下:

APPLY(S,TX) ­> S' or ERROR

在上面提到的银行系统中,状态转换函数如下:

APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30,Bob: $70 }

但:

APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR

比特币系统的“状态”是所有已开采的未花费比特币(技术上称为“未花费交易输出,或 UTXO”)的集合。 每个 UTXO 都有一个面额和一个所有者(由一个 20 字节的地址定义,该地址本质上是一个加密公钥 [1])。 一笔交易由一个或多个输入和一个或多个输出组成。 每个输入都包含对现有 UTXO 的引用和由所有者地址对应的私钥创建的加密签名。 每个输出都包含一个添加到状态的新 UTXO。

在比特币系统中以太坊历史数据,状态转移函数APPLY(S,TX)->S'可以大致定义如下:

交易的每个输入:

如果所有UTXO输入的面值总和小于所有UTXO输出的面值总和,返回错误信息

返回到新状态 S',其中所有输入 UTXO 被移除,所有输出 UTXO 被添加。

第一步的第一部分阻止交易的发送者花费不存在的比特币,第二部分阻止交易的发送者花费别人的比特币。 第二步确保价值守恒。 比特币支付协议如下。 假设爱丽丝要发送 11.7 BTC 给鲍勃。 事实上,Alice 不可能恰好拥有 11.7 个 BTC。 假设,她能得到最少数量的比特币的方式是:6+4+2=12。 因此以太坊历史数据,她可以创建一个包含 3 个输入和 2 个输出的交易。 第一次输出的面值为11.7BTC,所有者为Bob(Bob的比特币地址),第二次输出的面值为0.3BTC,所有者为Alice本人,即找零。

未完待续........

以太坊涨幅历史_siteiotachina.com 以太坊历史最高价_以太坊历史数据

长按关注,继续阅读