LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 以太坊的工作原理

以太坊的工作原理

2020-01-16 比特玩家小姐姐 来源:区块链网络

说完了比特币是如何工作的,接下来我们幵始了解一下以太坊是怎么工作的

区块链,英文叫“blockchain”,这其实并不是一个新东西。中本聪在设计比特币前,他的圈子里已经有过十几次不同的电子现金的尝试了。虽然大都是失败的,但其中可取的部分给中本聪很好的提示,让他最终设计出了比特币。在大家常年的讨论中,逐渐形成了一些行业术语一一凡是那些涉及如何给交易打包的环节, 大家都称之为“block”,也就是块、区块;凡是那些涉及如何把区块连起来的环节,大家都称为“chain”,链条。这两个不同的部分组合在一起才能实现支付和账本功能,所以连起来就是 blockchaino,区块链就是这样来的。除了中本聪的比特币之外,中本聪的后继者还在不断改进虚拟币,这些改进有的大有的小。小的比如说莱特币,只是小参数上的调整;技术改进最大的,则是以太坊。

以太是什么?以太网是与以太坊区块链相关的数字标记(或者说就是加密货币)。换句话说,以太是代币,以太坊是平台。但是,现在人们经常交替使用这些术语。例如,Coinbase允许你购买以太坊代币(Ethereum),即代表以太币代币。

区块链的区块可以分成头部和交易部分。我们简单对比一下以太坊和比特币的头部,再对比一下它们的交易部分的格式,你就知道为什么以太坊改进最大了。事实上,很多比特币没有的特性和功能都可以在以太坊中实现。比如,以太坊提升了用户账户的重要性。以太坊网络中有2种账户,一种可以理解为普通账户,它可以主动发起交易;一种是合约账户,它不能主动发起交易,但是可以响应普通账户去执行交易。“合约”是什么呢?就是满足一定条件后一定要执行的程序。在比特币系统中,保存的是不可更改的历史交易;而在以太坊中,保存的不但有一些不可更改的历史交易,还有一些不可更改的待执行程序。这样,在以太坊中做二次的程序开发就顺理成章了,而比特币系统由于本身不支持循环语句,所以很难二次开发。除了这个,以太坊最被看好的一点是,它设计之初就计划在今后某一个时间点,不再采用工作量证明来决定哪个矿工的区块可以提交到主链上。那以太坊使用什么裁决呢?它用权益证明。权益就是股权的意思,也就是谁在这个虚拟币世界中持有的虚拟币多,他打包成块后成功提交的概率就高。

虽然权益证明的改进初衷很好,但却被其他心术不正的虚拟币开发者利用了。他们利用的逻辑是这样一一既然今后是依据股权多少,也就是虚拟币的多少,来决定挖币成功率,那流程就是在开挖之前先售卖一定比例的虚拟币,组织方一般是让参与者用他们持有比特币,来购买他们首发的虚拟币,大部分圈钱跑路的山寨币就是这样迅速集资。

以太坊为代表的区块链,打造了一个不可更改的、分布式存储的、等待执行的合约,这通常被叫做“智能合约”。智能合约是 1990s 年代由尼克萨博提出的理念,几乎与互联网同龄。由于缺少可信的执行环境,智能合约并没有被应用到实际产业中,自比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,以太坊首先看到了区块链和智能合约的契合,发布了白皮书《以太坊:下一代智能合约和去中心化应用平台》,并一直致力于将以太坊打造成最佳智能合约平台,所以比特币引领区块链,以太坊复活智能合约。

智能合约程序不只是一个可以自动执行的计算机程序:它自己就是一个系统参与者。它对接收到的信息进行回应,它可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。下面这个示意图就是一个智能合约模型:一段代码(智能合约),被部署在分享的、复制的账本上,它可以维持自己的状态,控制自己的资产和对接收到的外界信息或者资产进行回应。

以太坊项目借鉴了比特币区块链的技术,对它的应用范围进行了扩展。如果说比特币是利用区块链技术的专用计算器,那么以太坊就是利用区块链技术的通用计算机。简单地讲,以太坊 = 区块链 + 智能合约。

与比特币相比,以太坊最大的不同点是:它可以支持更加强大的脚本语言(用技术语言讲就是图灵完备的脚本语言),允许开发者在上面开发任意应用,实现任意智能合约,这也是以太坊的最强大之处。作为平台,以太坊可以类比于苹果的应用商店,任何开发者都可以在上面开发应用,并出售给用户。

以太坊智能合约的金融应用:每一类金融合约都可以程序代码的形式写成智能合约。金融衍生品是“智能合约”的最普遍的应用,也是最易于用代码实现的之一。实现金融合约的主要挑战是它们中的大部分需要参照一个外部的价格发布器;例如,一个需求非常大的应用是一个用来对冲以太币(或其它密码学货币)相对美元价格波动的智能合约,但该合约需要知道以太币相对美元的价格。最简单的方法是 通过由某特定机构(例如纳斯达克)维护的“数据提供“合约进行,该合约的设计使得该机构能够根据需要更新合约,并提供一个接口使得其它合约能够通过发送一 个消息给该合约以获取包含价格信息的回复。

当这些关键要素都齐备,对冲合约看起来会是下面的样子:

等待A输入1000以太币。

等待B 输入1000以太币。

通过查询数据提供合约,将1000以太币的美元价值,例如,x美元,记录至存储器。

30天后,允许A或B“重新激活“合约以发送价值x美元的以太币(重新查询数据提供合约,以获取新价格并计算)给A并将剩余的以太币发送给B。

代币系统(token system)

区块链上代币系统有很多应用,从代表如美元或黄金等资产的子货币到公司股票,单独的代币代表智能资产,安全的不可伪造的优惠券,甚至与传统价值完全没有联系的用来进行积分奖励的代币系统。在以太坊中实施代币系统容易得让人吃惊。关键的一点是理解,所有的货币或者代币系统,从根本上来说是一个带有如下操作的数据库:从A中减去X单位并把X单位加到B上,前提条件是(1)A在交易之前有至少X单位以及(2)交易被A批准。实施一个代币系统就是把这样一个逻辑实施到一个合约中去。

储蓄钱包

假设Alice想确保她的资金安全,但她担心丢失或者被黑客盗走私钥。她把以太币放到和Bob签订的一个合约里,如下所示,这合同是一个银行:

Alice单独每天最多可提取1%的资金。

Bob单独每天最多可提取1%的资金,但Alice可以用她的私钥创建一个交易取消Bob的提现权限。

Alice 和 Bob 一起可以任意提取资金。

一般来讲,每天1%对Alice足够了,如果Alice想提现更多她可以联系Bob寻求帮助。如果Alice的私钥被盗,她可以立即找到Bob把她 的资金转移到一个新合同里。如果她弄丢了她的私钥,Bob可以慢慢地把钱提出。如果Bob表现出了恶意,她可以关掉他的提现权限。

作物保险

一个人可以很容易地以天气情况而不是任何价格指数作为数据输入来创建一个金融衍生品合约。如果一个爱荷华的农民购买了一个基于爱荷华的降雨情况进行反向赔付的金融衍生品,那么如果遇到干旱,该农民将自动地收到赔付资金而如果有足量的降雨他会很开心因为他的作物收成会很好。

多重签名智能合约

比特币允许基于多重签名的交易合约,例如,5把私钥里集齐3把就可以使用资金。以太坊可以做得更细化,例如,5把私钥里集齐4把可以花全部资金,如果只3把则每天最多花10%的资金,只有2把就只能每天花0.5%的资金。

正如Ethereum网站所说,“以太坊是一个运行智能合约的分布式平台”。这些智能合约运行在“以太坊虚拟机”上,这是一个由所有运行以太网节点的设备组成的分布式计算网络。

智能应该能通过算法帮我们选择最优选项,但以太坊上的智能合约是不可更改的,条件满足后一定要执行的程序。但以太坊因为不能更改也曾导致严重事故的真实案例,也就是2016年6月份发生的 DAO案件。当时DAO是以太坊的一个超级巨星级别的合约,它要实现的是一个投资的功能,于是DAO 的资金池里有大量的以太币,合算美元1.5 亿。但这个合约在代码上,有一个可以双重提现的漏洞。最早公布这个漏洞的人在学界有一定影响力,但开发者认为发生概率太小,没有做补救。在盗窃案发生前几周,还有币圈有影响力的牛人提示风险,但开发者依然没改。他们为什么不改呢?是责任心不强吗?不,而是改动会造成从前一部分区块失效。要彻底解决问题,只能改客户端程序,然后征得大部分矿工的同意,让大家使用新版软件挖矿。这样会重新生长出一条主链,是个伤筋动骨的改动,所以当前的风险如果不是大到忍不了的地 步,是不可能修改的。而到了6月17日,真的有黑客动手了。他成功的利用漏洞不断的把资金池里的以太币往外导,总共盗出了以太坊世界总量的5%,合 5000万美元。

幸好,在代码中还有一个“28天后才能提现”的规定,所以被盗出去的以太币暂时还不能变成美元飞走。这28天以太坊社区发生了激烈的争执,最终90%的人同意,把这次盗币后的主链设置为无效,进行一次所谓的“硬分叉”来解决。但仍然有10%的人反对这样做,因为他们虽然没参与黑客行动,但他们在6月17日那次盗币之后的交易或者投资中已经赚到钱了,回滚就相当于让他们把已经挣到的钱吐出来,他们当然是不愿意的。

所以,之后这两拨人一派留在了原来黑客攻击过的主链上,一派转去了新的主链,以太坊也分裂成了 ETH和ETC两种。

—-

编译者/作者:比特玩家小姐姐

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...