如果你是加密界的新手,面对众多概念无从入手,那么欢迎你,来对地方了
关注推特:@btc986
不定时,更新学习教程,小白成长之路
Vitalik Buterin(以太坊联合创始人)的某篇热门博客帖子中,他写道,“有时候,差别极小的过度简化正是我们了解世界所需要的东西。”我希望,通过将这些复杂的话题浓缩为极简的内容,让这则指南可以帮助所有人了解以太坊世界。
以太坊101 - 基础篇
新手最全攻略:以太坊简易指南
ETH中文网 ETH中文网 发表于 1天前
来源 | mirror.xyz/brunny.eth
如果你是加密界的新手,面对众多概念无从入手,那么欢迎你,来对地方了。
我最聪明的一些朋友已经开始花更多时间钻研以太坊。而在此过程中,他们中有些人问过我类似的问题。通常都是关于具体概念的界定(比如,“什么是 gas ?”)或者是广泛的概念性问题(比如,“ Uniswap 如何运作”)。这些疑问促使我写成了这一篇《以太坊简易指南》。
如何使用这篇指南呢?
它被划分为五个主要部分:
“以太坊 101”入门部分,
“以太坊 201”深入探讨更为复杂的概念,
加密语境中关于身份认定部分,
去中心化金融部分,以及最后,
关于以太坊的未来。最后的部分尤其探讨向 PoS (权益证明机制) 的过渡(如果现在这些与你无关,则不要过于忧虑)。
在每一部分,我解释了很多复杂的专业术语,编制了许多实用的图表,以通俗的语言阐释以太坊中最为重要的概念性主题。并且,我还在指南的末尾附上了额外资源,供大家继续深耕。
在了解以太坊时,你可以针对性地运用指南的不同部分进行快速阅读和检查,或将指南作为探索未来的一个灵感点,或作为一个链接分享给最近对加密领域感兴趣的朋友 。举例来说,可以按 Ctrl+F 键查找“ Uniswap ”更多地了解去中心化交易所。或者,还可以检索“ wallet ”(钱包)学习更多有关非托管钱包的安全知识。
在Vitalik Buterin(以太坊联合创始人)的某篇热门博客帖子中,他写道,“有时候,差别极小的过度简化正是我们了解世界所需要的东西。”我希望,通过将这些复杂的话题浓缩为极简的内容,让这则指南可以帮助所有人了解以太坊世界。
以太坊101 - 基础篇
在认识以太坊之前,我们需要了解它的基础概念。在这个部分,我将阐释什么是区块链,区块如何添加到链上,以太坊如何像世界计算机一般运作,以及智能合约如何运行。
区块链 - 区块链是指特定网络中一系列独立计算机处理和维护的所有交易的公开记录本。比起用中心化的方式管理这些交易数据库(就如 Amazon 或 Facebook 控制自己数据的方式),区块链上不存在单个数据所有者,使之去中心化。在这个网络中的计算机遵循着特定的规范和机制,以保存所有交易的记录。
这些规范让计算机能够同意网络中发生的所有(交易)行为,或就其达成共识:计算机 A 是否转出资金给计算机 B ,计算机 B 是否发送这些资金给计算机 C,以及什么时候呢?上周发生了什么事呢?六个月前发生了些什么?
网络中的计算机是独立的,因此,计算机 D 和 E(和 F 和 G ......)可能不认识计算机 A、B 或 C。区块链的一系列规则意味着,单个计算机无须独自验证其他计算机提供的数据的准确性,就能对区块链历史上发生的交易达成一致。换句话说,计算机之间不用信任彼此就可以达成共识。在网络中的计算机之间,这种去信任共识机制具有举足轻重的重要性。
区块链数量十分庞大,每一条链遵循着自行设置的规范达成共识。以太坊区块链致力于为给不同领域中酷炫的、新颖的应用提供基础设施服务与设计空间,比如游戏、艺术、金融和社交媒体类的应用。
共识机制 - 当区块链上的所有计算机都同意发生在网络中的事实,这就是“达成共识”。单个计算机之间根据区块链的规则达成共识,并且每一次将新交易打包至链上,所有计算机都需要经历达成共识的全过程。一旦这些计算机达成共识,交易区块则被打包到区块链上,成为网络历史记录中的一部分。大致的意思是,假设计算机对每次新交易添加至链上的行为无异议,那就相当于同意了区块链的整个历史记录,因为他们不得不参与其中的每一环。
共识是一个支撑整个区块链世界的重要概念。如何在不信任网络中任何参与者的情况下,验证上面发生的交易,这是一个非常难以解决的人类问题,而区块链是这一问题的最优解。不同规范(或是“共识机制”)可以促使个人计算机在区块链中达成共识。下面介绍两种主要共识机制:
工作量证明(PoW) - 在工作量证明机制中,计算机之间以竞赛的方式解决复杂的数学问题。网络会给第一台解决问题的计算机提供经济奖励,这激励着计算机背后的人不断更新并运行节点(换言之,确保网络一直处理交易)。
也许你曾听过,这种竞相解决计算密集型数学问题的过程就叫“挖矿”。基本上,经验证为合法的交易,可以安全地添加到区块链上。这也是比特币区块链以及当前以太坊区块链在实施的规则。
工作量证明机制也有它的缺点,主要是1)最终,最强大的(和最昂贵的)计算机能够更快地解决问题,因此,富者衡富;2)在计算机上解决高难度的数学问题需要消耗很多精力,这已经成为整个区块链最为人诟病的一点。
权益证明机制(PoS) - 相对于耗费大量算力来达成共识(如 PoW),权益证明机制则是利用惩罚的风险(和一些经济激励)约束/激励参与者。
在权益证明机制中,参与者筹备资金(技术角度而言,他们“质押”自己的资金),并换取进入随机选拔程序的资格。被随机选中的计算机需要验证下一批即将到来的交易。当随机选中的计算机正确地处理交易(在权益证明机制的限制范围内),可以获得奖励。
如果被网络随机选中的参与者违反了权益证明机制的规定,那么这个参与者质押的资产就会减少(或“被罚没”)。
PoS区块链不会同时请求网络中的所有计算机破解那些数学难题,而是通过随机选取计算机进行交易验证。略过繁重的计算过程可以减轻PoW机制出现的两大主要问题。这也是以太坊在规划2022年部署下一代区块链时,打算启用这套共识机制的部分原因。
节点 - 为了以太坊区块链的运作,网络中的参与者需要运行特定的软件,协助他们与区块链进行交互。我倾向于认为,每个节点作为独立计算机运行着以太坊软件。同样地,节点(网络中的参与者)越多就越去中心化,但有时,维护所有节点有些麻烦,因此,不同的节点针对不同的目的:
全节点 - 全节点用来储存完整的区块链数据,帮助区块进行验证并打包到链上。这类节点还为过去的交易提供有效性证明
轻节点 - 轻节点的功能在设计上相对少于全节点。比起储存完整的区块链数据,轻节点仅仅储存较少量过去交易的证明。这类节点让更多人参与到网络中,因为它们存储更少的数据,运行起来更加经济。
归档节点 - 归档节点是以太坊世界的程序库/维基百科词典。它们储存全节点所有的数据,甚至更多。分析工具和钱包提供商也许会利用归档节点来拉取很久之前的信息。
客户端 - 这是以太坊的软件,使得计算机(节点)能够同以太坊网络进行交互。单个节点可以选择他们想用的客户端软件,但多用一些不同类型的客户端对于去中心化至关重要,以免其中某个客户端出现 bug 或者问题。现在有执行客户端和共识客户端两种类型,但这不在指南介绍的范围内。
现如今,链上有很多可用的客户端,最近以太坊社区争取让最大的一些节点运行机构多样化其运行节点的客户端。重要的是,任何想要参与运行以太坊网络的用户,都可以创建他们自己的客户端,这意味着用户不必信赖第三方实体为其验证区块链
状态 - 以太坊区块链的状态指的是在任何特定时间点区块链上的账户余额情况。一旦有新的事物产生(比如处理一个新的交易区块),那么状态则会更新并精确地反映区块链在打包新交易后的状况。
以太坊的状态保存不同账户及其余额的信息。换言之,一旦区块链验证新的交易,状态也会随之更新,利用刚添加的新交易信息反映出新的账户余额。
侧栏 - 如何将区块打包到区块链上?
一个用户可能想用以太坊区块链发送一些资金给另一个用户。一旦发起方用户这边发起了交易,这笔交易就要在接收方用户收到这笔钱之前,被打包至交易链上。
当这样一笔交易打包到以太坊区块链上,各个节点需要在交易打包上链并变成其一部分历史之前,完成整个达成共识的过程。
在下图中,它讨论的是上述的简单交易,就是一个用户发送资金给另一位用户。这笔交易被打包成区块,等待节点一同达成共识后将它添加至链上。
事实上,区块链只是所有用户对于发生在网络中的历史交易达成共识的方式,而区块链状态是已实时更新过新交易的账户余额
智能合约 - 在一定程度上,智能合约类似于物理世界中使用的传统合约的电子版。在传统合约中(例如雇佣合同或者公寓租赁),两个及以上的合约方建立一套条款,再通过律师和司法系统执行合约中的条款。
而在智能合约中,两个及以上的用户也是创建一套规则,却不是通过司法体系执行合约,而是由程序代码编写成智能合约,发送到区块链(或者部署在区块链上)。智能合约会根据已编好的代码自动运行,而不需要律师执行。
上述的侧栏部分叙述了区块打包上链的过程。智能合约是经由区块内的交易部署到链上的代码。未来的交易可以“调用”或与智能合约交互。举个简单的例子,A 用户希望和 B 用户就比特币在未来两年内的价值打赌。A 用户认为比特币在 2032 年 1 月 1 日时会超过 100,000 美元,而B用户则认为比特币会低于这个价格。那么,两位用户可以建立一个智能合约,在合约里放置彼此的资金,再约定一条简单的规则:如果比特币在 2032 年 1 月 1 日超过了 100,000 美元,智能合约则释放这些资金给 A 用户,反之,智能合约将资金打给 B 用户。这个交易过程十分简单、直接且去信任。
智能合约允许任何人以去信任的方式在世界计算机上部署代码,并且,也使得任何人去信任式地验证代码的内容(只要他们可以读懂代码!)最终,智能合约技术的存在已为一波涌现的去中心化应用浪潮带来巨大的机遇,而没有区块链技术,这些就无法成为现实。
比特币和以太坊最大的区别是,以太坊催生了一波智能合约计算平台的浪潮,这些平台是可以编写智能合约代码并直接部署到链上的区块链。以太坊基金会研究员 Josh Stark写了一部关于智能合约的文章,如果你愿意更加深入了解这个概念,我建议你阅读这篇文章。
以太币(ETH) - 以太币是支持以太坊区块链的原生货币。在工作量证明机制中,(挖矿)奖励通过以太币支付给解决数学难题的计算机。并且,参与者在权益证明机制中质押的资金也是用以太币 (需质押 32 ETH)。
以太币是加密货币的名字,以太坊是网络的名字。
以太坊虚拟机(EVM) - 以太坊虚拟机这个名字是指“虚拟的”计算机,它由所有参与以太坊网络的独立小型计算机组成。这样单个的大型计算机并非实际上处于某个位置的“物理层面上的”计算机,而是尤如一台大型(全球性的)计算机一般工作。
以太坊区块链的状态就活跃在这台计算机上,并且,当下一个区块打包至链上时,它负责执行状态更新的规范。如果以太坊网络中的用户想将智能合约代码纳入自己的交易中,那么这个代码便会在 EVM 上运行。
侧栏 - 以太坊虚拟机如何运作?
尽管对于新手来说,可能没必要了解EVM运行的复杂性,但它是以太坊区块链的重要组成部分,还能帮助读者大致了解去中心化如何规模运作。如下图,尽管图片有些复杂,但画得不错。一起按照步骤来看:
我们首先从以太坊区块链在特定时间点的状态开始。这左边的方框称作“ 世界状态σ t ” 一笔交易被打包到链上,例如从一个钱包转移以太币到另一个钱包,在图表顶端上的方框,就是“信息调用交易”。
在交易发生之前的以太坊状态(再次提示,左边的方框)加上新交易(顶上的方框)的输入数据,都在 EVM 上运行。在这里,EVM 更新区块链的状态。 一旦 EVM 更新了状态,新的状态“ World state σ t+1 ”会被储存起来。
代币 - 通常,代币指区块链上的资产。代币可以代表许多不同类型的资产。举个例子,一般认为代币是可以当成货币的资产,或者是在具体决策过程中给持有者提供投票权的资产 (治理代币),又或者完全可以作为其他东西。代币是加密世界中代表着不同种类资产的价值的原子单位。
**同质化代币(fungible token) **- 这个术语“ fungible ”指的是可以相互转换的一些商品或是物品,即可替换性。这不是一个加密原生术语,一般的货币指的是同质化货币。例如,我口袋里的1美元可以换成你口袋里的 1 美元,并且这两个 1 美元都可以用来买1美元的东西,它们是等价的。当可替代性应用于加密概念中,它指是否可以与其同一集合中的其他加密资产进行互换。我的以太币和你的以太币可以互换。
非同质化代币(NFTs) - 非同质化代币指的是所有因独一无二的存在而不可互换的数字资产。
虽然 NFT 主要是因为数字艺术和数字藏品出圈的,但它不止于这种表现形式,它可以是任何独一无二的数字资产。数字艺术和数字藏品恰好是 NFT 最早的用例之一,而已经引起了广泛公众的共鸣。这种代币引起了许多人对加密界的兴趣,但我认为诸如无聊猿和 NBATopShot 此类 NFT 项目的兴起导致广大公众低估了在以太坊区块链这样的可信结算层上部署独一无二的数字资产所带来的其他方面的效用。
从概念上看,NFT 还可以应用于许多数字收藏品以外的其他用例。如果一种产品或者服务需要能够验证某种特定数字资产的所有权和其稀缺性的有效性,那么公共区块链上的 NFT 就派上用场了。例如,音乐会场地可能会用 NFT 替代门票,或者视频游戏的设计师可以将那些难以在游戏中获得的资产转为 NFT,由此用户之间可以转让或交易。
这个概念还能玩出新花样:一些资产可以既是同质化的,又是非同质化的,这取决于同它们进行比较的集合。例如,如果我持有一个 19 世纪的 1 美元老币,并将它作为收藏品放置于玻璃罐中。这很明显,这 1 美元(非同质化的!)和被揉作一团后塞在口袋的美元新钞截然不同。
不过,如果我将玻璃罐里的1美元掏出来去星巴克消费,他们(可能)愿意收下它。这是因为,从某种程度上看,它跟其他一美元纸币是可互换的,尽管从其他角度而言,它们完全不是一回事。
关注推特@btc986
下一节,学习内容
以太坊201-进一步深入了解