科普 | 以太坊概况_第1页
科普 | 以太坊概况_第2页
科普 | 以太坊概况_第3页
科普 | 以太坊概况_第4页
科普 | 以太坊概况_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、科普I以太坊概况你可能已经听过“区块链”和“智能合约”这两个术语, 但它们实际是什么意思?我们将揭开其神秘面纱,向你解释 实用的区块链解决方案,然后给你一些如何创建它们的指 导。这是一个高层次概述,包括:区块链基础为什么使用区块链?什么是区块链?区块链如何工作?以太坊区块链什么是以太坊?什么是智能合约?以太坊网络分布式应用(Dapps)为什么使用区块链?当有很多个位于世界各地的参与方,它们之间在无法互相信 任、但需要共享数据和传输价值情况下,就需要使用区块链 了。金融界将这种信任描述为交易对手风险,即其他参与方 最后不履约的风险。区块链通过一种创新的数学系统、密码 学和点对点网络,完全解决了交

2、易对手风险。在我们详细了 解它们的工作原理之前,我们需要回顾一些历史,以及区块链产生的必要性。第一个数据库在20世纪60年代,第一台计算机式数据库出现。这些硬件 占据了很多房间,而互联网还有几十年才出现,数据通常存 储于中心的实体位置。这是一种中心化方式,意味着数据的 位置和访问都由中央机构控制。中心化系统可由恶意角色从 内部或外部控制,所以我们相信这些系统拥有者有足够意愿 和资源来保护数据的安全性和完整性。中心化数据库在今天 依然是最常见的,支持着大多数在线和离线应用。自我托管博客就是中心化数据库的一种常见形式。所有者为 了让文章更好,可以进行事后编辑,或者无需追索就可以审 查用户。即使拥有

3、一名正直的所有者,黑客也会渗透到服务 器并实施恶意行为。如果没有数据库备份,那就几乎无法确 认哪些数据被修改或损坏。如下图所示,每个服务器边上的箭头都是需要信任的连接。共享数据需求共享大量数据是非常昂贵和麻烦的。我们可以通过在需要共 享的各参与方分配数据来缓解这种负担。读/写由这个群体 中的一方或多方控制,因此受制于类似中心化数据库的变化 方式。现代共享数据库使用技术来减少这种损坏,其中部分技术与 区块链重叠。根据不同的共享数据库系统,它可以有以下特 点.八、永久性:创建一个新拷贝并将旧数据保留为历史记录,而不 是直接覆盖旧数据。该记录可以被访问,用于证明某一时刻 存在的数据。共识性:对于要共

4、享的数据库,所有参与方必 须就其内容达成一致(达成共识)。有很多种达成共识的方 法,其中一种(工作量证明),我们将在下一节区块链中讨 论。区块链具有以上特点并将其运用到更深层次,完全解决 了信任问题。什么是区块链?区块链是核心是一个共享数据库,该数据库称作分类账本。 就像一个银行,简单的区块链分类账本会跟踪货币(这里指 加密货币)所有权。与中心化银行不同,每个人都有该账本 的拷贝,而且可以验证彼此的账户。这就是区块链的分布式(或去中心化)特点。每个包含账本拷贝的连接设备被称作 节点。区块链网络中账户之间的交互被称作交易(Transactions), 它们可以是货币交易,例如发给某个人以太坊中的

5、加密货币 以太币;它们还可以是数据传输,例如评论或用户名。区块 链上的每个账户都有唯一的签名,让每个人都知道是哪个账 户激活该交易。比起之前的数据库,区块链除了解决信任问题,还有以下主 要优点:完全去中心化:读/写数据库是分散和安全的,单独某个人 或某个组无法控制区块链。极致容错:容错是系统处理损坏 数据的能力,虽然容错能力不是区块链特有的,它将此概念 逻辑化,让每个人共享数据库来验证其变化。独立验证:交 易可以由任何人验证,无须第三方,这有时也被称作脱媒。 现在我们对区块链价值有一定了解,下面让我们来深入了解 它们的工作原理。区块链如何工作?在一个公链中,任何人都可以读写数据。读取数据是免费

6、的, 但向公链中写数据是需要花费的。这种花费有助于阻止垃圾 内容,并通过支付保护其安全性。网络上的任何节点都可以 参与称作挖矿的方式来保护网络。由于挖矿需要计算能力和 电费,矿工们的服务会得到一定报酬。挖矿网络中的每个节点可以选择参与挖矿。通常,节点的矿工需 要竞争解决保护区块链内容的数学问题。每个区块都是刚创 建的待处理交易集合,需要添加进链条中最新的区块后面。 数学问题比赛的获胜者创造了下一个区块,并收到一些加密 货币作为奖励。这激励了节点来保护网络,防止太多权力掌 握在任何一个矿工手中。哈希一旦新区块被开采出来,其他矿工将被通知,它们开始验证 并将这个新区块添加到其链条的副本中。我们之前

7、提到的数 学问题称作加密哈希(或简称哈希)。哈希函数是一个特殊 单向的过程,它接收数据并返回一个表示该数据固定长度的 字符串。虽然原始数据不能从其哈希值中再现,但相同数据 始终产生相同的哈希值。因此,未验证的数据可以使用相同 函数进行哈希,并与原始数据比较。如果它们相同,则数 据验证通过。一旦一半以上的矿工验证了新区块,网络则就新区块达成共 识,并成为链条中永久的一部分。现在这个数据可以很容易 被非采矿节点下载(同步),且其有效性得到保证。这是整个可视化过程:1. Bob尝试向Alice发送1 ETH。2. Bob和Alice的交易与其它自上个区块之后发生的交易 绑定在一起。3.矿工们竞争验证

8、新交易集合产生的区块。4. 成功创建新区块的矿工将会得到报酬。5.交易通过验证, Alice 收到 1 ETH。什么是以太坊?以太坊不仅是一个数据库,它还允许你在区块链的可信环境 中运行程序。以太坊在区块链上搭建了一个名为EVM(Ethereum Virtual Machine,以太坊虚拟机)的虚拟机。EVM 允许在区块链上验证和执行代码,为代码在每个人的机器上 以相同方式运行提供保障。这些代码包含在智能合约中(更 多如下)。除了追踪账户余额,以太坊使用相同方法将EVM的状态保 存在区块链上。所有节点处理智能合约,来验证合约本身及 其输出的完整性。什么是智能合约?智能合约是指在EVM上运行的程

9、序,它们与其他编程语言 十分相似。智能合约可以接受和存储以太币、数据、或两者 组合。然后,使用编入合约的逻辑,它可以将以太币分发到 其他帐户、甚至其他智能合约。你可以看到复杂系统是如何 从这种灵活性中发展起来的。智能合约是用Solidity语言编写的。Solidity是静态类型, 支持继承、库和复杂的用户定义类型等功能。它的文件扩展 名是“.sol”。Solidity的语法类似于JavaScript。我们将在 以后教程中介绍Solidity基础知识,但你也可以通过查看文 档来深入了解。这里继续Bob和Alice的智能合约案例。这一次,他们正 在使用托管合约(一个货币储存空间,储存一定货币直到满

10、 足某条件),以便在最终交易之前存储其以太币。Alice想雇 佣Bob来建立一个露台。为了让双方保持诚实,Alice同意 在托管合约中存放露台款项,Bob同意在合约中存入同等金 额。2. Bob完成了露台,Alice很激动!她许可智能合约释 放资金。3. Bob收回了 1 ETH的抵押,和Alice支付的1 ETH在更复杂的托管合约中,如果Bob没有完成露台,或他完 成的非常糟糕,可以将规定写入合约代码中,以释放Bob给 Alice的抵押。以太坊网络到目前为止,我们已经描述了主要网络(或主网),以太坊 的公链。任何人都可以创建一个节点并开始验证交易;因此, 它是高度安全的。链上的数据,包括账户

11、余额和交易,都是 公开的。网络上的以太币具有市场价值,并可以交换其他数 字货币、或例如美元的法定货币。除了主网,还有测试网络(本地和公有),以及私有网络。本地测试网络以太坊区块链可以在本地进行模拟开发。本地测试网络可以 即时处理交易,并且以太币可以根据需求进行分配。存在一 系列的以太坊模拟器;我们推荐我们自己的:Ganacheo 公有测试网络这些测试网络是存在和公开的。这些网络上的以太币仅用于 测试目的,没有货币价值。由于这些网络是公有的,所以货 币是免费的,开发人员在最终部署以太坊应用程序到主网之 前,需要使用它们测试。* Ropsten:由以太坊基金会创建的官方测试网络。Kovan:一种使

12、用权威证明(Proof of Authority)”共识方法 的公有测试网络。这意味着其交易由选定人员进行验证,从 而只需要4秒的出块时间。此测试环境上的以太币供应也受 到控制,以减轻垃圾内容的攻击。这个链条的信息是公开的。 Kovan是由Parity科技创建的,需要他们的Parity以太坊 客户端。Rinkeby: 一个同样使用权威证明的官方测试网络。 任何以太坊客户端都可以访问,由以太坊基金会创建。私有/企业网络私有以太坊网络允许各参与方共享数据,而不使其公开访 问。私有区块链是一个很好的选择,当:分享敏感数据,如 医疗保健记录,这是不允许或不希望公开的。小团体需要更 大的容量。随着网络规模的缩小,私有区块链可以扩展到更 大的规模,并处理比公链更重的读/写量。基于以太坊的私 链同样运行EVM,因此也兼容Truffle和其他开发工具。摩 根大通最初开发的Quorum就是一个非常好的例子,也与 Truffle兼容。更多关于在Quorum上使用Truffle的内容请访 问我们的博客。Dapps (分布式应用程序)使用智能合约的应用程序大多数(虽然不是全部)的后端处 理称为dapps,分布式应用程序的缩写。这些dapps的用户 界面使用包括你可能已经知道的语言:HTML,CSS和 JavaScript。这些文件可以托管在传统可信的Web服务器 上,或无需信用的分布式文件服务上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论