主页 > imtoken有usdt钱包地址吗 > 以太坊基本介绍

以太坊基本介绍

imtoken有usdt钱包地址吗 2023-06-21 07:09:51

感谢以太坊翻译团队的译者:Shan、Nov、PatrickJ、SoloWolf

经许可翻译:bitsonblocks.net/2016/10/02/a-gentle-introduction-to-ethereum /

由 antonylewis2015 发表于 2016 年 10 月 2 日

前言

以太坊是建立在区块链之上的加密货币和加密货币的概念之上,如果你对它不熟悉,值得花时间先阅读《比特币基础》和《区块链技术基础》。以下文章假设读者对比特币的工作原理有基本的了解。

什么是以太坊?

以太坊是在计算机网络中运行的软件,可确保数据以及称为智能合约的小程序可以由网络中的所有计算机复制和处理,而无需中央协调器。以太坊的愿景是创建一个不可阻挡、屏蔽(审查)和自我维持的去中心化世界计算机。官方网站是以太坊项目。

它扩展了比特币的区块链概念:在世界各地的多台计算机上验证、存储和复制交易数据(因此称为“分布式账本”)。以太坊将这一概念更进一步,使得在全球范围内的多台计算机上运行代码成为可能。

比特币用于分布式存储数据,以太坊用于分布式存储数据和计算。这些由计算机运行的小型程序被称为智能合约,合约由参与者在自己的机器上通过称为“以太坊虚拟机”的操作系统运行。

如何运行以太坊?

要运行以太坊,您可以下载(如果您有耐心,也可以自己编写)一些称为以太坊客户端的软件。与 BitTorrent 或比特币类似以太坊和比特币更有发展前景,以太坊客户端将通过网络连接到运行类似客户端软件的其他计算机,并开始通过它们下载以太坊区块链以赶上。它还将独立验证每个区块是否符合以太坊规则。

以太坊客户端软件能做什么?

你可以使用:

连接到以太坊网络

探索以太坊区块链

创建新的交易和智能合约

运行智能合约

挖掘新区块

通过运行以太坊虚拟机,您的计算机成为网络“节点”的一部分,并具有与其他节点相同的状态来处理交易。请记住,在对等网络中,没有“核心”服务器,每台计算机都拥有平等的权利和地位。

以太坊和比特币有什么相似之处?

我认为理解以太坊最简单的方法是探索它与相对简单的系统比特币之间的异同。那么它们有什么相似之处呢?

与比特币一样以太坊和比特币更有发展前景,以太坊有一个包含数据块(交易和智能合约)的区块链。这些区块由一些参与者创建或挖掘,而其他人则对其进行验证。

您可以在此处查看以太坊区块链:以太坊区块链浏览器

区块通过前一个区块的哈希或指纹形成链状结构。详情请看区块链技术的温柔介绍

与比特币一样,以太坊的主网是一个公共的、无需许可的网络,这意味着任何人都可以下载或编写软件来连接网络,你可以开始创建交易和智能合约并验证它们,你可以挖矿等等,所有这些都无需注册或登录任何其他机构。

一般来说,当人们谈论以太坊时,他们指的是公共无许可版本,公共链。但是,与比特币一样,您可以通过稍微修改以太坊文件来创建不连接到公共互联网的专用网络。当前在私有网络中的代币和智能合约与公共网络不兼容。更多关于公共免许可公链和私有许可区块链的异同,请参考被区块链混淆?革命与进化

与比特币一样,矿工通过花费电力来解决人民币数学难题来创建有效区域。以太坊的工作量证明算法,称为 Ethash,与比特币的工作量证明略有不同,可以使用普通硬件进行挖矿。以太坊的这种工作量证明算法降低了比特币挖矿常用的特定硬件 ASIC 的效率。

有关挖矿的更多信息,请参阅比特币挖矿的简要介绍。

在以太坊的发展计划中,它将在名为 Serenity 的以太坊软件的未来版本中,用更节能的权益证明取代当前耗电的工作量证明(POW)挖矿(POS) 协议称为 Casper。

以太坊中的代币称为以太币,简称ETH。与 BTC 类似,这种加密货币可用于与其他加密货币或其他法定货币进行交易。一个 ETH 的当前价格约为 13 美元(2016 年 10 月)。与比特币区块链中记录 BTC 所有者的方式相同,以太坊区块链中记录以太坊 ETH 所有者,尽管它们在技术实现方式上略有不同。

如果您想了解更多关于加密货币和代币的知识,可以参考《数字代币基本介绍》

以太坊和比特币有什么区别?

本次讨论将更具技术性,并且在许多方面更加复杂。

与比特币的 10 分钟相比,以太坊的跨区块时间约为 14 秒。这意味着当您在比特币和以太坊中发起交易时,以太坊中的交易记录在区块链中的速度比比特币中的交易记录在区块链中的速度要快。你可以认为比特币平均需要 10 分钟写入数据库,而以太坊平均需要 14 秒写入数据库。

在比特币中,最大区块大小目前被限制为 1M,而在以太坊中,区块大小由运行在其上的智能合约的复杂性决定——这称为 gas 限制,每个区块的最大值会略有不同视情况而定。目前以太坊的最大区块大小约为 1,500,000 Gas。从一个账户到另一个账户的基于 ETH 的交易或支付(不是智能合约)消耗大约 21,000 Gas。因此,大约 70 (1500000/21000)事务可以放在每个块中。以比特计,每个块可以包含大约 1500 到 2000 个事务。

目前大部分以太坊区块大小都在 2KB 以下。

用于在以太坊中部署代码和运行智能合约的语言比比特币的原始脚本语言更先进,因此开发人员更熟悉。智能合约代码运行在称为以太坊虚拟机的东西上,该虚拟机运行在网络中所有参与者的计算机上。如果您阅读 Microsoft Excel 宏(在 Excel 上运行的代码块),在熟悉的术语中,智能合约可以类似地被认为是在以太坊虚拟机上运行的代码块。

在许多描述中,以太坊智能合约被称为“图灵完备”。这意味着它们功能齐全,可以在任何其他编程语言中完成的计算都可以在它们上完成。

以太币的发行

以太代币是如何发行或创建的?以太坊和比特币最大的区别在于比特币的产量每4年减半,而以太坊的产量每年固定。(可能会持续到平静期)

以太币比比特币更复杂。简而言之,以太的数量以这种形式存在:

预挖)+区块奖励+大叔奖励+大叔参考奖励

在 2014 年 7 月/8 月,大约发行了 7200 个用于众筹 10,000 ETH。这些硬币有时被称为“预挖”。众筹阶段结束后,ETH 年产量限制在 7200 万枚 ETH 的 25%(年 ETH 挖矿产出,不超过 1800 万枚,一次性发行的 7200 万枚以太币除外)

目前,每个新区块都会生成 5 个新以太币。计算一下,如果每 14 秒挖出一个区块,一年有 3150 万秒(365x24x60x60),也就是说每年挖出 225 万个区块。225 万个区块,每个区块 5 个以太币,即,每年将生产 1130 万 ETH。这个数字与 1800 万 ETH 以下的生产数字相符。

其实这个数字可能比上图略多。一些区块是稍后开采的,因此不能称为主区块链的一部分。比特币将此类区块称为“孤儿区块”并完全丢弃它们。但是,以太坊称他们为“叔叔”,在后续的区块中,可以引用他们。如果叔块在后续区块链中被引用为叔块,则每个叔块为矿工产生大约 4.375 ETH(7) 的 5 个 ETH 奖励。这称为叔块奖励。目前大约 500叔块每天出块,在ETH的日生产链上额外增加2000 ETH(按这个速度,年产量为700,000 ETH)

还有更多:矿工每次引用一个叔块(最多引用两个叔块)可以获得大约 0.15 ETH

这种定义有效区块并奖励矿工的模式称为“”“Greedy Heaviest-Observed Sub-Tree”(GHOST是greedy most observed subtree的前缀)。

以太币生产的未来变化

在以太坊区块生产机制从工作量证明 (PoW)(包括幽灵发行规则)转换为权益证明 (PoS) 之后,对于分配方式会有哪些变化尚无定论。权益证明机制将使用一个名为 Casper 的协议(是的,作为一个友好的幽灵。谁说密码学家没有幽默感?)在 Casper 下,以太币的发行率将大大低于幽灵下的发行率协议。

挖矿奖励

那么,矿工在挖矿时会得到什么?

在比特币中,矿工将获得:

•12.5个新比特币(目前情况请参考《比特币挖矿简明介绍》)

加号

•打包成块的交易产生的交易费用

在以太坊中,矿工将获得:

•5 ETH 用于新的区块奖励(或 4.375 ETH 用于新的叔块奖励),

•为最近的叔叔引用 2 1/32 的区块奖励(即 1/32x5 = 0.每个叔叔 15625 新以太币)

•用于在区块中运行合约的 Gas

目前,每个区块的平均gas限制为1,500,000,每个区块网络的平均gas价格为0.@ >000000022 ETH,即矿工可能从“完整”区块中获得的gas奖励为0.033 以太币。请注意,合约中的 gas 是以现有的以太币支付的,而不是新创建的以太币。

以太坊的其他部分:Swarm 和 Whisper

计算机需要能够计算、存储数据和通信。如果以太坊要实现其不可阻挡、屏蔽(抗审查)、自我维持、去中心化的“世界”计算机的愿景,它需要以稳健、高效的方式完成上述所有三项工作。以太坊虚拟机只是整体的一部分。

以太坊虚拟机是运行合约逻辑的计算元素

这是一种不依赖于中央服务器的计算。

Swarm 是点对点文件共享,类似于 BitTorrent,但使用以太币作为小额奖励的激励。文件被分解成块,由参与的志愿者分发和存储。存储和服务区块的节点从需要存储和检索数据的节点获得以太币补偿。

这是独立于中央服务器的文件存储。

Whisper 是一种信息检索协议,允许节点以安全的形式直接交换信息,并向第三方窥探者隐藏发送者和接收者信息。

这是一种不依赖于中央服务器的通信管理。

以太坊中的一些概念

智能合约是存储在以太坊区块链上的简短计算机程序。这些代码可以用以太激活或运行。要了解有关智能合约的更多信息,请参阅智能合约的简要介绍。

这是来自维基百科的智能合约示例:

来源:Solidity - 维基百科

在以太坊中,您可以使用一些代码创建一个帐户,在一次交易中将其上传到以太坊区块链,然后您就可以创建一个智能合约。合约上传后,它就像自动点唱机一样工作——当你想运行它时,你应该创建一个交易,向合约支付 ETH,并在合约需要时提供一些其他信息。

每台挖矿计算机将通过以太坊虚拟机在其计算机上运行智能合约,作为参与挖矿过程的一部分,然后得出输出结论。理论上,如果没有人恶意行事,以太坊网络上的每台计算机都会得出相同的结论,因为它们运行的​​是提供相同信息的相同合约代码。

当一个区块产生后,矿工将该区块发布到网络的其余部分,其他计算机将验证他们得到相同的结果,然后将该区块添加到自己的区块链上级。这就是以太坊区块链更新其状态的方式。

在比特币中,有一个称为地址的概念,比特币存储在其中——就像一串比特币银行帐号。这在以太坊中通常被称为账户,有两种类型的账户:

仅存储 ETH 的账户——这些账户与比特币地址类似,有时被称为外部拥有账户 (EOA)。您可以通过使用您的私钥签署交易来使用 ETH 支付这些帐户。

这是一个存储 ETH 的账户示例:

以太坊账户 0x2d7c76202834a11a99576acf2ca95a7e66928ba0 信息

它不仅存储 ETH,而且还有可以运行的代码(智能合约)——这些智能合约可以在一笔交易中将 ETH 发送到账户。智能合约上传后,等待激活。

这是一个带有智能合约的示例账户:

以太坊账户 0xcbe1060ee68bc0fed3c00f13d6f110b7eb6434f6 信息

以太坊比比特币快得多(以太坊每小时 250 个区块,而比特币每小时 6 个区块)。产生的区块越快,“区块碰撞”的机会就越大——即可以几乎同时创建多个有效区块,但只有其中一个可以加入主链。另一个“损失”是这些区块中的数据不会被视为分类账的一部分,即使交易在理论上是有效的。在比特币中,这些非主链区块被称为孤儿或孤儿,它们无论如何都不会成为主链的一部分,也不会被后续区块引用。

在以太坊中,它们被称为叔块。叔块将被一些后续块引用(请参阅 ETH 发布部分)。虽然其中的数据不会被使用,但挖掘它们的稍微小一点的奖励仍然有效。

这实现了两个重要目的:

即使有很高的机会挖出非主链区块,矿工仍然会被激励挖矿(高速出块会导致更多孤儿或叔叔)。

通过识别消耗在叔块上的能量来增加区块链安全性。

Gas 和 Gas 价格

当您激活智能合约时,您是在要求整个网络中的每个矿工执行内部操作。这需要他们的时间和精力,而 Gas 是您为这项服务向矿工支付费用的机制。

奖励是想要运行智能合约的人需要支付的少量以太币才能使合约正常运行。类似于将硬币投入点唱机。

支付(以太币)= Gas 数量(Gas)x Gas 价格(以太币/Gas)

智能合约越复杂(计算步骤的数量和类型、占用的内存等),完成操作所需的 Gas 就越多。类似于点唱机,歌曲越长,音量越大,您需要支付的费用就越多。

运行任何特定合约所需的 gas 量是固定的,由合约的复杂性决定,gas 价格由想要运行合约的人在提交运行请求时设定合同(有点像比特币的交易费用)。每个矿工将根据 gas 价格决定是否要将合约作为区块的一部分运行。如果你想让矿工运行你的合约,你最好提供更高的 gas 价格。在某种程度上,这是由合同支付运行费用的意愿驱动的拍卖。

让智能合约花费 Gas/Ether/money 可以防止人们随意激活合约,解决垃圾交易和在免费运行智能合约时可能发生的相关问题。

以太单位

就像 1 USD 可以分成 100 美分,1BTC 可以分成 100,000,000 Satoshi (Satoshi Nakamoto),以太坊也有自己的兑换单位。

最小单位是wei,每个ETH有1​​,000,000,000,000,000,000wei。还有一些中间单位:Finney、Szabo、Shannon、Babbage、Ada——所有这些单位都以加密货币或网络相关领域的杰出贡献者命名。

Wei 和 Ether 是最常用的两个单位。

智能合约语言:Solidity/Serpent、LLL

共有三种常见的智能合约语言可以编译成智能合约,合约运行在以太坊虚拟矿机上。它们是:

Solidity - 类似于 Javascript 语言。这是目前最流行、功能最丰富的智能合约脚本语言。

Serpent - 类似于 Python,在以太坊历史早期很流行。

LLL (Lisp Like Language) - 类似于 Lisp,只在早期使用。它可能是最难使用的。

以太坊软件:geth、eth、pyethapp

官方的以太坊客户端都是开源的——你可以查看它们背后的代码并重构它来开发你自己的版本。最受欢迎的客户是:

geth(Go 客户端)ethereum/go-ethereum

eth(C++ 客户端)ethereum/cpp-ethereum

pyethapp(Python 客户端)ethereum/pyethapp

这些都是基于命令行的程序(黑底绿字的程序),可以有更多界面好看易懂的软件。目前最流行的官方图形软件是 Mist(ethereum/mist),Mist 运行在 geth 或 eth 之上。

所以,geth/eth 是底层,Mist 是顶层的美屏。

历史:以太坊时间线

Vitalik Buterin 在 2013 年底的白皮书中提出了以太坊的概念。该概念最终由 Gavin Wood 博士完善,并于 2014 年 4 月发布了技术黄皮书。从那时起,以太坊的发展一直由开发者社区。

2014 年 7 月和 8 月,社区发起众筹活动,为项目开发筹集资金,以太坊区块链于 2015 年 7 月 30 日正式上线。

以太坊众筹

开发团队在 2014 年 7 月至 8 月期间通过在线销售 ETH 代币筹集资金,人们可以通过支付比特币以太坊来兑换这些代币,初始固定汇率为 1 BTC 等于 2000 ETH。 (截至 2016 年 10 月,1 BTC 可以购买 50 ETH。)

众筹参与者将比特币发送到一个比特币地址,并收到一个以太坊钱包,其中包含相应购买的 ETH 数量。技术细节可以在以太坊博客 blog.ethereum.org/2014/07/22/launching-the-ether-sale/中找到。

通过这种方式,Go 购买了超过 6000 万个以太币,相当于约 31,500 BTC,当时价值约 1800 万美元。同时,增发 20% 的 Ether(120 万 ETH)用于促进发展和建立以太坊基金会。

软件版本代号:Frontier/Homestead/Metropolis / Serenity

这些是核心以太坊软件版本的友好名称,有点像 Apple 的 OS X 版本名称,例如 Mavericks、El Capitan、Sierra。

这是不同版本的以太坊软件的昵称,例如 Apple 的 OS X 系列名称 Mavericks、El Capitan、Sierra。

Olympic(测试网):2015 年 5 月发布的测试版,使用与真实以太不兼容的代币。测试网与核心在线网络并行运行,开发人员可以在其中测试他们的代码。

Frontier:于 2015 年 7 月 30 日发布,最初的实时版本允许人们开采 Ether 并构建和运行合约。

Homestead:于 2016 年 3 月 14 日发布,对协议进行了一些更改以使其更加稳定。

Metropolis:未来会发布,从命令行到GUI。

Serenity:未来会发布,从 PoW 过渡到 PoS(Casper)。

总结

以太坊开发团队的愿景是创建一个不可阻挡、抗屏蔽(审查)和自我维持的去中心化世界计算机,可以执行计算、存储数据和通信。

它有一个公共免许可的开源版本,源代码的分叉和复制版本已适应在专用网络上使用。公共和私有版本各自尝试解决不同的问题。

这项技术现阶段还不成熟,但随着更多人使用、测试、开发和构建它,它会改进并变得更强大。

以太坊是区块链领域最令人兴奋的技术之一,值得关注它的进展。