以太坊初学者教程:智能合约、DApps、好处和限制
已发表: 2021-03-11想象一下,您处于以下情况之一:
- 您的电子钱包帐户由于某种原因被平台封锁。
- 您的公司必须为客户工作,但您不知道是否可以信任他们。
- 您的社交媒体帐户被黑了。
所有这些情况都很痛苦,对吧? 如果我们告诉您有一种技术可以为所有这些情况(以及更多)提供解决方案,那会怎样。 该技术就是以太坊,这个面向初学者的以太坊教程将使您更加熟悉它。
从世界顶级大学在线学习软件开发认证。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
目录
以太坊——简史
这是您需要了解的有关以太坊发展的所有时间表:
- 2013 年11 月——最初参与比特币的开发人员 Vitalik Buterin 发表了一份关于以太坊的白皮书。
- 2014 年1 月– 一家瑞士公司 Ethereum Switzerland GmbH 宣布开发由 Vitalik Buterin、Mihai Alisie、Anthony Di Iorio 和 Charles Hoskinson 等开发人员团队领导的以太坊软件项目。
- 2014 年8 月——以太坊结束其 ICO 并成功筹集了 1840 万美元。
- 2015 年5 月——以太坊发布了它的第一个测试网Olympic。
- 2015 年7 月– Frontier,以太坊的第一个版本发布。
- 2016 年3 月– Homestead,以太坊网络的第二个版本升级发布。
- 2016 年5 月——当 DAO(去中心化自治组织)在众筹中筹集了创纪录的 1.5 亿美元时,以太坊获得了广泛的媒体报道。
- 2016 年6 月– DAO 黑客事件发生,导致价值 5000 万美元的以太币损失(它占当时流通的以太币总量的近 15%)。
- 2016 年7 月– 以太坊网络分为两部分:以太坊 (ETH) 和以太坊经典 (ETC)。
- 2017 年 6 月 – 自 2017 年 1 月 1 日以来,以太坊以 5001% 的创纪录涨幅创造了超过 400 美元的收入。
什么是以太坊?
以太坊是一种基于区块链的、开源的、去中心化的软件解决方案,我们用它来创建自己的称为以太币的加密货币。 它允许您在其平台上构建和运行分布式应用程序 (DApp) 和智能合约,而不会受到任何欺诈、停机或第三方干扰。
除了作为一个强大的平台之外,以太坊还是一种在区块链上运行的编程语言(图灵完备)。 简单来说,以太坊是一个去中心化的平台,你可以用它来编程数字货币。
以太坊是最大的去中心化软件应用程序,在它的帮助下,您可以轻松创建和公开下一代 DApps。
以太坊自问世以来,彻底改变了区块链行业。 在它到来之前,基于区块链的解决方案无法执行多种应用程序。 例如,比特币和其他加密货币只能作为数字货币运作,而以太坊则是作为开发人员创建基于区块链的程序的平台。
每个人都可以访问以太坊,并允许每个人开发基于以太坊区块链的程序。 根据Ethereum.org的说法,“以太坊是世界上可编程的区块链”。
以太坊背后的人采用了比特币和类似加密货币的基本概念,并为其添加了更多功能,并创建了这个广受欢迎的区块链解决方案。
截至2019 年 9 月,以太坊是世界上第二大加密货币,仅次于最受欢迎的区块链应用程序比特币。 但是,与比特币相比,您可以更快地获得以太币(以太坊的加密货币),因为前者只需要 14 到 15 秒,而后者需要近 10 分钟。
要正确理解以太坊,您必须熟悉该技术的一些基本组件。 以下是您应该了解的以太坊的主要方面:
- 醚
- 气体
- 以太坊虚拟机
- 智能合约
- DApps(去中心化应用程序)
在我们面向初学者的以太坊教程的以下部分中,我们将介绍这些概念并了解该区块链平台的内部工作原理:
以太坊——你应该知道的重要术语
1. 货币发行
在每个国家,货币发行主要由一个国家的中央银行或该国的货币当局管理和监控。 例如,在印度,RBI 是监管所有其他银行和金融当局的货币当局。
2. 去中心化自治组织
去中心化自治组织是一个数字组织,由一组编码为计算机程序的规则管理和监管,不受中央管理机构的影响——它完全透明并由股东控制。 DAO 的实践和金融交易记录保存在区块链网络上。
3. 智能合约
智能合约是一种计算机协议,旨在促进和验证两方或多方之间的合同谈判或履行。 这些数字合约依赖于共识系统,并且在没有任何第三方干预的情况下执行。
4. 智能物业
智能财产可能意味着建立在以太坊上的实物资产和加密资产(股票、网络访问权等)。 智能财产的所有权通过以太坊钱包控制,该钱包充当以太坊区块链上 DApp 的网关。
5. 坚固性
Solidity 是一种高级面向对象的语言,用于在以太坊中实现智能合约。 它从 C++、Python 和 JavaScript 编程语言中汲取灵感,旨在针对以太坊虚拟机 (EVM)
6.以太坊虚拟机
以太坊虚拟机(EVM)是为智能合约设计的运行时环境。 本质上,EVM 是位于底层硬件之上的虚拟计算机层。 这些虚拟层在执行代码和执行机器之间创建了一个抽象级别。 EVM 有助于提高软件的可移植性,并确保应用程序不仅相互分离,而且与它们的主机分离。
7. 交易
交易是从一个帐户发送到另一个帐户的消息。 它们包括称为以太的二进制数据。 它是一种价值转移,被广播到以太坊网络并收集到块中。
以太坊网络
至此,你已经知道以太坊网络是一个分布式去中心化的公有区块链网络。 然而,还有更多。 以太坊是在以太坊网络上运行的所有去中心化 P2P 应用程序和组织的基础。 该网络由两个独特的节点组成——完整节点和轻量级节点。
完整节点是那些包含自创世(父)块以来交易的完整历史记录的节点。 他们记录根据以太坊规范中规定的规则验证和验证的每笔交易。 因此,全节点证明了区块链网络的完整性、安全性和透明度。
与全节点不同,轻量级节点仅包含整个区块链的一个子集。 轻量级节点不会验证每笔交易,并且可能/可能不会持有当前区块链状态的副本。 它们主要依赖于完整节点来为它们提供缺失的细节或特定的特定功能。 顾名思义,轻量级节点是轻量级的,因此它们可以在内存受限的设备上运行得更快。 轻量级节点主要用于本质上是轻量级的电子钱包。
什么是以太?
以太币是您在以太坊网络上用于支付交易的加密货币。 您可以通过以下两种方式使用 Ether:
- 应用程序需要以太币支付才能在平台上执行任何操作,以防止恶意和破坏程序在网络上运行。
- 该网络使用以太币奖励像比特币一样为以太坊网络做出贡献的矿工。
除了这些应用程序之外,您还可以使用 Ether 购买 Gas,我们将在下一节为初学者提供的以太坊教程中介绍。 在以太坊中,Ether 是一个公制单位,可以让你准确地支付 Gas 和交易费用。 以太币的最小面额是 Wei。 一个 Ether 有 1e18 Wei。
什么是气体?
以太币并不是以太坊上唯一可用的数字货币。 当你在以太坊上执行交易时,你必须通过 Gas 向矿工支付以太币。 Gas 是一种中介代币,它允许您衡量完成交易或运行智能合约所需的计算工作。
Gas 的价格以 Ether 表示。 此外,矿工确定 Gas 价格,他们可以拒绝运行智能合约或处理不提供所需 Gas 价格的交易。
我们通过以下等式计算以太坊的交易费用:
以太币 = Gas Limit x Gas Price
在这里,Gas Price 是您必须支付的 Ether 数量,Gas Limit 是用于计算过程的 Gas 数量。 Gas Limit 和 Gas Price 确保合约在某个时间点结束。
以太中的气体去哪儿了? 它位于以太坊虚拟机 (EVM) 中,我们将在以下部分中介绍:
什么是以太坊虚拟机?
以太坊虚拟机是执行以太坊中所有交易的地方。 它允许您在单一平台上开发所有应用程序。 可以说,EVM 是运行整个以太坊网络的引擎。
虽然以太坊已经为开发去中心化应用程序设置了定义的协议,但它之所以能够这样做是因为 EVM。 以太坊虚拟机是隔离的和沙盒的。 这意味着运行 EVM 的代码无法访问文件系统或网络,也几乎无法访问其他合约。
当你将 Solidity 代码输入以太坊时,它首先会进入以太坊编译器。 之后,它将 EVM 字节码发送到处理其余过程的以太坊虚拟机。
EVM 管理以太坊的计算和内部状态。 它执行代码,维护一个内部数据库,并拥有许多可以相互通信的称为“帐户”的对象。
什么是智能合约?
智能合约是一种自动运行的计算机程序。 作为一种交易协议,它使您能够通过区块链交换商品、金钱和服务。 智能合约具有双方为对方设定的特定条件,当双方满足各自的条件时,智能合约就会相应运行。
使用智能合约,您可以执行各种任务,例如去中心化投票等等。 简单来说,智能合约是一种自动执行、强制执行、管理和处理付款的合约。
要在以太坊上执行智能合约,您需要代币(以太币)。 如果没有所需的加密货币,您将无法在以太坊上使用智能合约。
要创建智能合约,您需要使用以太坊的通用编程语言 Solidity。 它是为在以太坊虚拟机中运行而开发的,允许您执行任意计算、存储状态和执行数字代币的交易。
智能合约提供了多种优势,因此它们越来越受欢迎。 使用智能合约的最大优势是它们无需中间人。
由于智能合约是自动的,因此没有人为错误的余地。 它们是虚拟的,与传统合同相比,价格相当实惠。 智能合约在多个行业都有潜在的用例,包括:
- 卫生保健
- 金融和银行
- B2B 服务(IT 服务、营销服务等)
另请阅读:以太坊项目的想法和主题
什么是 DApp?
DApp 或去中心化应用程序是在分布式网络上运行的软件应用程序。 它托管在点对点分散网络上,而不是中央服务器上。 DApp 可以是任何软件应用程序,例如移动应用程序或网站。 DApp 和传统应用程序之间的区别在于它建立在去中心化网络上。
去中心化应用程序的用户界面就像任何传统应用程序的界面一样。 但是,去中心化应用程序的所有后端进程都基于去中心化网络。
以太坊是一个去中心化的区块链网络,所以当你创建一个基于以太坊的应用程序时,你实际上是在创建一个去中心化的应用程序。 DApps 是一个相对较新的概念,但它们正变得非常流行。
随着人们越来越关注自己的隐私和安全,对 DApp 的需求也会相应增加。 尽早了解它们可以很容易地为您带来职业优势。
与去中心化应用程序类似,以太坊也有去中心化自治组织(DAO)。 这些组织仅存在于区块链上,并受区块链协议控制。 创建这些组织是为了持有资产并使用投票系统来管理资产的分配。 了解您需要了解的有关 DApp 的所有信息。
以太币
如前所述,以太坊网络运行在两种类型的加密货币上——以太币和天然气。
1. 以太
以太币是用于支付在以太坊网络中进行的所有交易的加密货币的名称。 然而,除了支付一般交易和服务外,Ether 还用于购买 Gas,用于支付 EVM 内的计算服务。
以太币是一个具有多种面额的公制单位,以帮助用户支付交易和 Gas 的确切金额。 以太币的最小面额——基本单位——被称为魏。 这是所有以太币面额的完整表格:
2. 气体
EVM 运行部署在以太坊网络上的代码。 现在,您可能认为可以有效地在 EVM 上运行无限循环并使其内存过载。 多亏了 Gas,这是不可能的。
Gas 代表网络上计算资源的度量。 以太坊网络上的每份合约都被分配了可用于计算的最大量的 Gas。 这个设定的限制称为“气体限制”。 您还应该知道另外两个 Gas 术语:
Gas Price – 以以太币及其面额等代币表示的 Gas 价格。 Gas Price 是一个浮动值,有助于稳定 Gas 的价值。 因此,如果代币或货币的成本波动,Gas Price 也会调整以保持相同的实际价值。
Gas Fee – 它代表运行特定交易或程序(合同)所需支付的 Gas 数量。
因此,如果您尝试运行无限代码(永远运行的代码),最终合约将超过其分配的 Gas Limit,并且调用合约的整个交易将回滚到其原始状态。
以太坊的好处和局限性是什么?
在我们面向初学者的以太坊教程的这一部分中,我们将看看这个区块链平台的各种优势:
- 使用以太坊,您可以上传和请求要执行的程序。
- 它提供永久和持久的数据存储。
- 您可以创建可交易的代币,将其用作虚拟股票或数字货币。
- 它提供 100% 的正常运行时间和 DDoS(分布式拒绝服务)抗性。
- 您可以在以太坊中创建虚拟组织 (DAO)。
- 它允许您创建高度安全和容错的 DApp。
然而,与任何其他技术一样,以太坊也有其局限性。 以下是以太坊的一些缺点:
- 需要用户 ID 验证的应用程序在以太坊上构建将是有问题的,因为没有中央机构来执行验证。
- 更新应用程序或修复错误可能非常具有挑战性,因为每个节点都必须更新他们的节点软件。
以太坊挖矿
与任何其他区块链技术一样,以太坊通过基于激励的模型(通常称为工作量证明机制)来提高安全性。 以太坊中使用的工作量证明算法称为 Ethash,这是一种受 Dagger-Hashimoto 算法启发的哈希算法。
以太坊挖矿的步骤如下:
- 用户通过将 Ether 值发送给另一个用户来启动交易。
- 然后将此新交易与前一个块中包含的其他交易一起添加到新块中。
- 网络中的矿工竞争使用一组特定的指令来验证新块。
- 能够成功验证新区块并将其添加到网络中的矿工将获得奖励,即 ETH。
- 一旦交易被验证,发起交易的用户也会获得一个以太币。
以太坊初学者教程:下一步是什么?
以太坊是一项具有多个方面的庞大技术。 如果没有足够的资源和指导,了解其各个部分(例如智能合约和挖矿)可能会非常麻烦。 正如您在我们的以太坊初学者教程中必须看到的那样,如果您了解区块链及其在以太坊中的实施,使用这项技术变得轻而易举。
这就是为什么我们建议参加涵盖以太坊及其所有技术方面的区块链课程。 区块链课程将为您提供结构化的课程,以便您可以有效地学习。
在 upGrad,我们提供多个区块链课程,帮助您了解以太坊区块链的基本和高级概念。 您将了解什么是区块链、什么是以太坊、它们如何协同工作以及如何将它们用作区块链专业人士。
在 upGrad,您可以获得以下区块链课程:
计算机科学理学硕士(提供区块链开发专业)
upGrad 与利物浦约翰摩尔斯大学一起提供这个项目。 它持续 19 个月,提供超过 500 小时的学习材料。 在此计划中,您将获得与行业导师和 30 多个项目和任务的每两周一次的小组指导。 对于非技术背景的人来说,这是一门出色的区块链课程。
申请区块链高级证书课程
本课程持续 7.5 个月,为您提供超过 250 小时的学习时间。 您将获得 IIIT 班加罗尔校友身份和区块链行业专家的 1:1 个性化指导。 除了以太坊,您还将了解 Hyperledger Fabric、智能合约等等。
软件开发执行 PG 计划 - 区块链专业化
这个为期 13 个月的课程将为您免费提供为期 4 个月的数据科学和机器学习高管认证。 您将在该计划期间通过现场讲座和在线课程进行学习,并学习 10 多种编程工具和语言。 最重要的是,您可以测试您对区块链和以太坊的了解
上述所有课程都要求您拥有学士学位,并取得 50% 或同等及格分数。 请注意,您无需任何编码经验即可注册其中任何一门课程。 您将学习成为熟练专业人员所需的所有技能。
结论
以太坊无疑是一项了不起的技术。 通过完成这个面向初学者的以太坊教程,你肯定已经迈出了学习这项技术的第一步。
以太坊区块链还有更多值得注意的应用。 区块链领域的职业正在兴起,因为它改变了技术的格局。