Ver 2022.1
<周朝晖>
🐦 @zhous98 | 👋 DAism.io
1️⃣ 比特币:区块链 1.0
2️⃣ 钱包:区块链的入口
3️⃣ 以太坊:区块链 2.0
4️⃣ 通证标准的进化与应用
5️⃣ 去中心化交易与支付
6️⃣ 以太坊改进提案
7️⃣ 区块链发展:激励式开源协作
初学者每个幻灯的自学时间预计不低于30分钟
1️⃣ 比特币:区块链 1.0
2️⃣ 钱包:区块链的入口
3️⃣ 以太坊:区块链 2.0
4️⃣ 通证标准的进化与应用
5️⃣ 去中心化交易与支付
6️⃣ 以太坊改进提案
7️⃣ 区块链发展:激励式开源协作
以太坊“官网”(www.ethereum.org),就是一个庞大的区块链知识库。
其内容是断断续续增补的,造成两大缺点:
比特币将转账(交易)信息记录到许许多多的去中心化节点里,使得每个全节点都拥有完整的历史账单,让每个节点都有能力利用自己的独立数据检验其它节点产生的账单的真实可靠性。再加上加密技术的加持以及代币奖赏的激励,成功地为匿名且去中心化的记账模式带来了安全可靠的协作。
受此启发,以太坊采用同样的技术原理,遵循去中心化、去审查等核心规则,允许任何人把他开发的智能合约(程序)部署到所有的全节点里,通过“相同的输入是否有相同的输出”这一检验手段,保证匿名且去中心化的智能合约(去中心化应用,dApp)运行中的可信和可靠。
理论上,我们可以用智能合约语言,开发出一个新世界所需要的所有应用!
以太坊很显然是比特币的传承与超越!
在以太坊网络中,有一台规范化计算机(称为以太坊虚拟机,或 EVM),其状态得到以太坊网络中所有人的一致同意。 每个参与以太坊网络的人(每个以太坊节点)都会保存一份这台计算机的状态。 此外,任何参与者都可以广播请求这台计算机进行任意计算。 每当广播这样的请求网络时,网络上的其他参与者就会验证、确认并进行(“执行”)计算。 这个命令会导致 EVM 的状态变化,并且在整个网络中传播。
计算请求被称为交易请求;所有交易的记录以及 EVM 的当前状态都存储在区块链中,而区块链又由所有节点存储并达成一致。
加密机制确保了一旦交易被验证为有效并添加到区块链中后,之后就不会被篡改。 同样的机制还确保所有交易都以适当的“权限”签名和执行(除了 Alice 本人,任何人都不能从 Alice 的账户发送数字资产)。
从应用层面说,智能合约(Smart Contract)是以程序代码形式定义合约参与方的承诺,并能够完全抗干预地根据承诺自动执行包括转账数字加密货币在内的约定条款的协议。
在以太坊里,应用程序开发者可将程序(可重用的代码片段)上传到以太坊主网,用户发出请求以使用不同参数执行这些代码片段。 我们将这些上传至网络并由网络执行的程序称为智能合约。
因此,智能合约是一种运行在以太坊链上的程序。 它是位于以太坊区块链上一个特定地址的一系列代码和状态(数据)。智能合约也有一个独特的以太坊帐户,我们称之为合约账户。 这意味着它们有余额,它们可以通过网络进行交易。但它们无法被人操控,它们是被部署在去中心化网络节点上作为程序运行着。个人用户可以通过提交交易执行智能合约的某一个函数来与智能合约进行交互。智能合约能像常规合同一样定义规则,并通过代码自动强制执行。
参考资料:
https://ethereum.org/zh/developers/docs/smart-contracts/
https://github.com/ethereum/ethereum-org-website/pull/4449
无需准入性,免许可
任何人都可以编写智能合约并将其部署到区块链网络上。
智能合约在以太坊上公开,并被认为是开放应用程序接口。 这意味着你可以在你自己的智能合约中调用其他智能合约以极大地扩展可能性。任何合约甚至都可以部署其他合约。
和通证的账单一样部署在以太坊各个大节点上,无需人去启动或终止。除非设计了自我停运机制,否则它具有永久的运行能力。
以太坊节点的硬件配置,因为刚经历从 PoW 到 PoS的转变,还没有得到足够的重视。有很大的商机……跟马斯克有关。
智能合约是严格按照甲乙双方已写入代码的约定,封闭式自动执行的。勿需也不允许第三方的介入。
勿需信用中介,即勿需第三方信用背书,智能合约本身即可提供可信的中立性。
智能合约为可信的中立性提供了基础架构,它允许我们信任系统的输出,而不需要信任它里面的任何参与者。
合约代码不可篡改(修改)
通过区块链加密技术防范人为作弊等干扰,具有抗审查的能力。
任何人都可在链上查阅合约代码,彻底了解它的所有细节。
智能合约是自主运行的,无需知道你是谁也无需人去启动或终止。
部署匿名;
使用匿名。
智能合约是用代码写出来的,它不存在任何语言上的歧义的可能。
智能合约本身无法获取关于“真实世界”的事件信息,因为它们无法发送 HTTP 请求。这样设计是因为依赖于外部信息可能会危及共识,这对安全性和去中心化而言十分重要。
很多人误以为这是智能合约的局限性。
目前很多dApp通过 预言机 来补充。未来的解决方案是 AI。
账户抽象化:
类JavaScript
如果您是初学者,网上有很多教程和学习工具。
有一些好的开发者工具可用。
Solidity 拥有庞大的开发人员社区,这意味着您很可能会很快找到问题的答案。
类Pathon
Vyper 的功能较少,因此非常适合快速制作创意原型。
Vyper 旨在易于审计并最大限度地提高人类可读性。
以上是最受欢迎和维护得最好的两种语言。
更有经验的开发者也可能喜欢 Yul——它是一种用于以太坊虚拟机的中间语言(以太坊的中继语言)。
或者是 Yul+ 语言——这是一种 Yul的低级、高效扩展。可以被视为对 Yul 的实验性升级建议,为其添加新功能。
以太坊是代表区块链 2.0 的一条公链——这样解释太草率。
以太坊是一个开源的,全球分散的计算基础设施,执行称为智能合约的程序。它使用区块链来同步和存储系统的状态变化(可以理解为数据的变化),使用被称为Ether(货币符号为ETH)的通证来计量和约束执行资源所需的成本(gas)。 以太坊平台使开发人员能够构建具有内置经济功能的强大的去中心化应用程序。在提供高可用性,可审计性,可自由组合性,透明度和中立性的同时,它还减少或消除了审查并降低了某些交易对手的风险。
最通俗的描述是:以太坊(Ethereum)是一个开源的、有智能合约功能的、可以承载众多去中心化应用(decentralized applications)的公共区块链平台。
智能合约是区块链独门秘技。以太坊就是区块链的第二个杀手级应用。
My goal in creating Ethereum was to create a platform that was open, decentralized, transparent, easy to use and free for anyone to participate and build things. I think that this kind of platform can be good for humanity.
我创建以太坊的目标是创建一个开放、去中心化、透明、易用和任何人都可以自由参与和构建东西的平台。我认为这种平台对人类有益。
Vitalik Buterin
比特币是区块链的开拓者,也是区块链 1.0 的代表项目。
以太坊是区块链 2.0 的代表项目。