什么是以太坊它是如何工作的
一样,以太坊不受任何人控制,也不归任何人所有——它是一个开放源代码项目,由全球范围内的很多人共同创建。
和比特币协议有所不同的是,以太坊的设计十分灵活,极具适应性。在以太坊平台上创立新的应用十分简便,任何人都可以安全地使用该平台上的应用。
区块链技术是比特币的底层技术,这一技术第一次被描述是在中本聪2008年发表的白皮书“比特币:点对点电子现金系统”中。区块链技术更多的一般性用途在原书中已经有所讨论,但直到几年后,区块链技术才作为通用术语出现。
一个区块链是一个分布式计算架构,里面的每个网络节点执行并记录相同的交易,交易被分组为区块。一次只能增加一个区块,每个区块有一个数学证明来保证新的区块与之前的区块保持先后顺序。
这样一来,区块链的“分布式数据库”就能和整个网络保持一致。个体用户与总账的互动(交易)受到安全的密码保护。由数学执行并编码到协议中的经济激励因素刺激着维持和验证网络的节点。
在比特币中,分布式数据库被设想为一个账户余额表,一个总账,交易就是通过比特币的转移以实现个体之间无需信任基础的金融活动。但是随着比特币吸引了越来越多开发者和技术专家的注意,新的项目开始将比特币网络用于有价代币转移之外的其他用途。
其中很多都采用了“代币”的形式——以原始比特币协议为基础,增加了新的特征或功能,采用各自加密货币的独立区块链。在2013年末,以太坊的发明者Vitalik Buterin建议能够通过程序重组来运行任意复杂运算的单个区块链应该包含其他的程序。
2014年,以太坊的创始人Vitalik Buterin, Gavin Wood和Jeffrey Wilcke开始研究新一代区块链,试图实现一个总体上完全无需信任基础的智能合约平台。
以太坊是可编程的区块链。它并不是给用户一系列预先设定好的操作(例如比特币交易),而是允许用户按照自己的意愿创建复杂的操作。这样一来,它就可以作为多种类型去中心化区块链应用的平台,包括加密货币在内但并不仅限于此。
以太坊狭义上是指一系列定义去中心化应用平台的协议,它的核心是以太坊虚拟机(“EVM”),可以执行任意复杂算法的编码。在计算机科学术语中,以太坊是“图灵完备的”。开发者能够使用现有的JavaScript和Python等语言为模型的其他友好的编程语言,创建出在以太坊模拟机上运行的应用。
和其他区块链一样,以太坊也有一个点对点网络协议。以太坊区块链数据库由众多连接到网络的节点来维护和更新。每个网络节点都运行着以太坊模拟机并执行相同的指令。因此,人们有时形象地称以太坊为“世界电脑”。
这个贯穿整个以太坊网络的大规模并行运算并不是为了使运算更高效。实际上,这个过程使得在以太坊上的运算比在传统“电脑”上更慢更昂贵。然而,每个以太坊节点都运行着以太坊虚拟机是为了保持整个区块链的一致性。去中心化的一致使以太坊有极高的故障容错性,保证零停机,而且可以使存储在区块链上的数据保持永远不变且抗审查。
以太坊平台本身没有特点,没有价值性。和编程语言相似,它由企业家和开发者决定其用途。不过很明显,某些应用类型较之其他更能从以太坊的功能中获益。以太坊尤其适合那些在点与点之间自动进行直接交互或者跨网络促进小组协调活动的应用。
例如,协调点对点市场的应用,或是复杂财务合同的自动化。比特币使个体能够不借助金融机构、银行或政府等其他中介来进行货币交换。以太坊的影响可能更为深远。
理论上,任何复杂的金融活动或交易都能在以太坊上用编码自动且可靠地进行。除金融类应用外,任何对信任、安全和持久性要求较高的应用场景——比如资产注册、投票、管理和物联网——都会大规模地受到以太坊平台影响。
以太坊合并了很多对比特币用户来说十分熟悉的特征和技术,同时自己也进行了很多修正和创新。比特币区块链纯粹是一个关于交易的列表,而以太坊的基础单元是账户。以太坊区块链跟踪每个账户的状态,所有以太坊区块链上的状态转换都是账户之间价值和信息的转移。
对于大部分用户来说,两者基本的区别在于外有账户是由人类用户掌控——因为他们能够控制私钥,进而控制外有账户。而合同账户则是由内部编码管控。如果他们是被人类用户“控制”的,那也是因为程序设定它们被具有特定地址的外有账户控制,进而被持有私钥控制外有账户的人控制着。
“智能合约”这个流行的术语指的是在合同账户中编码——交易被发送给该账户时所运行的程序。用户可以通过在区块链中部署编码来创建新的合约。
只有当外有账户发出指令时,合同账户才会执行相应的操作。所以合约账户不可能自发地执行诸如任意数码生成或应用程序界面调用等操作–只有受外有账户提示时,它才会做这些事。这是因为以太坊要求节点能够与运算结果保持一致,这就要求保证严格确定执行。
和比特币一样,以太坊用户必须向网络支付少量交易费用。这可以使以太坊区块链免受无关紧要或恶意的运算任务干扰,比如分布式拒绝服务(DDoS)攻击或无限循环 。交易的发送者必须在激活的“程序”每一步付款,包括运算和记忆储存。费用通过以太坊自有的有价代币,以太币的形式支付。
交易费用由节点收集,节点使网络生效。这些“矿工”就是以太坊网络中收集、传播、确认和执行交易的节点。矿工们将交易分组——包括许多以太坊区块链中账户“状态”的更新——分成的组被称为“区块”,矿工们会互相竞争,以使他们的区块可以添加到下一个区块链上。矿工们每挖到一个成功的区块就会得到以太币奖励。这就为人们带来了经济激励,促使人们为以太坊网络贡献硬件和电力。
和比特币网络一样,矿工们有解决复杂数学问题的任务以便成功地“挖”到区块。这被称为“工作量证明”。一个运算问题,如果在算法上解决,比验证解决方法需要更多数量级的资源,那么它就是工作证明的极佳选择。
为防止比特币网络中已经发生的,专门硬件(例如特定用途集成电路)造成的中心化现象,以太坊选择了难以存储的运算问题。如果问题需要存储器和CPU,事实上理想的硬件是普通的电脑。这就使以太坊的工作量证明具有抗特定用途集成电路性,和比特币这种由专门硬件控制挖矿的区块链相比,能够带来更加去中心化的安全分布。
很多人相信像以太坊这样一个公开、无需信任的区块链平台十分适合作为Web 3.0的共享“后端”,像Web3.0这样去中心化、安全的互联网,它的核心服务,比如DNS和数字身份是去中心化的,个体可以参与到经济互动中。
正如以太坊开发者希望的那样,以太坊是一张空白的帆布,你可以在上面创建任何你想要的东西。以太坊协议的目的是普遍化,以使其核心特征能够以任意方式结合。理想状态下,以太坊上的数据采集和处理程序会利用以太坊区块链来建立解决方案,这些解决方案依靠去中心化的一致性提供以往无法实现的新产品和服务。
称以太坊为一个生态系统再合适不过了:核心协议由不同的基础设施、编码和社群支持,他们共同构成了以太坊项目。你也可以通过观察使用以太坊的项目来理解以太坊。现在已经有很多基于以太坊的项目已经非常引人注目了,比如Augur,Digix,Maker和其他很多项目(参见数据采集和处理程序)。
此外,还有开发团队建立了人人皆可使用的开源组件。尽管这些组织都独立于以太坊基金之外,有各自的组织目标,但他们无疑对整个以太坊生态系统是有益的。
你愿意和从未谋面的人签合约吗?你会同意把钱借给埃塞俄比亚的农民吗?你愿意投资一个战乱地区由少数人管理的报纸吗?你会不嫌麻烦为了网上一次5美元的购买签一个有法律效力的合约吗?
大多数的答案都是否定的,原因是合约需要的基础太多了:有时需要双方之间互相信任的工作关系,有时要依靠合法的工作体系、警察和律师费用。
在以太坊这些都不需要:如果合约所必需的要求都能放在区块链中,那么就会放在区块链中,这是一个无需信任基础也几乎不用任何成本的环境。
不要想将你现有的合约转移到区块链中会麻烦,想一想那些因为经济上不可行或是没有足够法律保护而被你拒绝的成千上万的小合约吧。
这里简单地举个例子:想象一下你和朋友有个小生意。律师和会计很贵,完全信任让一个单独的合伙人来看管账簿可能让你精神很紧张(这甚至可能是个诈骗的机会)。你可以尝试一下多个合伙人共同看管账簿,但只要协议没有被严格遵守,就可能导致诈骗发生。
使用智能合约,公司的所有权和基金分配的条款可以在一开始就详细规定。智能合约签署的方式是,只有大部分拥有者批准,合约才可以变更。 这样的智能合约可以像开源软件一样获取,你甚至都不必雇佣自己的程序员来代替会计和律师。
这样的智能合约可以立即按比例决定分配。几个年轻人分配柠檬水站收入,可以像主权基金给拥有基金的亿万公民分配收益一样透明。在这两个案例中,这种透明性带来的花费可能每美元连一美分都不到。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。举报投诉
网只是一种接口规范(IEEE 802.3),包含定义了开放式系统互联(OSI)模型物理和数据链路层的许多
网是在20世纪80年代发展起来的一种局域网技术,由于其具有使用简便、价格低、速率高等优点,很快成为
币相提并论,但情况却有所不同。比特币是一种加密货币和分布式支付网络,允许比特币在用户之间转移。相关:什么是比特币?
坊虚拟机(“EVM”),可以执行任意复杂算法的编码。在计算机科学术语中,
坊是“图灵完备的”。开发者能够使用现有的JavaScript和Python等语言为模型的其他友好的编程语言,创建出在
上一篇:上一篇:以太坊(Ethereum)全方位解析及未来展望
下一篇:下一篇:什么是以太坊?给入门小白的概念普及