比特派网址链接|以太坊平台

作者: 比特派网址链接
2024-03-09 22:13:13

首页 | ethereum.org

ethereum.org跳转至主要内容学习用法构建参与研究搜索​​​​语言 ZH帮助更新此页面本页面有新版本,但现在只有英文版。请帮助我们翻译最新版本。翻译页面没有错误!此页面未翻译,因此特意以英文显示。不再显示Ethereum欢迎来到以太坊以太坊是由社区驱动的技术,为加密货币以太币(ETH)和成千上万的去中心化应用程序提供动力。探索以太坊开始体验ethereum.org 是你进入以太坊世界的门户。这项技术日新月异,因此指南会有所帮助。如果你想深入了解,我们有以下建议。选择钱包你可以通过钱包连接到以太坊并管理资金。获取以太币ETH 是以太坊的货币 – 你可以在应用程序中使用它。使用去中心化应用程序Dapps 是由以太坊提供支持的应用程序。看看你可以做什么。开始构建如果想在以太坊里开始编写代码,我们有文档与教程可供参考,你亦可在开发者门户中查看更多信息。什么是以太坊?以太坊是数字货币、全球支付和应用程序的技术之家。以太坊社区已经创建了蓬勃发展的数字经济,为创造者在线上获取收入开辟了大胆而创新的途径,且不止于此。它面向所有人开放,无论身处何处,只需互联网即可。什么是以太坊?关于数字货币的更多信息更加公平的金融系统今天,数十亿人无法开设银行帐户,还有一些人的支付帐户被封锁。而以太坊的去中心化金融 (DeFi) 系统永不停息,永无歧视。只需有互联网连接,你就可以在世界任何地方汇款、收款、借款、赚取利息甚至流动资金。探索去中心化金融 (DeFi)资产互联网以太坊并非仅限数字货币。你拥有的任何东西都可以采用非同质化代币 (NFT) 来表现、交易和使用。你可以将艺术品代币化,并在每次重新出售时自动获得使用费。或者,你也可以用所有物的代币来贷款。不断开辟新的可能。关于非同质化代币的更多信息开放式网络今天,我们通过放弃对个人数据的控制权来获得“免费”的互联网服务。以太坊服务则默认开放 - 只需要钱包即可。这些应用不仅免费,易于设置,由你掌控,而且无需个人信息。探索开放式网络关于钱包的更多信息代码示例你自己的银行你可以用自己编写的逻辑来建立银行。自己的货币你可以创建代币,并在应用程序之间转账和使用。JavaScript 以太坊钱包你可以使用现有语言与以太坊及其他应用程序进行交互。开放、无需许可的 DNS你可以将现有的服务重构为去中心化的开放应用程序。全新发展领域以太坊及其应用程序具有透明和开源性质。你可以分叉代码并重新使用已由他人建立的功能。如果不想学习新语言,你可以直接使用 JavaScript 和其他现有语言与开源代码进行交互。开发者门户以太坊现状最新的网络统计数据以太币质押总数当前质押的用来保护网络安全的以太币总量。3122万 30d90d今日交易过去 24 小时内,网络成功处理的交易笔数。122.9万 30d90d去中心化金融中锁定的价值(美元)以太坊数字经济及去中心化金融 (DeFi) 应用程序中的资金量。US$1345亿 30d90d节点以太坊由全球数千计志愿者运行,他们被称为节点。7,111 30d90d加入 ethereum.org 社区加入我们的 Discord 服务器(opens in a new tab),与近 4 万名成员一起交流。参加我们每月举行的社区电话会议,获取有关 Ethereum.org 发展的令人兴奋的最新消息和重要生态系统新闻。你将有机会提出问题、分享想法和提供反馈——这是你成为蓬勃发展的以太坊社区一员的绝佳机会。☎️ Ethereum.org Community Call - March 20242024年3月28日 16:00(UTC)Join Discord(opens in a new tab)添加到日历(opens in a new tab)即将召开的电话会议2024年3月21日⚙️ ethereum.org Office Hours [S3E1](opens in a new tab)2024年3月13日 QA session - ethereum.org portal(opens in a new tab)之前的电话会议2024年2月28日 QA session - ethereum.org portal(opens in a new tab)2024年2月29日☎️ Ethereum.org Community Call - February 2024(opens in a new tab)2023年11月1日 QA session - ethereum.org portal(opens in a new tab)2024年2月14日 QA session - ethereum.org portal(opens in a new tab)探索 ethereum.org提升你对网络升级的理解以太坊路线图由相互连接的升级组成,旨在使网络更具可扩展性、安全性和可持续性。企业级以太坊查看以太坊如何开启新业务模式,降低你的成本,并使你的业务经得起未来的考验。以太坊社区以太坊由社区驱动。它由来自不同背景和兴趣的人组成。看看如何加入!为 ethereum.org 贡献力量这个网站是开源的,有数百个社区贡献者。你可以对这个网站上的任何内容提出编辑建议,建议出色的新功能,或者帮助我们排除错误。关于贡献力量的更多信息GitHub(opens in a new tab)网站最后更新: 2024年2月16日(opens in a new tab)(opens in a new tab)(opens in a new tab)使用以太坊查找钱包获取以太币Dapps - 去中心化应用二层网络运行节点稳定币质押ETH学习学习中心什么是以太坊?什么是以太币 (ETH)?以太坊钱包Gas fees以太坊安全和预防欺诈措施什么是 Web3?智能合约以太坊能源消耗以太坊路线图以太坊改进提案 (Eip)以太坊的历史以太坊白皮书以太坊词汇表以太坊治理区块链桥零知识证明测试中心开发者开始体验相关文档教程通过编码来学习设置本地环境生态系统社区中心以太坊基金会以太坊基金会的博客(opens in a new tab)生态系统支持方案(opens in a new tab)以太坊漏洞悬赏计划生态系统资助计划以太坊品牌资产Devcon(opens in a new tab)企业级应用主网以太坊私密以太坊企业级应用关于ethereum.org关于我们工作机会参与贡献语言支持隐私政策使用条款缓存政策联系我们(opens in a new t

史上最全以太坊“新手入门”攻略 - 知乎

史上最全以太坊“新手入门”攻略 - 知乎切换模式写文章登录/注册史上最全以太坊“新手入门”攻略软云存储IPFS行业的比特大陆一、什么是以太坊?以太坊能做什么? 简单来讲,以太坊(Ethereum) 类似于区块链版的安卓、iOS系统,一个区块链APP平台。以太坊是一个为去中心化应用(DApp)而生的全球开源平台。名字来源与 Ether (以太) 和后缀 ruem (希腊语义是“石油”),国内的早期社区成员将其翻译成“以太坊”。 以太坊是去中心化的、可以运行可转移计算和数据的自洽经济系统,一个去中心化的区块链平台,用于构建去中心化应用程序(DApp),以太币(Ether)是该平台所使用的加密货币。 以太坊可以轻松创建智能合约,自行执行代码,开发人员可以利用这些代码来处理各种应用程序。 以太坊几乎可以用于任何类型的交易或协议,其成本比传统的替代方案要低,例如银行卡支付,PayPal 和投票等,并且全程采用去中心化、去信任(无需中介)、安全有效并且抗审查的形式。 以太坊因其独特的可编程设计获得了开发者们和巨头的认可,至今全球已经有数千种基于以太坊的APP和数字货币;2017年,以摩根大通、微软、英特尔为代表的20多家知名企业甚至联合成立了“企业以太坊联盟”,至今已有超过150多家公司和机构加入了这一联盟。二、以太坊有什么价值? 以太坊比单纯的加密货币更有效用。通过以太坊,用户可以创建任何去中心化应用程序(即DApp)和智能合约,理论上可编程的以太坊可以用于任何经济或治理活动。 在以太坊上,你可以通过编写代码管理数字资产、运行程序,更重要的是,这一切都不受地域限制。 以太坊为全球金融系统打开了一扇大门,用户只需要通过互联网就能够以去信任化的方式访问应用程序、产品和服务。每一个人都可以与以太坊网络进行交互,亲自参与到这种数字经济形式中,而不需要第三方。 人们可以使用智能合约来为项目众筹资金、公司可以在区块链上运用智能合约进行股票发行、银行等金融机构可以用它来管理贷款收发、保险公司可以用它来实现自动理赔等等等等,甚至任何现实金融交易都可以被改造到区块链上进行,这些都是区块链的功劳。 通过以太坊平台上的治理应用程序和系统,甚至有可能消除国家之间由于边界而产生的障碍,创建一个更加开放、包容和公平的人类社会。三、以太坊是如何运作的? 以太坊区块链的结构与比特币十分相似,因为它是整个交易历史的共享记录。网络上的每个节点都存储了这个历史记录的副本。 以太坊与比特币的最大区别在于,除了所有以太坊交易外,它的节点还存储着每个智能合约的最新状态。对于每个以太坊应用程序,网络都需要跟踪“状态”或所有这些应用程序的当前信息,包括每个用户的余额、所有智能合约代码以及它们的存储位置等。四、谁创造了以太坊? 比特币诞生四年后,一位19岁的年轻人设想了一个基于这一制度的新平台,努力完全改变互联网。他便是来自多伦多的程序员,以太坊之父、天才少年——维塔利克·布特林(Vitalik Buterin),简称V神。维塔利克·布特林(Vitalik Buterin)图片来源:维基百科1994年出生的他可谓天赋异禀:4岁就能玩转Excel;12岁就自己编写游戏给自己玩;17岁联合创办《比特币杂志》开始科普比特币;19岁从滑铁卢大学辍学发布以太坊;20岁挤下Facebook创始人扎克伯格获得世界科技奖;24岁被俄罗斯总统普京接待,登上《财富》杂志40岁以下影响力人物榜……不仅如此,他还自学了多国语言,甚至能讲一口流利的中文……他的才能碾压了地球上所有的同龄人。2011年,Vitalik Buterin开始对比特币产生兴趣。他在同一年共同创办了在线新闻网站比特币杂志,撰写了数百篇关于加密货币世界的文章。2013年,他发布了可以运行智能合约和去中心化应用程序的以太坊平台白皮书。他的传奇经历和以太坊的成功,使人们开始崇拜地称他为“V神”。据猜测,V神约持有50万个以太坊,而这些年以太坊价值的暴涨,也使他名利双收,身价一度突破千亿。V神也正式站上C位,成功封神。五、什么是DApp? 得益于区块链技术,以太坊没有中心服务器,所以在以太坊上运行的APP不存在崩溃、死机的可能,数据也不会泄露,甚至不能被关闭!它跟区块链一样也是分布式和去中心化的,所以又叫分布式应用(Decentralized Application,简称DApp) DApp 一旦被“上传”到以太坊,它们将始终按照编好的程序运行。 这些应用程序可以控制数字资产; 同时还是去中心化的,这意味着没有任何单一实体或个人可以控制它们。 目前,全世界有成千上万名开发者正在以太坊上构建应用程序、发明新的应用程序,其中有许多现在已经可以使用:加密货币钱包:让你可以使用 ETH 或其他数字资产进行低成本的即时支付;金融应用程序:让你可以借贷、投资数字资产;去中心化市场:让你可以交易数字资产,甚至就现实世界事件的“预测”进行交易;游戏:你可以拥有游戏内的资产,甚至可以由此获得现实收益;六、什么是智能合约? 根据区块链可编程的特点,人们可以将合同变成代码的形式放到区块链上,并在约定的条件下自动执行, 这就是所谓的智能合约。 智能合约的概念至少可以追溯到1995 年,尼克· 萨博( Nick Szabo) 提出了如下定义:“一个智能合约是一套以数字形式定义的承诺, 包括合约参与方可以在上面执行这些承诺的协议。”他还探讨了涉及到合同协议等各个领域中,智能合约的潜在用途,例如信用体系、支付流程和版权管理。 我们可以简单地认为,智能合约就是一种“ 程序”, 只是这种“ 程序”处理的是人与人之间的权利和义务的约定。 当满足某些条件时,它则执行特定任务。因此,智能合约系统通常遵循“if ... then ...”语句。但是,即便智能合约成为一种主流的技术,但智能合约既不是法定的也不是智能化的。它们只是在分布式系统(区块链)上运行的一段代码。 实质上,区块链智能合约支持创建无需信任的协议。这意味着执行合约的双方可以通过区块链做出承诺,而无需相互了解或取得相互信任。合约内容经双方确认后,如果没达到触发条件,合约将不会被执行。除此之外,使用智能合约可以消除对中介的需求,从而显著降低运营成本。七、以太坊与比特币有什么区别? 与比特币相似,以太坊也采用POW机制,通过矿工挖矿来产生新的以太坊。不同的是,以太坊是一个可以编程的区块链,它允许任何人在上面创建去中心化的APP、编写智能合约和发行属于自己的数字货币。 不同于比特币的货币定义,以太坊释放了区块链前所未有的潜力,通过一系列的重新设计,包括虚拟机(EVM, Etheruem Virtual Machine)、账户系统,在其上可以运行智能合约。智能合约的概念是由Nick Szabo(尼克·萨博)于1997年提出的,即自动执行的合约形式。 多年来,虽然比特币协议也一直支持智能合约,但智能合约却经以太坊联合创始人Vitalik Buterin之手,从而大受欢迎。八、如何使用以太坊? 与比特币转账类似,要在以太坊网络中进行交易,以太坊是不可或缺的。以太坊是以太坊网络的原生货币。 这是一种在以太坊网络发行、类似比特币的数字货币。 你可以通过以下渠道获取以太坊:在一个加密货币交易所购买以太坊和你附近的人兑换以太坊通过挖矿获取以太坊 此外,类似比特币钱包,你也需要一个专门保存以太坊的以太坊钱包。市面上现在有各种各样的以太坊钱包,还有许多基于以太坊的应用程序可以用。 以太坊用户可以将以太坊储存在以太坊钱包中,也可以与以太坊网络上的智能合约进行交互。许多钱包都有这些功能。钱包是一种应用程序,可以便捷地保存和传送 ETH,同时可以通过钱包与以太坊上构建的应用程序进行交互。 以太坊网络中发生的每笔交易都需要一定数量的gas,gas是用于度量处理交易所需计算能力的单位。帮助验证信息真是下要付出算力成本处理交易并将其打包在区块中,理应获得相应的补偿。在以太坊系统中,这就要通过在每次交易中设定gas价格来完成,gas以Gwei(1 ETH = 1,000,000,000 Gwei)作为单位。 举个例子:用户将ETH从一个帐户发送到另一个帐户需要花费21,000 gas,如果将gas价格定为1 Gwei,则此交易花费0.000021 ETH。九、以太坊有什么优缺点?优点以太坊允许用户在区块链上使用完整的编程语言,在网络上执行更复杂的智能合约,而不需要依靠任何第三方服务以太坊可为其他产品和服务平台提供强大的生态系统以太坊拥有一个强大的发展路线图(3-5年),这意味着社区对未来几年的预期有明确的标准有很多公司参与改善以太坊以外的基础。在以太坊企业联盟(EEA)和Hyperledger团队批准其第一个以太坊项目之间,有数十家企业组织致力于以太坊的改善生态系统。除了比特币之外,其他区块链还没有得到如此多商业社区的大力支持缺点因为以太坊是一个平台,它永远不会像专门设计成加密货币的其他一样有效。比特币只是真正的分类帐,但是以太坊正在试图成为一个分类账/超级计算机/智能合约产生器/等等,为更多的用户提供服务。这种复杂性使其具有了灵活性,但是对于以上任何一种用例而言,都没有进行过深度优化。由于以太坊发展路线的原因,以太坊的一些重大升级包括将工作证明转移到证明权益的平台。如果这种转换不顺利,可能会在架构中引入一些关键问题并导致系统崩溃。相信以太坊团队可以确保这一切都不会发生,但这是一种风险。缺乏帮助开发人员的教程或文档是成为以太坊开发人员的严重障碍。你所搜索到的大多数教程都是过时的,或者只是教授对技术的概念性理解,或者只是一个基本的“hello world”教程,没有任何实质性内容。发布于 2021-06-25 18:22​赞同 17​​1 条评论​分享​喜欢​收藏​申请

什么是以太坊? | ethereum.org

太坊? | ethereum.org跳转至主要内容学习用法构建参与研究搜索​​​​语言 ZH帮助更新此页面本页面有新版本,但现在只有英文版。请帮助我们翻译最新版本。翻译页面没有错误!此页面未翻译,因此特意以英文显示。不再显示什么是以太坊?我们数字未来的基石关于以太坊运作方式、以太坊优势以及全世界数百万人使用以太坊的案例的完整初学者指南。让我们开始吧!概览以太坊是一个由世界各地的计算机组成的网络,遵循一套称为以太坊协议的规则。以太坊网络提供了一个基础,任何人都可以在上面构建和使用社区、应用程序、组织和数字资产。你可以随时随地创建一个以太坊帐户,探索这处应用程序世界,也可以构建自己的应用程序。最重要的创新在于,你不需要信任中心化组织就可以完成这些,因为中心化组织可能会更改规则或限制你访问。请继续阅读以了解更多详情...以太坊能做什么?属于所有人的银行服务现实生活中,并不是每个人都可以获得金融服务。然而只需连接互联网,就能访问以太坊并使用上面的借贷和储蓄产品。开放式网络任何人都可以和以太坊网络交互或者在上面构建应用程序。这样,你就可以管控自己的资产和身份信息,而不是让少数大公司管控。P2P网络在以太坊上,你可以和其他人协作、达成协议并直接传输数字资产。不需要依靠任何中间商。反审查以太坊不受任何政府或公司的管控。去中心化保障你在以太坊上获得付款或使用服务的权力不容他人干涉。商业保障用户有一种安全的、内置保障机制,仅当用户表示同意后,资金才能够转手。同样,开发者可以确信相关规则将不会变化。可组合产品所有应用程序都在同一条区块链上构建,都有一个共享全局状态,这就意味着它们之间可以互为构建基础(类似于乐高积木)。而这也为我们提供了更好的产品和体验,确保没有人能够删除应用程序所依靠的任何工具。什么是区块链?什么是加密货币?区块链是一个交易数据库,在网络上多台电脑之间更新和共享。每次添加一组新交易时,就称其为“区块”,这也是区块链名称的由来。以太坊这样的公开区块链,允许任何人添加数据,但不能删除数据。如果有人想要篡改任何信息或欺骗系统,他们必须在网络中的大多数电脑上操作。这样做工作量巨大!这使得以太坊这类去中心化区块链具备很高的安全性。术语加密货币用来描述通过区块链保证安全的多种同质化数字代币。加密货币始于比特币。比特币可以用于在双方之间转移价值而不必信任中间人。你只需信任比特币代码,而比特币代码是开源的并可以免费获得。比特币和以太币这类资产被称为“加密货币”,原因是用户数据和资产的安全通过加密来保障,而不是信任某个机构或公司诚信行事。以太坊有自己的原生加密货币以太币 (ETH),用于支付网络上的某些活动。以太币在以太坊网络上可以传输给其他用户,也可以兑换其他代币。以太币是特殊的,因为它用来支付在以太坊上构建和运行应用程序及组织所需的计算。我为什么要使用以太坊?如果你想用更具复原力、更加开放和更加可信的方式来进行全球协作、创建组织、构建应用程序和分享价值,以太坊就是你的菜。以太坊是我们大家共同书写的故事,所以来吧,来探索我们能够共同用以太坊创建的那些神奇世界。对于那些由于无法控制的外部力量而不得不处理与其资产的安全性、稳健性或移动性相关的不确定因素的人来说,以太坊也是极有价值的。更便宜、更快捷的跨境支付稳定币是一种新型加密货币,依赖于更稳定的资产作为其价值基础。大多数稳定币都与美元挂钩,因而维持其货币价值。这样一个非常便宜且稳定的全球支付系统应运而生。当前许多稳定币都构建在以太坊网络上。以太坊和稳定币简化了海外汇款流程。在全球范围内转移资金通常只需要几分钟即可完成,相比之下普通银行可能需要几个工作日甚至几周,并且价格只是银行服务的一小部分。此外,进行高额交易不收取额外费用,并且对于汇款地址或原因没有任何限制。在危机时刻提供最快捷的帮助如果你足够幸运,可以在生活的地方享受值得信赖的机构提供的多种银行业务,你可能会认为它们提供的财务自由、安全和稳定是理所当然的。但对于世界各地面临政治压制或经济困难的许多人来说,金融机构可能无法提供他们需要的保护或服务。在委内瑞拉(opens in a new tab)、古巴(opens in a new tab)、阿富汗(opens in a new tab)、尼日利亚(opens in a new tab)、白俄罗斯(opens in a new tab)和乌克兰(opens in a new tab)的居民饱受战乱、经济灾难或民权制裁之苦时,加密货币就成了留住金融机构最快捷、往往也是唯一的选择。1(opens in a new tab) 从这些示例中可以看出,在人们与外界隔绝时,以太坊等加密货币可以让他们不受限制地进入全球经济,此外当地货币由于超级通胀而崩溃时,稳定币可以提供一种保值手段。为创作者赋能仅在 2021 年,艺术家、音乐家、作家和其他创作者就利用以太坊共赚取了约 35 亿美元。这使得以太坊成为最大的全球创作者平台之一,与 Spotify、YouTube 和 Etsy 并驾齐驱。了解更多(opens in a new tab)。赋能玩家近来出现的边玩边赚游戏(玩家确实通过玩游戏获得奖励)正在改变游戏行业。传统上,通常禁止交易或转手游戏资产来换取现钱。这迫使玩家使用通常存在安全风险的黑市网站。区块链游戏支持游戏内经济并以可信赖的方式倡导这类行为。此外,玩家能够将游戏中的代币换成现钱并且因为玩游戏而切实获得激励。2010投资者2014投资者开发者公司当前投资者开发者公司艺术家音乐家作者玩家难民透过数字看以太坊4k+Projects built on Ethereum 96M+Accounts (wallets) with an ETH balance 53.3M+Smart contracts on Ethereum $410BValue secured on Ethereum $3.5BCreator earnings on Ethereum in 2021 123.6万Number of transactions today 谁在运行以太坊?以太坊不受任何特定实体控制。只要有相互连接并按照以太坊协议运行软件并添加到以太坊区块链上的计算机,就有以太坊。其中每台计算机都称为一个节点。节点可由任何人运行,但必须要质押以太币(以太坊的原生代币)才可以参与保护网络的安全。任何拥有32 个以太币的人都可以质押而无需许可。甚至以太坊的源代码也不是由单个实体生成的。任何人都可以建议更改协议并讨论升级。有一些以太坊协议的实现是由独立组织用多种编程语言完成的,它们通常建立在开放的基础上并鼓励来自社区的贡献。运行节点什么是智能合约?智能合约是存在于以太坊区块链上的计算机程序。它们仅在由用户发出的交易触发时执行。智能合约使以太坊在功能方面非常灵活。这些程序充当去中心化软件和组织的构建基块。你是否使用过更改过服务条款的产品?或者删除了你认为有用的功能?一旦智能合约发布到以太坊,只要以太坊存在,它就会一直在线并运行。就连创作者也无法让它离线。由于智能合约是自动化的,它们不会歧视任何用户并且随时可以使用。智能合约的常见示例包括借贷应用程序、去中心化交易所、保险、二次融资、社交网络、非同质化代币 — 基本上囊括你能想到的一切。更多关于智能合约的信息探索去中心化应用程序认识以太坊的加密货币 — 以太币以太坊网络上的许多操作都需要在以太坊的嵌入式计算机(称为以太坊虚拟机)上做一些计算工作。这种计算不是免费的;它用以太坊的原生加密货币以太币 (ETH) 来支付。这意味着你至少需要少量以太币才能使用网络。以太币是一种纯数字货币,你可以立即将它发送给世界上任何角落的任何人。以太币 (ETH) 的供应不受任何政府或公司控制 — 它是去中心化且完全透明的。按照协议,通过一种精确的方式将以太币仅发放给确保网络安全的质押人。什么是以太币?获取以太币以太坊的能源消耗如何?2022 年 9 月 15 日,以太坊经历了合并升级,从工作量证明过渡到权益证明。合并是以太坊规模最大的一次升级,将保护以太坊安全所需的能源消耗减少了 99.95%,同时创建一个更安全、碳成本更低的以太坊网络。以太坊现在成为一种低碳区块链,并且安全性和可扩展性得到增强。更多关于能源消耗的信息合并更新我听说加密货币被充当犯罪活动的工具。这是真的?像任何技术一样,加密货币有时会被滥用。然而,由于所有以太坊交易都发生在开放的区块链上,与传统金融系统中相比,监管机构通常更容易追踪非法活动,可以说,以太坊对于那些宁愿不被发现的人来说吸引力较小。根据欧盟执法合作署暨欧洲刑警组织最近一份报告的主要调查结果称,用于犯罪目的加密货币要远远低于法定货币:“将加密货币用于非法活动似乎只占整个加密货币经济的一小部分,而且似乎比传统金融中涉及的非法资金数量要少。”Europol Spotlight - Cryptocurrencies - Tracing the evolution of criminal finances.pdf(opens in a new tab) EN (1.4 MB)Chainalysis (2021), The 2021 Crypto Crime report(opens in a new tab) EN以太坊与比特币有什么不同?以太坊立足比特币创新之上,于 2015 年启动,两者之间有一些显著不同。两者都允许你使用数字货币,而无需支付服务提供商或银行。但是以太坊是可编程的,所以你还可以在以太坊网络上构建和部署去中心化应用程序。比特币使我们能够互通基本信息,了解我们认为有价值的东西。在没有权威的情况,确定价值就已经很强大了。以太坊则更进一步,不仅可以互通信息,用户还能编写任何常规程序或合约。可以创建和达成共识的合约种类没有限制,因此以太坊网络上时常出现重大创新。比特币只是一个支付网络,而以太坊更像是一个金融服务、游戏、社交网络和其他应用程序的市场。延伸阅读每周以太坊新闻(opens in a new tab) - 每周资讯,报道整个生态系统的重大发展。原子、机构、区块链(opens in a new tab) - 为什么区块链很重要?内核(opens in a new tab) 以太坊的梦想探索以太坊基于以太坊创造一些玩意如果你想尝试进行以太坊相关的开发,请阅读我们的文档,尝试一些教程或者下载开发工具作为开始。开始构建以太坊社区我们的社区成员来自五湖四海,各行各业,他们包括艺术家、加密无政府主义者,世界500强企业,现在,还有你。赶快来看看如何加入吧。我们的社区测试你的以太坊知识Loading...本页面对你有帮助吗?是否网站最后更新: 2024年2月16日(opens in a new tab)(opens in a new tab)(opens in a new tab)使用以太坊查找钱包获取以太币Dapps - 去中心化应用二层网络运行节点稳定币质押ETH学习学习中心什么是以太坊?什么是以太币 (ETH)?以太坊钱包Gas fees以太坊安全和预防欺诈措施什么是 Web3?智能合约以太坊能源消耗以太坊路线图以太坊改进提案 (Eip)以太坊的历史以太坊白皮书以太坊词汇表以太坊治理区块链桥零知识证明测试中心开发者开始体验相关文档教程通过编码来学习设置本地环境生态系统社区中心以太坊基金会以太坊基金会的博客(opens in a new tab)生态系统支持方案(opens in a new tab)以太坊漏洞悬赏计划生态系统资助计划以太坊品牌资产Devcon(opens in a new tab)企业级应用主网以太坊私密以太坊企业级应用关于ethereum.org关于我们工作机会参与贡献语言支持隐私政策使用条款缓存政策联系我们(opens in a new t

以太坊_百度百科

百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心以太坊播报讨论上传视频公共区块链平台收藏查看我的收藏0有用+10本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。以太坊的概念首次在2013至2014年间由程序员维塔利克·布特林(Vitalik Buterin)受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在2014年通过ICO众筹开始得以发展。 [5]截至2018年2月,以太币是市值第二高的加密货币,仅次于比特币。中文名以太坊外文名Ethereum属    性平台创始人维塔利克·布特林 [6]目录1产生背景2设计原则▪简洁原则▪通用原则▪模块化原则▪无歧视原则3功能应用4发展历史5项目争议6实现▪区块链程序▪客户端软件▪认许制记账产生背景播报编辑图1.ETH(右)维塔利克·布特林(左)比特币开创了去中心化密码货币的先河,五年多的时间充分检验了区块链技术的可行性和安全性。比特币的区块链事实上是一套分布式的数据库,如果再在其中加进一个符号——比特币,并规定一套协议使得这个符号可以在数据库上安全地转移,并且无需信任第三方,这些特征的组合完美地构造了一个货币传输体系——比特币网络。然而比特币并不完美,其中协议的扩展性是一项不足,例如比特币网络里只有一种符号——比特币,用户无法自定义另外的符号,这些符号可以是代表公司的股票,或者是债务凭证等,这就损失了一些功能。另外,比特币协议里使用了一套基于堆栈的脚本语言,这语言虽然具有一定灵活性,使得像多重签名这样的功能得以实现,然而却不足以构建更高级的应用,例如去中心化交易所等。以太坊从设计上就是为了解决比特币扩展性不足的问题。设计原则播报编辑简洁原则以太坊协议将尽可能简单,即便以某些数据存储和时间上的低效为代价。一个普通的程序员也能够完美地去实现完整的开发说明。这将最终有助于降低任何特殊个人或精英团体可能对协议的影响并且推进以太坊作为对所有人开放的协议的应用前景。添加复杂性的优化将不会被接受,除非它们提供了非常根本性的益处。通用原则没有“特性”是以太坊设计哲学中的一个根本性部分。取而代之的是,以太坊提供了一个内部的图灵完备的脚本语言以供用户来构建任何可以精确定义的智能合约或交易类型。想建立一个全规模的守护程序(Daemon)或天网(Skynet),你可能需要几千个联锁合约并且确定慷慨地喂养它们,一切皆有可能。模块化原则以太坊的不同部分应被设计为尽可能模块化的和可分的。开发过程中,应该能够容易地让在协议某处做一个小改动的同时应用层却可以不加改动地继续正常运行。以太坊开发应该最大程度地做好这些事情以助益于整个加密货币生态系统,而不仅是自身。无歧视原则协议不应主动地试图限制或阻碍特定的类目或用法,协议中的所有监管机制都应被设计为直接监管危害,不应试图反对特定的不受欢迎的应用。人们甚至可以在以太坊之上运行一个无限循环脚本,只要他愿意为其支付按计算步骤计算的交易费用。功能应用播报编辑以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。具体来说,以太坊通过一套图灵完备的脚本语言(Ethereum Virtual Machinecode,简称EVM语言)来建立应用,它类似于汇编语言。我们知道,直接用汇编语言编程是非常痛苦的,但以太坊里的编程并不需要直接使用EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言。上面所说的平台之上的应用,其实就是合约,这是以太坊的核心。合约是一个活在以太坊系统里的自动代理人,他有一个自己的以太币地址,当用户向合约的地址里发送一笔交易后,该合约就被激活,然后根据交易中的额外信息,合约会运行自身的代码,最后返回一个结果,这个结果可能是从合约的地址发出另外一笔交易。需要指出的是,以太坊中的交易,不单只是发送以太币而已,它还可以嵌入相当多的额外信息。如果一笔交易是发送给合约的,那么这些信息就非常重要,因为合约将根据这些信息来完成自身的业务逻辑。合约所能提供的业务,几乎是无穷无尽的,它的边界就是你的想象力,因为图灵完备的语言提供了完整的自由度,让用户搭建各种应用。白皮书举了几个例子,如储蓄账户、用户自定义的子货币等。发展历史播报编辑2013年年末,以太坊创始人Vitalik Buterin发布了以太坊初版白皮书,启动了项目。2014年7月24日起,以太坊进行了为期42天的以太币预售。2016年初,以太坊的技术得到市场认可,价格开始暴涨,吸引了大量开发者以外的人进入以太坊的世界。中国三大比特币交易所之二的火币网及OKCoin币行都于2017年5月31日正式上线以太坊。 [1]自从进入2016年以来,那些密切关注数字货币产业的人都急切地观察着第二代加密货币平台以太坊的发展动向。作为一种比较新的利用比特币技术的开发项目,以太坊致力于实施全球去中心化且无所有权的的数字技术计算机来执行点对点合约。简单来说就是,以太坊是一个你无法关闭的世界计算机。加密架构与图灵完整性的创新型结合可以促进大量的新产业的出现。反过来,传统行业的创新压力越来越大,甚至面临淘汰的风险。比特币网络事实上是一套分布式的数据库,而以太坊则更进一步,她可以看作是一台分布式的计算机:区块链是计算机的ROM,合约是程序,而以太坊的矿工们则负责计算,担任CPU的角色。这台计算机不是、也不可能是免费使用的,不然任何人都可以往里面存储各种垃圾信息和执行各种鸡毛蒜皮的计算,使用它至少需要支付计算费和存储费,当然还有其它一些费用。最为知名的是2017年初以摩根大通、芝加哥交易所集团、纽约梅隆银行、汤森路透、微软、英特尔、埃森哲等20多家全球顶尖金融机构和科技公司成立的企业以太坊联盟。而以太坊催生的加密货币以太币近期又成了继比特币之后受追捧的资产。 [2]2022年4月,以太坊下跌 14%,最新报价为2969美元,自3月23 日以来首次跌破 3,000 美元大关。 [4]2022年5月,以太坊失守2000美元/枚,日内跌幅3.65%,为2021年7月以来首次。 [5]2022年5月,以太坊联合创始人维塔利克·布特林(Vitalik Buterin)对上周Terra LUNA/USD及其算法稳定币崩溃的灾难发表了看法。 [6]2022年6月13日,最新行情数据显示,比特币报价短时触及25000美元一枚,并在该点位进行来回绞杀,24小时跌幅已达到7.4%,创下2020年12月26日以来的最低点。 [7]项目争议播报编辑以太币在中国生根落地,引得市场纷纷侧目,然而在价格已经创下历史新高的时刻,以太币的到来,国外的学者已经指出在整个以太币的智能合约交易中,10%是庞氏骗局,也就是说有人在借以太坊平台发融资项目获得资金,而以太币则成为一种媒介,这些融资项目可能只是一个画饼的计划。看似公平的以太坊众筹,其实是完全不等额的现实货币融资,别人的以太币成本是300元,你的以太币成本是1800元,然后抱团一起做一个项目。而所谓的30%盈利率其实是在庄家币值盈利600%的基础上的盈利,最后托盘的便是以高币值入场的接盘侠。 [2]市场人士指出,以太坊平台上的众筹项目还存在诸多风险,首先以太币不是去中心数字货币,存在巨庄而且持有80%以上的币值,一直未动,相当于每一个币民头顶都悬着一把利刃;其次以太坊的众筹货币分4-5轮进行解禁,需要变现,所以众筹的项目越多,解禁的压力越大;第三众筹基金的融资效应,每一次众筹都需要十倍百倍的以太坊数字货币等待融资,而不是参与交易,众筹结束后这部分货币重新进入市场进行打压;第四众筹基金的参与获利,众筹基金的目的便是获利,融到以太币不是积极参与众筹而是抛售,然后等待币值下降的时候购入再返还给用户,这便是标准的“做空获利”;第五以太坊所有的众筹项目都没有确立以太坊的货币地位,而是以积分、交易税费的形式进行抵扣,也就相当于淘宝币、天猫积分一样的性质,可抵用但是永远无法取代货币的功用。值得关注的是,在2017年6月美国科技股大跌的时候,以太币在创下407美元/个新高之后,截至6月15日,其价格也跟随美国科技股连续出现下跌,跌幅达到15%。 [2]实现播报编辑智能合约的潜在应用很多。彭博社商业周刊称它是“所有人共享但无法篡改的软件”。更高级的软件有可能用以太坊创建网络商店。区块链程序以太坊可以用来创建去中心化的程序、自治组织和智能合约,据纽约时报的报导,在2016年5月已经有数十个可用的程序。预期的应用目标涵盖金融、物联网、农田到餐桌(farm-to-table)、智能电网、体育赌博等。去中心化自治组织有潜力让许多原本无法运行或成本过高的营运模型成为可能。较知名的应用有:去中心化创业投资:The DAO用以太币资金创立,目标是为商企业和非营利机构创建新的去中心化营业模式、The Rudimental让独立艺术家在区块链上进行群众募资。社会经济平台:Backfeed。去中心化预测市场:Augur。物联网:Ethcore(一间以太坊公司)研发的客户端、Chronicled(一间区块链公司)发表了以太坊区块链的实物资产验证平台;芯片公司、物理IP创建者和生产者可以用植入的蓝牙或近场通信进行验证。Slock.It开发的智能锁可以在付费后自动打开,让用户在付费后可以帮电动车充电、或是打开租屋的房门。虚拟宝物交易平台:FreeMyVunk。版权授权:Ujo Music平台让创作人用智能合约发布音乐,消费者可以直接付费给创作人。伊莫珍·希普用此平台发布了一首单曲。智能电网:TransActive Grid让用户可以和邻居买卖能源。去中心化期权市场:Etheropt。钉住汇率的代币:DigixDAO提供与黄金挂钩的代币,在2016年四月正式营运。Decentralized Capital提供和各种货币挂钩的代币。移动支付:Everex让外劳汇款回家乡。客户端软件以太坊的两个主要的客户端软件是Geth和Parity。企业软件企业软件公司也正测试用以太坊作为各种用途。已知有兴趣的公司包括微软、IBM、摩根大通。德勤和ConsenSys在2016年宣布成立数字银行Project ConsenSys。R3公司在Microsoft Azure上运行私人以太坊区块链,将11间银行连接至一本分布式帐薄(distributed ledger)。Microsoft Visual Studio提供程序开发者使用Solidity编程语言。英国政府中负责推动创新的机构Innovate UK提供了近25万英镑给Tramonex用以太坊发展跨国支付系统。认许制记账有许多方案正在研究使用以太坊创建认许制的区块链。摩根大通打算用以太坊上创建一个私人区块链“Quorum”。其功能是洗乱派生性金融产品及其交易纪录来保护交易者的隐私,但同时匹配金融管制单位在信息公开上的要求,以期在保障隐私和信息公开之间找到平衡。苏格兰皇家银行用以太坊的分布式记账和智能合约平台创建了一个结算交割机制(Clearing and Settlement Mechanism, CSM),可以达成每秒100笔交易、模拟六间银行,平均每个trip在3到8秒间完成,这些数值用在于全国的支付系统是可接受的。 [3]新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

以太坊白皮书 | ethereum.org

皮书 | ethereum.org跳转至主要内容学习用法构建参与研究搜索​​​​语言 ZH帮助更新此页面本页面有新版本,但现在只有英文版。请帮助我们翻译最新版本。翻译页面没有错误!此页面未翻译,因此特意以英文显示。不再显示首页/whitepaper页面最后更新: 2023年9月25日在本页面下一代智能合约和去中心化应用平台比特币及现有概念简介历史比特币是一个状态转换系统挖矿默克尔树其它的区块链应用脚本以太坊以太坊帐户消息和交易消息以太坊状态转换函数代码执行区块链和挖矿应用代币系统金融衍生品和价值稳定的货币身份和信誉系统去中心化文件存储去中心化自治组织更多应用杂项和关注改进版 GHOST 协议的实现费用计算和图灵完备货币和发行长期供应增长率(百分比)挖矿中心化可扩展性结论注释与延伸阅读注释延伸阅读以太坊白皮书这篇介绍性论文最初由以太坊创始人 Vitalik Buterin 在 2014 年发表,前于 2015 年的项目正式发布时间。 值得一提的是,和其他社区驱动的开源软件项目一样,以太坊自发布以来一直不断发展。虽然已经过数年,但由于本文仍然可提供有用的参考并能够准确表述以太坊及其愿景,我们仍然在维护它。 若想了解以太坊的最新进展,以及以太坊协议的更新情况,我们推荐您阅读本指南。寻求此白皮书早期版本或规范版本 [自 2014 年 12 月起] 的研究人员和学者应使用此 PDF。下一代智能合约和去中心化应用平台中本聪 2009 年开发的比特币常被誉为资金和货币的一次革命性变革,作为数字资产的首个实例,它同时具有以下特点:没有实物或内在价值(opens in a new tab)支撑,也没有一个中心化的发行机构或控制者。 然而,比特币实验有另一个可以说是更重要的部分,即作为分布式共识工具的底层区块链技术,并且人们的注意力正迅速地开始转移到比特币的这个方面。 经常被提到的其他区块链技术应用包括:使用链上数字资产表示自定义货币和金融工具(“彩色币(opens in a new tab)”)、底层物理设备的所有权(“智能资产(opens in a new tab)”)、非同质化资产例如域名(“域名币(opens in a new tab)”),以及一些更复杂的应用,例如让数字资产由一段实现任意规则的代码(“智能合约(opens in a new tab)”)甚至由基于区块链的“去中心化自治组织(opens in a new tab)”(DAO) 直接控制。 以太坊打算提供一种内置完全成熟的图灵完备编程语言的区块链,这种语言可用来创建“合约”,而合约可用于编码任意状态转换函数,让用户可以创建上述任何系统以及我们尚未想象到的许多其他内容,只需用几行代码编写出想实现的逻辑即可。比特币及现有概念简介历史去中心化数字货币的概念以及财产登记等其他应用已经存在了几十年。 1980 年代和 1990 年代的匿名电子现金协议主要依赖于称为 Chaumian 盲签名的密码学原语,提供了一种具有高度隐私性的货币,但这些协议基本上未能获得关注,因为它们依赖于中心化中介。 1998 年,戴伟 (Wei Dai) 的 b-money(opens in a new tab) 成为第一个提出通过解决计算难题来创造货币及去中心化共识等想法的协议,但该协议缺乏关于如何实际实施去中心化共识的细节。 2005 年,Hal Finney 引入了“可重复使用的工作量证明(opens in a new tab)”这一概念,该系统将 b-money 的想法与 Adam Back 有计算难度的哈希现金难题相结合来创建加密货币的概念,但由于依赖可信计算作为后端,又一次未能做到完美。 2009 年,中本聪将通过公钥密码学管理所有权的成熟原语与用于跟踪货币所有者的共识算法相结合,首次真正意义上实现了一种去中心化货币,被称为“工作量证明”。工作量证明机制是该领域的一项突破,因为它同时解决了两个问题。 首先,它提供了一种简单且比较有效的共识算法,让网络中的节点能够全体对比特币账本状态的一组规范更新达成一致。 其次,它提供了一种允许自由进入共识过程的机制,解决了决定谁来影响共识的政治问题,同时防止了女巫攻击。 为此,在工作量证明中,将正式的参与壁垒(例如要求在特定清单上注册成为唯一实体)替换成经济壁垒,即共识投票过程中单个节点的权重与该节点的算力成正比。 此后,还提出了另一种称为权益证明的方法,节点权重与其货币持有量而非计算资源成正比;针对这两种方法相对优点的讨论不在本文范围内,但应该注意,这两种方法都可以作为加密货币的支柱。比特币是一个状态转换系统从技术角度讲,诸如比特币等加密货币账本可视作一种状态转换系统,该系统有一个“状态”,由全部现存比特币的所有权状态和一个“状态转换函数”组成,状态转换函数以状态和交易为输入并输出新状态作为结果。 例如,在标准的银行系统中,状态就是一个资产负债表,一笔交易是一个从 A 帐户向 B 帐户转账$X的请求,状态转换函数将从A帐户中减去$X,向 B 帐户增加$X。 如果A帐户的余额在第一步中小于$X,状态转换函数就会返回错误提示。 所以,可以如此定义:APPLY(S,TX) -> S' or ERROR

上面提到的银行系统中,状态转换函数如下:APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }

但是:APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR

比特币中的“状态”是指所有已铸造但尚未使用的货币(技术上称为“未使用的交易输出”或 UTXO)的集合,每个 UTXO 都有面额和所有者(由一个 20 字节的地址定义,本质上是一个加密公钥 [fn1](注释编号))。 一个交易包括一个或多个输入以及一个或多个输出,每个输入都包含对现有 UTXO 的引用以及所有者地址相关的私钥创建的加密签名;每个输出都包含一个要添加到状态中的新 UTXO。状态转换函数 APPLY(S,TX) -> S' 的定义大体如下:对于 TX 中的每个输入:如果引用的 UTXO 不在 S 范围内,则返回错误。如果提供的签名与 UTXO 的所有者不符合,则返回错误。如果所有输入 UTXO 面值总额小于所有输出 UTXO 面值总额,则返回错误。在移除所有输入 UTXO 且添加所有输出 UTXO 后,返回 S。第一步的第一部分防止交易发送者花费不存在的比特币,第二部分防止交易发送者花费其他人的比特币,第二步确保价值守恒。 为了用于支付,比特币协议如下。 假设 Alice 想给 Bob 发送 11.7 BTC。 首先,Alice 将寻找她拥有的一组总数至少为 11.7 BTC 的可用 UTXO。 事实上,Alice 不太可能正好有 11.7 BTC;假设她能得到的最小数额是 6+4+2=12。 所以,她可以创建一笔有三个输入和两个输出的交易。 第一个输出为 11.7 BTC,所有者是 Bob 的地址,第二个输出为剩下的 0.3 BTC 找零,所有者是 Alice 自己。挖矿如果我们拥有可信任的中心化服务机构,状态转换系统可以很容易地实现;可以简单地将上述功能准确编码,使用中心化服务器的硬盘来记录状态。 然而,我们想把比特币构建成去中心化货币系统,为了确保每个人都同意交易的顺序,我们需要将状态转换系统与一个共识系统结合起来。 比特币的去中心化共识进程要求网络中的节点不断尝试将交易打包成“区块”。 网络计划大约每十分钟产生一个区块,每个区块包含一个时间戳、一个随机数、一个对上一个区块的引用(即哈希)和上一区块生成以来发生的所有交易列表。 随着时间推移就创建出了一个持续增长的区块链,它不断地更新,从而能够代表比特币账本的最新状态。检查一个区块是否有效的算法,如以下范式所示:检查该区块引用的上一个区块是否存在且有效。检查该区块的时间戳是否大于上一个区块 [fn2](注释编号)的时间戳并且在将来 2 小时以内检查区块上的工作量证明是否有效。令前一个区块末尾的态为 S[0]。假设 TX 是该区块的交易列表,其中包含 n 个交易。 对于 0...n-1 中的所有 i,如果有任何应用程序返回错误,退出并返回 false,请设置 S[i+1] = APPLY(S[i],TX[i])。返回 true,并将 S[n] 登记为该区块末尾的状态。本质上,区块中的每笔交易都必须提供一个有效的状态转换,从交易执行前的规范状态转换到某个新状态。 注意,状态并未编码到区块。它纯粹只是校验节点记住的抽象概念,只能被任意区块从创世状态开始,按顺序加上每一个区块的每一笔交易,(安全地)计算出当前状态。 另外,需要注意矿工将交易收录进区块的顺序。如果一个区块中有 A、B 两笔交易,B 花费的是 A 创建的 UTXO,如果 A 在 B 之前,这个区块是有效的,否则,这个区块无效。“工作量证明”是出现在上表而其他系统没有的验证条件。 具体验证方法为,对每个区块进行两次 SHA256 哈希处理,得到一个 256 位的数值,该数值必须小于不断动态调整的目标数值,本文写作时目标数值大约是 2187。 工作量证明的目的是使创建区块有算力困难,从而阻止女巫攻击者恶意重新生成区块链。 因为 SHA256 是完全不可预测的伪随机函数,创建有效区块的唯一方法就是简单地不断试错,不断地增加随机数的数值,查看新的哈希数是否小于目标值。当前的目标数值是~2187,网络必须平均尝试 ~269次才能生成有效的区块。一般而言,比特币网络每隔 2016 个区块重新设定目标数值,从而保证网络中的节点平均每十分钟生成一个区块。 为了对矿工的计算工作进行激励,每一个成功生成区块的矿工有权在区块中包含一笔凭空发给他们自己 12.5 BTC 的交易。 另外,如果交易的输入额大于输出,差额部分就作为“交易费”付给矿工。 顺便提一下,这也是比特币发行的唯一机制,创世状态中并没有比特币。为了更好地理解挖矿的目的,让我们分析比特币网络出现恶意攻击者时会发生什么。 因为比特币的密码学基础是非常安全的,所以攻击者会选择攻击没有被密码学直接保护的部分:交易顺序。 攻击者的策略非常简单:向商家发送 100 个比特币以换取某种产品(最好是快速交付的数字商品)等待商品交付创建另一笔交易,将这 100 个比特币发送给自己试图让网络相信他对自己的交易是先发生的。一旦步骤 (1) 发生,几分钟后矿工将这笔交易收录到区块中,假设是编号为 270000 的区块。 大约一小时后,此区块后面将会有五个区块,每个区块间接地指向这笔交易,从而确认这笔交易。 这时卖家收到货款,并向买家发货。因为我们假设这是数字商品,交付将瞬间完成。 现在,攻击者创建另一笔交易,将相同的 100BTC 发送到自己的帐户。 如果攻击者只是单纯地向全网广播这一消息,该笔交易不会被处理;矿工将运行状态转换函数 APPLY(S,TX) ,发现这笔交易要花费已经不在状态中的 UTXO。 所以,攻击者会对区块链进行分叉,将第 269 个区块作为父区块重新生成第 270 个区块,在此区块中用新交易取代旧的。 因为区块数据是不同的,这要求重新进行工作量证明。 另外,攻击者的新版 270 区块有不同的哈希,原来的 271 到 275 的区块不指向它,所以原链和攻击者的新链是完全分离的。 规定,在发生区块链分叉时,最长链被认为是诚实的区块链,合法的矿工将会沿着原有的 275 区块挖矿,只有攻击者一人在新的 270 区块后挖矿。 攻击者为了使其区块链最长,他需要拥有比除了他以外的全网更多的算力来追赶(即“51%攻击”)。默克尔树左:仅提供默克尔树上的少量节点已经足够给出分支的合法证明。右:对默克尔树任意部分进行改变的尝试最终都会导致链上某处不一致。比特币一个重要的可扩展特性是:它的区块存储在多层次数据结构中。 一个区块的哈希实际上只是区块头的哈希,区块头是一段约 200 字节的数据,包含时间戳、随机数、上个区块的哈希和默克尔树根的哈希,而默克尔树是一个存储了该区块所有交易的数据结构。 默克尔树是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成。最下面是大量包含基础数据的叶节点,每个中间节点是其两个子节点的哈希,顶部的根节点也是其两个子节点的哈希。 默克尔树的目的是允许区块数据可以零散地传送:节点可以从一个源下载区块头,从其它源下载相关树的一小部分,而依然能够确认所有的数据都是正确的。 之所以如此是因为哈希向上传播:如果一个恶意用户尝试替换一个伪造的交易到树的底部,此改动将导致树的上层节点的改动,以及更上层节点的改动,最终导致根节点的改动以及区块哈希的改动,这样协议就会将其记录为一个完全不同的区块(几乎可以肯定是带着无效的工作量证明)。默克尔树协议可以说是比特币长期持续性的基础。 比特币网络中的一个全节点——存储和处理所有区块全部数据的节点,在 2014 年 4 月需要占用 15GB 的磁盘空间,而且还以每个月超过 1GB 的速度增长。 目前,对台式计算机来说尚可接受,但是手机已经负载不了如此巨大的数据了,未来只有商业机构和爱好者才会充当完整节点。 简化支付确认协议(SPV)允许另一种节点存在,这样的节点被称为“轻节点”,它下载区块头,使用区块头确认工作量证明,然后只下载与其交易相关的默克尔树分支。 这使得轻节点只要下载整个区块链的一小部分,就可以安全地确定任何一笔比特币交易的状态和帐户的当前余额。其它的区块链应用将区块链思想应用到其它领域的想法早就出现了。 2005 年,Nick Szabo 提出了“利用所有者权限确保财产权(opens in a new tab)”这一概念,该文件描述了“复制数据库技术的新进展”将如何允许基于区块链的系统存储谁拥有哪些土地的登记表,创建了一个包括宅基地、违法占有和佐治亚州土地税等概念的复杂框架。 然而,不幸的是在那时还没有实用的复制数据库系统,所以这个协议没有被付诸实践。 不过,自 2009 年比特币的去中心化共识开发成功以来,大量区块链的其它应用开始快速出现。域名币 - 创建于 2010 年,域名币(opens in a new tab)描述成去中心化的名称注册数据库最为恰当。 在 Tor、比特币和比特信等去中心化协议中,需要某种方式来识别帐户,以便其他人可以与帐户交互,但在所有现有解决方案中,唯一可用的标识符是伪随机哈希,如 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy。 理想情况下,人们希望能够拥有名称的帐户,比如“george”。 但是,问题在于如果一个人可以创建名为“george”的帐户,那么其他人也可以按相同流程为自己注册“george”来冒充。 唯一的解决方案是“成果优先原则”范式,即第一个注册者成功后第二个注册者将失败,这个问题非常适合比特币共识协议。 域名币是应用这种想法的最早、最成功的名称注册系统实现。彩色币 - 彩色币(opens in a new tab)的作用是充当一种协议,让人们在比特币区块链上创建自己的数字货币,或者在货币只有一个单位的这种重要但琐碎情况下,创建数字代币。 在彩色币协议中,通过公开为特定的比特币 UTXO 分配一种颜色来“发行”新货币,并且该协议以递归方式将其他 UTXO 的颜色定义为与创建它们的交易所花费的输入的颜色相同(一些特殊规则适用于混合颜色输入的情况)。 这样,用户可以维护仅包含特定颜色 UTXO 的钱包,像发送普通比特币一样发送它们,并通过区块链回溯以确定他们收到的任何 UTXO 的颜色。元币 - 元币是想要拥有一个基于比特币的协议,使用比特币交易来存储元币交易,但具有不同的状态转换函数 APPLY'。 因为元币协议无法阻止无效元币交易出现在比特币区块链中,所以增加了一条规则,如果 APPLY'(S,TX) 返回错误,该协议默认为 APPLY'( S,TX) = S。 这为创建任意加密货币协议提供了一种简单的机制,可能有无法在比特币内部实现的高级功能,但开发成本非常低,因为比特币协议已经处理了挖矿和网络的复杂性。 元币已被用于实现某些类别的金融合约、名称注册和去中心化交易所。因此,一般而言,建立共识协议有两种方法:建立一个独立网络或把协议建立在比特币网络上。 前一种方法在域名币这样的应用中相当成功,但是该方法的实施非常困难,每个应用都要创建独立的区块链,建立并测试所有必须的状态转换函数和网络代码。 另外,我们预测去中心化共识技术应用将会服从幂律分布,大多数的应用太小不足以保证自身的安全,我们还注意到大量的去中心化应用,尤其是去中心化自治组织,需要进行应用之间的交互。另一方面,基于比特币的方法存在缺点,它没有继承比特币简化确认支付(SPV) 的特性。 比特币可以实现简化确认支付,因为比特币可以用区块链深度代表有效性;某种程度上,当一笔交易的祖先们距离现在足够远时,就可以安全地认为它们是合法状态的一部分。 与之相反,基于比特币区块链的元币协议不能强迫区块链剔除违反元币协议的交易。 因此,完全安全的元币协议的简化支付确认需要后向扫描所有的区块,直到比特币区块链的初始点,以确认某一交易是否有效。 目前,所有基于比特币的元币协议的“轻”实施都依赖可信任的服务器提供数据,这对主要目的之一是消除信任需要的加密货币而言,可能是一个相当次优的结果。脚本即使不对比特币协议进行扩展,它也能在一定程度上实现”智能合约”。 比特币的 UTXO 并非只能被公钥拥有,也可以被用基于堆栈的编程语言所编写的更加复杂的脚本所拥有。 在这一模式下,花费这样的 UTXO,必须提供满足脚本的数据。 事实上,甚至基本的公钥所有权机制也是通过脚本实现的:脚本将椭圆曲线签名作为输入,验证该交易和拥有此 UTXO 的地址,如果验证成功则返回 1,否则返回 0。 其它更复杂的脚本用于各种不同的应用情况。 例如,人们可以创建要求集齐三个私钥签名中的两个才能进行交易确认的脚本(多重签名),对公司帐户、安全储蓄帐户和某些商业代理来说,这种脚本是非常有用的。 脚本也能用来支付解决计算问题的奖励,人们甚至可以创建这样的脚本“如果你能够提供你已经发送一定数额的狗币给我的简化确认支付证明,该比特币 UTXO 就是你的了”,本质上,比特币系统允许不同的加密货币进行去中心化交易。然而,比特币系统的脚本语言存在一些严重的限制:缺乏图灵完备性 - 也就是说,虽然比特币脚本语言支持一个很大的计算子集,但它基本上不支持所有计算。 缺少的主要类别是循环。 这样做是为了避免交易验证期间出现无限循环;理论上,对脚本程序员来说循环是一个可以克服的障碍,因为任何循环都可以通过简单地使用 if 语句多次重复执行底层代码来模拟,但这确实会导致脚本的空间效率非常低下。 例如,实现另一种椭圆曲线签名算法可能需要 256 次重复的乘法,而每次都需要单独写在代码里。价值盲 - UTXO 脚本无法对可提取金额进行精细控制。 例如,预言机合约的一个强有力的用例是对冲合约,其中 A 和 B 存入价值 $1000 的比特币,30 天后脚本将价值 $1000 的比特币发送给 A,其余的发送给 B。这需要预言机来确定 1 个比特币的美元价值,但即便如此,与现有完全集中化的解决方案相比,这在信任和基础设施要求方面仍是一个巨大的进步。 然而,由于 UTXO 要么是全部要么是零,要实现这一目标,只能使用非常低效的破解方法,即持有许多不同面额的 UTXO(例如,面额为 2k 的 UTXO,每个 k 值都可以达到 30)并让预言机选择发送给 A 和发送给 B 的 UTXO。缺少状态 - UTXO 可以是已使用或未使用;用于保存任何其他内部状态的多阶段合约或脚本是没有机会出现的。 这使得多阶段期权合约、去中心化交易报价或两阶段加密承诺协议(这是安全计算赏金所必需的)难以创建。 这也意味着 UTXO 只能用于构建简单的一次性合约,而不是去中心化组织等更复杂的“有状态”合约,使得元协议难以实现。 二进制状态加之价值盲也意味着另一个重要应用 — 提款限制 — 是不可能实现的。区块链盲 - UTXO 看不到区块链的数据,例如随机数、时间戳和上一个区块的哈希。 由于该脚本语言无法通过随机性来创造可能的价值,它在博彩和其他几个类别的应用受到了严重限制。至此,我们已经考察了在加密货币上建立高级应用的三种方法:建立一个新的区块链、在比特币区块链上使用脚本、在比特币区块链上建立元币协议。 建立新区块链的方法可以自由地实现任意的特性,但要付出开发时间、引导工作和安全性的代价。 使用脚本的方法容易实施和标准化,但是它的功能有限。元币协议尽管非常容易实现,但是存在扩展性差的缺陷。 在以太坊系统中,我们打算建立一个替代框架,使得开发更便捷、轻客户端性能更强大,同时允许应用程序共享经济环境和区块链安全性。以太坊以太坊的目的是创建一个用于建立去中心化应用的替代协议,我们认为提供一套不同的折衷方案对大量去中心化应用非常有用,尤其是那些强调快速开发、小型和不常用应用的安全性,以及应用间高效交互能力的程序。 以太坊通过构建本质上是最终的抽象基础层来实现这一点:一种内置图灵完备编程语言的区块链,允许任何人编写智能合约和去中心化应用,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。 域名币的主体框架只需要两行代码就可以实现,诸如货币和信誉系统等其它协议只需要不到二十行代码就可以实现。 智能合约,即包含价值、只有在满足特定条件时才能解锁的加密“盒子”,也可以在平台上构建,并且因为图灵完备性、价值知晓(value-awareness)、区块链知晓(blockchain-awareness)和多状态所增加的力量,而比比特币脚本所能提供的智能合约强大得多。以太坊帐户在以太坊中,状态由称为“帐户”的对象组成,而每个帐户都有一个 20 字节的地址,状态转换是指帐户之间价值和信息的直接转移。 一个以太坊帐户包含四个字段:nonce,用于确保每笔交易只能处理一次的计数器帐户当前的以太币余额帐户的合约代码(若有)帐户的存储(默认为空)以太币是以太坊内部的主要加密燃料,用于支付交易费。 通常有两类帐户:由私钥控制的外部帐户以及由其合约代码控制的合约帐户。 外部帐户没有代码,持有者可以通过创建和签署交易从外部帐户发送消息;在合约帐户中,每次合约帐户收到消息时,其代码都会激活,允许该帐户读取和写入内部存储,继而发送其他消息或创建合约。注意,以太坊中的“合约”不应被视为要“履行”或“遵守”的东西;相反,合约更像是存在于以太坊执行环境中的“自治代理”。当被交易或消息“触发”时,合约总是执行特定的代码段,并直接控制自已的以太币余额和键/值存储,以跟踪永久变量。消息和交易在以太坊中,术语“交易”用来指代已签名的数据包,数据包存储着将要从外部帐户发送的消息。 交易包含:消息接收者用于识别发送者身份的签名从发送者转账到接收者的以太币金额一个可选数据字段STARTGAS 值,表示允许交易运行的最大计算步骤数GASPRICE 值,表示发送者每个计算步骤支付的费用前三个是任何加密货币都有的标准字段。 默认情况下,数据字段没有函数,但虚拟机有一个操作码,合约可以使用该操作码访问数据;以这样的用例为例:如果一个合约作为区块链上的域名注册服务,那么它可能希望将传送给它的数据解释为包含两个“字段”,第一个字段是要注册的域名,第二个字段将域名注册到 IP 地址。 合约将从消息数据中读取这些值,并将其适当地存储。STARTGAS 及 GASPRICE 字段对于以太坊的反拒绝服务模型至关重要。 为了防止代码中出现无意或恶意的无限循环或其他计算浪费,要求每笔交易对代码可以执行的计算步骤设置一个限制。 计算的基本单位是燃料;通常,一个计算步骤消耗 1 份燃料,但某些操作会消耗更多燃料,因为它们在计算上更加昂贵或者增加了必须存储到状态中的数据量。 交易数据中的每个字节还需支付的费用为 5 份燃料。 收费系统的意图是要求攻击者相应支付他们消耗的每一种资源,包括计算、带宽和存储;因此,任何导致网络消耗更多这些资源的交易,都必须支付大致与增加量成比例的燃料费用。消息合约能够向其他合约发送“消息”。 消息是从未序列化的虚拟对象,只存在于以太坊执行环境中。 消息包含:消息发送者(隐含的)消息接收者随消息一起转账的以太币金额一个可选数据字段STARTGAS 值本质上消息类似于交易,只是消息是由合约而非外部参与者产生的。 当前正在运行代码的合约执行 CALL 操作码时会产生一条消息,该操作码就是用于产生并执行消息。 像交易一样,信息导致接收者帐户运行其代码。 因此,合约之间可以建立关系,方式完全与外部参与者之间建立关系相同。请注意,为交易或合约分配的燃料配额适用于该交易和所有子执行消耗的总燃料量。 例如,如果外部参与者 A 向 B 发送一笔配额为 1000 份燃料的交易,B 在向 C 发送消息需要消耗 600 份燃料,而 C 在内部执行需要消耗 300 份燃料才能返回结果,那么 B 再发送 100 份燃料就会消耗完燃料。以太坊状态转换函数以太坊状态转换函数 APPLY(S,TX) -> S' 可如下定义:检查交易格式是否正确(即具有正确数量的值)、签名是否有效以及 Nonce 值是否与发送者帐户中的 Nonce 值匹配。 若否,则返回错误。通过 STARTGAS * GASPRICE 计算出交易费,并从签名中确定发送地址。 从发送者的帐户余额中减去费用,并增加发送者的 nonce 值。 如果帐户余额不足,则返回错误。初始化 GAS = STARTGAS,并根据交易中的字节数量为每个字节扣除相应数量的燃料。将交易数值从发送者帐户转移至接收帐户。 如果接收帐户尚不存在,则创建此帐户。 如果接收帐户是合约,运行该合约的代码,直到代码运行结束或燃料耗尽。如果由于发送者资金不足或者代码运行耗尽了燃料,而导致转账失败,则回滚除支付费用之外的所有状态变化,并将费用支付给矿工帐户。否则,将所有剩余燃料的费用退还发送者,并把为所消耗燃料而支付的费用发送给矿工。例如,假设合约的代码如下:if !self.storage[calldataload(0)]:

self.storage[calldataload(0)] = calldataload(32)

注意,合约代码实际上是用低级以太坊虚拟机代码编写的;为了清晰起见,此示例是用我们的一种高级语言 Serpent 编写的,它可以编译为以太坊虚拟机代码。 假设合约的存储一开始是空的,发送了一个价值为 10 个以太币的交易,消耗 2000 份燃料,燃料价格为 0.001 个以太币,并且数据包含 64 个字节,字节 0-31 代表数字 2,字节 32-63 代表字符串 CHARLIE。 在这种情况下,状态转换函数的执行过程如下:检查交易是否有效、格式是否正确。检查交易发送者是否至少有 2000 * 0.001 = 2 个以太币。 若有,则从发送者帐户中扣除 2 个以太币。初始化燃料 = 2000 份,假设交易长度为 170 个字节,每字节费用 5 份燃料,减去 850 份燃料,剩下 1150 份燃料。从发送者帐户再减去 10 个以太币并增加到合约帐户。运行代码。 在本例中,运行比较简单:代码检查是否使用合约的索引 2 处的存储,若未使用,则通知;若使用,代码将索引 2 处的存储设置为值 CHARLIE。 假设该运行花费了 187 份燃料,所以余下的燃料数量是 1150 - 187 = 963 份燃料。向发送者帐户增加 963 * 0.001 = 0.963 个以太币,同时返回产生的状态。如果交易的接收一端没有合约,那么总交易费就等于提供的 GASPRICE 乘以交易的字节长度,并且和随交易发送的数据无关。注意,消息在回滚方面与交易相同:如果消息执行耗尽燃料,那么该消息的执行以及该执行触发的所有其他执行都会回滚,但父执行不需要回滚。 这意味着合约调用另一份合约是“安全的”,就好像 A 使用 G 份燃料调用 B,那么可以保证 A 的执行最多损耗 G 份燃料。 最后请注意,有一个创建合约的操作码 CREATE;它的执行机制通常类似于 CALL,不同之处在于执行的输出决定了新创建合约的代码。代码执行以太坊合约中的代码用一种基于堆栈的低级字节码语言编写,被称为“以太坊虚拟机代码”或“EVM 代码”。 该代码由一系列字节组成,每个字节代表一种操作。 通常,代码执行是一个无限循环,即重复执行当前程序计数器(从零开始)处的操作,然后将程序计数器增加一,直到代码执行完毕或出现错误,或者检测到 STOP 或 RETURN 指令。 操作可以访问三种数据存储空间:堆栈,一种后进先出容器,值可以在其中入栈和出栈内存,一种可无限扩展的字节数组合约的长期存储,一个键/值存储。 与堆栈和内存会在计算结束后重置不同,存储将长期持续存在。代码可以访问传入消息的值、发送者信息和数据,可以访问区块头数据,而且代码还可以返回数据字节数组作为输出。以太坊虚拟机码的正式执行模型简单得令人吃惊。 当以太坊虚拟机运行时,其完整计算状态可以由元组 (block_state, transaction, message, code, memory, stack, pc, gas) 来定义,其中 block_state 是包含所有帐户的全局状态并包括余额和存储。 在每一轮执行开始时,可以通过调用 code 的第 pc 个字节(或者如果 pc >= len(code),则调用 0)来找到当前指令,并且每条指令在元组影响方式方面都有自己的定义。 例如,ADD 将两个项目出栈并将它们的和入栈,将 gas 减少 1 并将 pc 增加 1,SSTORE 将顶部的两个项目出栈并将第二个项目插入到合约存储中第一个项目指定的索引处。 尽管有很多通过 JIT 编译来优化以太坊虚拟机执行的方法,但只需几百行代码就可以完成以太坊的基本实现。区块链和挖矿以太坊区块链在许多方面与比特币区块链相似,但确实存在一些差异。 以太坊和比特币在区块链架构方面的主要区别在于,与比特币不同,以太坊区块包含交易列表和最新状态的副本。 此外,其他两个值、区块编号和难度也存储在区块中。 以太坊中的基本区块验证算法如下:检查被引用的前一个区块是否存在并有效。检查区块的时间戳是否大于被引用的前一个区块的时间戳,并且在将来 15 分钟以内。检查区块编号、难度、交易根、叔根和燃料限制(各种以太坊特定的低级概念)是否有效。检查区块上的工作量证明是否有效。令前一个区块末尾的态为 S[0]。令区块的交易列表为 TX,并包含 n 笔交易。 对于 0...n-1 中的所有 i,设置 S[i+1] = APPLY(S[i],TX[i])。 如果任何应用程序返回错误,或者直到此时区块中消耗的总燃料量超过 GASLIMIT,则返回错误。令 S_FINAL 为 S[n],但添加支付给矿工的区块奖励。检查状态 S_FINAL 的默克尔树根是否等于区块头中提供的最终状态根。 如果等于,则该区块有效;否则该区块无效。这种方法乍一看效率似乎极低,因为它需要存储每个区块的全部状态,但实际上效率应该与比特币相当。 原因是状态存储在树结构中,而且在添加每个区块后只需要更改树的一小部分。 因此一般来说,在两个相邻区块之间,树的绝大部分应该是相同的,因此数据可以用指针(即子树的哈希)存储一次和引用两次。 一种称为“帕特里夏树”的特殊类型的树用于实现此目的,它包括对默克尔树概念的修改,允许高效地插入和删除节点,而不仅仅是更改。 此外,由于所有状态信息都存在于最后一个区块内,因此无需存储整个区块链历史,如果可以应用于比特币,使用这种策略计算可以节省 5-20 倍空间。一个常见的问题是合约代码在物理硬件的“哪里”执行。 该问题有一个简单的答案:合约代码的执行过程是状态转换函数定义的一部分,而该函数是区块验证算法的一部分,因此如果将交易添加到区块 B 中,由该交易产生的代码执行将在现在和将来由所有节点执行,由此下载并验证区块 B。应用通常,以太坊上有三种类型的应用。 第一类是金融应用,为用户提供更有效的方式来使用资金管理和签订合约。 包括子货币、金融衍生品、对冲合约、储蓄钱包、遗嘱,甚至最终包括某些类别的完整雇佣合约。 第二类是半金融应用,它们涉及金钱,但很大一部分功能也与资金无关;一个恰当的示例是针对解决计算难题的自动执行的赏金。 最后还有一些应用与金融毫不想关,例如在线投票和去中心化治理。代币系统区块链上的代币系统有许多应用,从代表美元或黄金等资产的子货币到公司股票等等,单个代币可以代表智能资产、不可伪造的安全优惠券,甚至可代表作为激励积分系统并与传统价值完全没有联系的代币系统。 代币系统在以太坊中非常容易实现,让人吃惊。 要理解的重点是,从根本上讲,所有货币或代币系统都是具有这样一种操作的数据库:从 A 中减去 X 个单位并将 X 个单位添加给 B,条件是 (1) A 在交易之前至少有 X 个单位并且 (2) 交易由 A 批准。实现代币系统所需要做的就是将此逻辑实现到合约中。使用 Serpent 语言实现代币系统的基本代码如下所示:def send(to, value):

if self.storage[msg.sender] >= value:

self.storage[msg.sender] = self.storage[msg.sender] - value

self.storage[to] = self.storage[to] + value

此代码本质上是本文档前面部分详细描述的“银行系统”状态转换函数的字面实现。 需要额外添加几行代码来规定在最初以及其他一些特殊情况下分配货币单位的初始步骤,理想情况下,应该添加一个函数让其他合约查询地址的余额。 但这就足够了。 理论上,基于以太坊的代币系统在作为子货币时可能具有另一个重要特征,该特征是基于比特币的链上元货币所缺乏的,那就是直接以该货币支付交易费的能力。 实现这一点的方式是:合约会保持一定数量的以太币余额,用来向发送者退还用于支付费用的以太币;合约也会通过收取费用来收集内部货币,并在持续不断的拍卖中转售货币,以此补充以太币余额。 因此,用户需要用以太币“激活”他们的帐户,但一旦帐户中有以太币,就可以重复使用,因为合约每次都会向帐户退还资金。金融衍生品和价值稳定的货币金融衍生品是“智能合约”最常见的应用,也是通过代码实现的最简单的应用之一。 实现金融合约的主要挑战在于,其中大多数合约都需要引用外部价格自动收报机;例如,一个非常理想的应用是对冲以太币(或其他加密货币)相对于美元波动的智能合约,但对冲需要合约知道以太币/美元的价值。 要实现这一点,最简单的方法是借助由特定方(例如纳斯达克)维护的“数据馈送”合约,这种合约的设计使得特定方能够根据需要更新合约并提供一个接口,允许其他合约向该合约发送消息并返回包含价格的响应。鉴于这一关键因素,对冲合约将如下所示:等待 A 方输入 1000 个以太币。等待 B 方输入 1000 个以太币。在存储中记录 1000 个以太币的美元价值(通过查询数据馈送合约计算得出),假设价值是 $x。30 天后,允许 A 或 B“重新激活”该合约,以便将价值 $x 的以太币(通过再次查询数据馈送合约获取新价格并且计算得出)发送给 A,剩余以太币发送给 B。这种合约在加密货币交易中潜力巨大。 加密货币的主要问题之一是它的波动性。尽管许多用户和商家可能希望获得处理加密资产的安全性和便利性,但他们中许多人不希望面临在一天内资金价值损失 23% 的景象。 迄今为止,最常见的解决方案是发行人支持的资产;其想法是发行人创建一种子货币,他们有权发行和撤销这种子货币单位,并且发行人可以向给他们(离线)提供一个单位指定基础资产(例如黄金、美元)的任何人提供一个单位的货币。 然后,发行人承诺向返还一个单位加密资产的任何人提供一个单位基础资产。 这种机制使得任何非加密资产“升级”为加密资产,前提是发行人是可信的。但实际上,发行人并不总是值得信赖,在某些情况下,银行基础设施过于薄弱或过于不友好,以至于无法提供此类服务。 金融衍生品提供了一种替代方案。 在这种方案中,不是由单个发行人提供资金来支持资产,而是由一个去中心化的投机者市场承担了这一角色,他们押注加密参考资产(例如以太币)的价格会上涨。 与发行人不同,投机者无法在交易中违约,因为对冲合约托管他们的资金。 请注意,这种方法不是完全去中心化的,因为仍然需要一个可信来源提供价格自动收报机,但可以说在降低基础设施要求(与成为发行者不同,发布价格馈送不需要许可证并且可能被归类为自由言论)以及减少欺诈的可能性方面,这仍是一次巨大的改进。身份和信誉系统最早的替代加密货币域名币(opens in a new tab)尝试使用类似比特币的区块链提供一种名称注册系统,通过该系统,用户可以在公共数据库中注册他们的姓名和其他数据。 主要用例是 DNS(opens in a new tab) 系统,它将诸如“bitcoin.org”等域名(在域名币的情况下,“bitcoin.bit”)映射到一个 IP 地址。 其它用例包括电子邮件身份验证系统和可能更为先进的信誉系统。 下面是一个基础合约,它在以太坊中提供与域名币类似的名称注册系统:def register(name, value):

if !self.storage[name]:

self.storage[name] = value

该合约非常简单;它完全是以太坊网络中的一个数据库,可以向其中添加但不能修改或移除。 任何人都可以把名称注册为一个值,该注册将永久保存。 更复杂的名称注册合约还包含一个“函数子句”以及一种机制,前者允许其他合约查询它,后者允许名称的“所有者”(即第一个注册者)更改数据或转让所有权。 甚至可以在该合约上添加信誉和信任网络功能。去中心化文件存储过去几年,大批受欢迎的在线文件存储初创公司不断涌现,其中最著名的是 Dropbox。Dropbox 想让用户可以上传硬盘备份、提供备份存储服务并允许用户访问备份,而用户需按月付费。 然而,在这一点上,文件存储市场有时效率相对较低。在粗略了解各种现有解决方案后会发现,主流文件存储的每月价格比整个硬盘驱动器的成本还要高,特别是在被称为“恐怖谷”的 20-200 GB 级别,既没有免费额度也没有企业级折扣。 以太坊合约让去中心化文件存储生态系统得以发展,个人用户可以在该系统中将自己的硬盘租出去以获得少量收益,而未使用的空间可用来进一步降低文件存储的成本。该系统的基础性构件就是我们所谓的“去中心化 Dropbox 合约”。 该合约的工作原理如下。 首先,用户将需要存储的数据拆分成几个区块并对每个区块加密以保护隐私,然后以此构建一个默克尔树。 然后创建一个含以下规则的合约,对于每 N 个区块,合约将从默克尔树中选择一个随机索引(使用能够被合约代码访问的上一个区块的哈希作为随机性来源),然后给予第一个实体 X 个以太币,以提供具有简化支付确认(例如证明树中特定索引处区块的所有权)的交易。 当用户想重新下载他们的文件时,可以使用微支付通道协议(例如每 32 KB 支付 1 个 szabo)收回文件;最节省费用的方法是支付者不到最后不发布交易,而是每 32 KB 之后,用一个更划算的具有相同 nonce 的交易取代原来的交易。该协议的一个重要特点是,虽然似乎用户相信许多随机节点不会丢失文件,但可以通过以下方法将这种风险降低到接近于零:通过私钥共享将文件拆分成许多部分,并通过监控合约确定每一部分仍在某个节点中。 如果合约仍在支付款项,则提供了一个加密证明,证明有人仍在存储该文件。去中心化自治组织通常意义上“去中心化自治组织”是指拥有一定数量成员或股东的虚拟实体,他们大概拥有 67% 的大多数股权,有权使用实体的资金并修改其代码。 成员集体决定组织的资金分配方式。 去中心化自治组织的资金分配方式可以是奖金、薪资或者更奇特的机制等等,比如用内部货币去奖励工作。 这在本质上复制了传统公司或者非营利组织的合法手段,但仅使用加密区块链技术进行了加强。 目前为止,许多关于去中心化自治组织的讨论都围绕着去中心化自治公司的“资本家”模式,其中有可获得红利的股东和可交易的股份;作为替代方案,有一种可能被称为“去中心化自治社区”的实体将使所有成员在决策时拥有同等权利,并在增减成员时要求 67% 的现有成员多数同意。 由于每个人只能拥有一个成员资格,所以需要群体来集体执行。下面概括了如何用代码实现去中心化自治组织。 最简单的设计就是一段自动修改的代码,如果三分之二的成员同意更改,该代码就更改。 理论上代码是不可更改的,然而通过把代码片段放入不同的合约并将合约调用的地址存储在可更改的存储中,用户可以轻易解决这一问题,使代码事实上变得可修改。 在这种去中心化自治组织合约的简单实现中,有三种交易类型,可通过交易中提供的数据行区分:[0,i,K,V] 在索引 i 处注册提案,以便将存储索引 K 的地址更改为值 V[1,i] 注册一张赞成提案 i 的投票[2,i] 如果投票有足够票数,则确认提案 i合约为每一种交易都提供有子句。 它将维护所有开放存储更改的记录以及投票支持者的列表。 合约还包括所有成员的列表。 当任何存储更改获得三分之二成员投票赞成时,一个确认交易将执行这项更改。 更复杂的框架可能还有针对发送交易、增减成员等功能的内置投票功能,甚至可以提供委任式民主(opens in a new tab)投票委托(即任何人都可以委托另外一个人代表自己投票,而且这种委托关系是可以传递的,如果 A 委托了 B,然后 B 委托了 C,那么 C 将决定 A 的投票)。 这种设计将使去中心化自治组织作为一个去中心化社区有机地成长,允许人们最终将筛选成员的任务委派给专家,但与“现有系统”不同,随着时间的推移,当个别社区成员改变他们的阵营时,专家可以很容易地加入或退出。另一个模型是去中心化公司,其中任何帐户可以拥有零份或多份股份,决策需要持有三分之二多数股份。 完整框架将包括资产管理功能,即能够出价购买或出售股份并且能够接受报价(最好是合约里有订单匹配机制)。 委托还提供委任制民主形式,普及了“董事会”的概念。更多应用1. 储蓄钱包。 假设 Alice 想安全地保管她的资金,但她担心自己的私钥丢失或被破解。 她把以太币放到和银行 Bob 签订的一个合约里,如下所示:Alice 每天最多可以单独提取 1% 的资金。Bob 每天最多可以单独提取 1% 的资金,但 Alice 可以用她的密钥创建一个交易取消 Bob 的提取权限。Alice 和 Bob 一起可以任意提取资金。通常,每天 1% 的额度对于 Alice 足够了,如果 Alice 想提取更多资金,她可以联系 Bob 寻求帮助。 如果 Alice 的密钥被破解,她可以立即找到 Bob,帮她将资金转移到一个新合约里。 如果 Alice 丢失了密钥,Bob 最终会取出资金。 如果最终发现 Bob 是恶意的,她可以取消他的提取权限。2. 作物保险。 用户可以轻松地制订金融衍生品合约,但使用的是天气而不是任何价格指数的数据馈送。 如果爱荷华州的一位农民购买了一项金融衍生品,该产品基于爱荷华的降雨情况进行反向赔付,那么如果遇到干旱,该农民将自动收到赔付资金,而且如果降雨充沛,他会很开心,因为他的作物收成会很好。 通常,这种保险可以扩展到自然灾害保险。3. 去中心化数据馈送。 对于金融差价合约,实际上有可能通过一种名为“谢林币(opens in a new tab)”的协议将数据馈送去中心化。 谢林币的基本工作原理如下。N 个相关方都向系统输入给定数据的值(以太币/美元价格),对这些值进行排序,在第 25 和第 75 百分位之间的每个人都会得到一个代币作为奖励。 每个人都有动力提供其他人都会提供的答案,而唯一能让众多参与者实际达成一致的值是显而易见的:真相。 这样就创建了一种去中心化的协议,它理论上可以提供任何数量的值,包括以太币/美元的价格、柏林的温度、甚至某个硬计算的结果。4. 智能多重签名托管。 比特币允许多重签名交易合约,例如,提供了给定五个密钥中的三个便可以使用资金。 以太坊允许更精细的控制;例如,提供五个密钥中的四个可以使用任意数额的资金,提供五个密钥中的三个可以每天最多使用 10% 的资金,提供五个密钥中的两个可以每天最多使用 0.5% 的资金。 此外,以太坊的多重签名是异步的 — 双方可以在不同时间在区块链上注册他们的签名,最后一个签名将自动发送交易。5. 云计算。 以太坊虚拟机技术还可以用来创建一个可验证的计算环境,让用户可以要求他人执行计算,然后有选择地索要证明,证实计算在某些随机选定的检查点处正确完成。 这就可以创建一个云计算市场,任何用户都可以用他们的台式机、笔记本电脑或专用服务器来参与,并且抽查与保证金双管齐下确保系统是值得信赖的(即节点不能通过欺骗获利)。 但是,这样的系统可能并不适合所有任务;例如,需要进行大量进程间通信的任务无法在大型节点云上轻易实现。 然而,其他任务则更容易实现并行;例如 SETI@home、folding@home 和遗传算法等项目可以方便地在这类平台上实现。6. 点对点赌博。 任意数量的点对点赌博协议都可以在以太坊区块链上实现,例如 Frank Stajano 和 Richard Clayton 的 Cyberdice(opens in a new tab)。 最简单的赌博协议实际上只是一种关于下一个区块哈希的差价合约,并且可以在其基础上创建更高级的协议,创建接近零费用且无法作弊的赌博服务。7. 预测市场。 如果有预言机或谢林币,预测市场也很容易实现,预测市场与谢林币一起有可能被证明是 futarchy(opens in a new tab) 的第一个主流应用,作为去中心化组织的治理协议。8. 链上去中心化市场,基于身份和信誉系统。杂项和关注改进版 GHOST 协议的实现“贪婪最重可观察子树”(GHOST) 协议是由 Yonatan Sompolinsky 和 Aviv Zohar 在 2013 年 12 月(opens in a new tab)首次提出的一项创新。 提出 GHOST 的动机是,具有快速确认时间的区块链目前由于过时率高而安全性降低 — 因为区块需要一定的时间才能通过网络传播,如果矿工 A 开采了一个区块,然后矿工 B 碰巧在矿工 A 的区块传播到 B 之前开采了另一个区块,那么矿工 B 的区块最终会被作废,不会增加网络安全。 此外,还有一个中心化问题:如果矿工 A 是一个拥有 30% 算力的矿池,而 B 拥有 10% 算力,那么 A 将面临 70% 的时间生产陈腐区块的风险(因为在其他 30% 的时间 A 产生了最后一个区块,所以会立即获得挖矿数据),而 B 将面临 90% 的时间生产陈腐区块的风险。 因此,如果区块间隔短到足以使过时率较高,则 A 将仅仅凭借其规模而显着提高效率。 结合这两种影响,快速产生区块的区块链很可能造就一个拥有足够高比例网络算力的矿池,从而对挖矿过程拥有事实上的控制。正如 Sompolinsky 和 Zohar 所描述的,GHOST 通过在计算哪条链“最长”时包含陈腐区块来解决第一个问题 - 网络安全降低;也就是说,在计算哪个区块具有最大的总工作量证明支持它时,不仅区块的父块和更远的祖先,而且该区块祖先(在以太坊行话中称为“叔块”)的陈腐子代也都被添加到计算中。 为了解决第二个问题 - 中心化偏差,我们跳出了 Sompolinsky 和 Zohar 描述的协议范畴,并且还为陈腐区块提供区块奖励:陈腐区块获得其基础奖励的 87.5%,而包含陈腐区块的侄块获得剩余的 12.5%。 不过,交易费不奖励给叔块。以太坊实现了一个简化版的 GHOST 协议,它仅仅深入七个层级。 具体而言,它的定义如下:一个区块必须指定一个父块,并且必须指定零个或多个叔块包含在区块 B 中的叔块必须具有以下属性:它必须是区块 B 的第 k 代祖先的直系子代,其中 2 <= k <= 7。它不能是 B 的祖先叔块必须是有效的区块头,但不需要是之前验证过的甚至是有效的区块叔块必须不同于前面区块中包含的所有叔块,并且不同于同一区块中包含的所有其他叔块(非双重包含)对于区块 B 中的每个叔块 U,区块 B 的矿工获得额外 3.125% 的铸币奖励,而叔块 U 的矿工获得 93.75% 的标准铸币奖励。这种限制版的 GHOST 协议,最多只能包含 7 代叔块,采用它有两个原因。 首先,无限制 GHOST 协议让计算给定区块的哪些叔块有效时过于复杂。 其次,无限制 GHOST 协议采用了以太坊中使用的补偿,取消了促使矿工在主链而不是公共攻击者的链上挖矿的激励措施。费用由于发布到区块链中的每笔交易都会给网络带来下载和验证成本,因此需要一些监管机制(通常涉及交易费)以防滥用。 比特币中使用的默认方法是收取完全自愿性质的费用,依靠矿工充当守门人并设置动态最低费用。 这种方法在比特币社区中非常受欢迎,特别是因为它是“基于市场的”,允许由矿工和交易发送者之间的供需决定价格。 然而,这种思路的问题在于,交易处理并不符合市场规律。尽管将交易处理解释为矿工向发送者提供的服务直观上很有吸引力,但实际上矿工收录的每笔交易都需要由网络中的每个节点处理,因此绝大部分交易处理成本由第三方承担,而不是由决定是否收录交易的矿工承担。 因此,公地悲剧的问题很可能发生。然而结果却是,基于市场机制中的这个缺陷,在给出一个不准确的特定简化假设时,会神奇地自我抵消。 论证如下。 假设:交易导致 k 个操作,将提供奖励 kR 给收录它的任何矿工,其中 R 由发送者设置,k 和 R 事先(大体上)对矿工可见。操作在任何节点的处理成本均为 C(即所有节点效率相同)有 N 个挖矿节点,每个节点的处理能力完全相同(即为总处理能力的 1/N)没有不挖矿的完整节点。如果预期奖励大于成本,矿工将愿意处理交易。 因此,预期奖励是 kR/N,因为矿工有 1/N 几率处理下一个区块,而矿工的处理成本仅仅是 kC。 所以,当 kR/N > kC 或者 R > NC 时,矿工将会收录交易。 请注意,R 是发送者提供的每个操作的费用,因此是发送者从交易中获得的收益的下限,NC 是整个网络共同处理一个操作的成本。 因此,矿工有动力仅收录那些总实际收益超过成本的交易。然而,现实中这些假设会存在几个重要偏差:与其他验证节点相比,矿工处理交易的成本确实更高,因为额外的验证时间会延迟区块传播,因而增加区块变陈腐的几率。确实存在不挖矿的完整节点。实际中挖矿能力的分配最终可能极端不平等。热衷于破坏网络的投机者、政敌和疯子确实存在,他们可以巧妙地设置合约,使得他们的成本远低于其他验证节点支付的成本。(1) 让矿工趋向于收录更少的交易,并且 (2) 增加 NC;因此,这两种作用会相互抵消 一部分 。如何抵消?(opens in a new tab) (3) 和 (4) 是主要问题,为了解决它们,我们简单地制订了一个 浮动上限:没有区块能够包含比 BLK_LIMIT_FACTOR 乘以长期指数移动平均值更多的操作数。 具体如下:blk.oplimit = floor(

(blk.parent.oplimit * (EMAFACTOR - 1) +

floor(parent.opcount * BLK_LIMIT_FACTOR)) /

EMA_FACTOR

)

BLK_LIMIT_FACTOR 和 EMA_FACTOR 是常量,暂时设置为 65536 和 1.5,但可能会在进一步分析后更改。还有一个因素会抑制比特币中的大区块大小:大区块将需要更长时间来传播,因此变陈腐的概率更高。 在以太坊中,燃料消耗量高的区块也可能需要更长的传播时间,因为它们的物理大小更大,而且因为它们需要更长时间来处理交易状态转换以进行验证。 这种延迟抑制因素在比特币中是一个重要的考虑因素,但在以太坊中由于 GHOST 协议而较少考虑;因此,依靠受监管的区块限制可提供更稳定的基线。计算和图灵完备重要的一点是,以太坊虚拟机是图灵完备的;这意味着以太坊虚拟机代码可以对任何设想可执行的计算进行编码,包括无限循环。 以太坊虚拟机代码以两种方式实现循环。 首先,使用一个 JUMP 指令,允许程序跳回至代码中的前一个位置,还使用一个 JUMPI 指令进行条件跳转,允许诸如 while x < 27: x = x * 2 之类的语句。 其次,合约可以调用其他合约,有可能通过递归进行循环。 这很自然地导致了一个问题:恶意用户能够通过迫使矿工和完整节点进入无限循环而不得不关机吗? 这个问题的出现源于计算机科学中的一个难题,称为停机问题:在一般情况下,没有办法知道一个特定的程序是否会停止运行。正如状态转换部分所述,我们的解决方案要求交易设置一个允许执行的最大计算步骤数,如果超过执行时间,计算就会被回滚,但仍要支付费用。 消息的工作原理相同。 为显示我们解决方案背后的动机,请看下面的示例:攻击者创建一个运行无限循环的合约,然后向矿工发送激活该循环的交易。 矿工将处理该交易,运行无限循环直到燃料耗尽。 即使执行耗尽了燃料并中途停止,交易仍然有效,矿工仍然向攻击者索取每个计算步骤的费用。攻击者创建一个非常长的无限循环,目的是迫使矿工持续计算很长时间,以至于计算结束时,将有更多区块产生出来,这样矿工就不可能通过收录该交易来索取费用。 然而,攻击者需要为 STARTGAS 提交一个值,限制执行可以进行的计算步骤数,因此矿工将提前知道该计算将进行相当多的步骤数。攻击者看到一个合约,其中的代码形式为 send(A,contract.storage[A]); contract.storage[A] = 0,然后发送一个交易,但燃料只够运行第一步而不足以运行第二步(即进行提款但不让余额减少)。 合约作者无需担心防卫此类攻击,因为如果执行中途停止,更改会被回滚。金融合约使用九个专有数据馈送的中位数,以便最大限度降低风险。 攻击者接管其中一个数据馈送,该数据馈送设计为可通过去中心化自治组织部分描述的变量-地址-调用机制修改,并将其转换为运行无限循环,从而强制任何从金融合约索取资金的尝试都因燃料耗尽而中止。 然而,金融合约可以为消息设置一个燃料限制,防止这个问题发生。图灵完备的替代方案是图灵不完备,其中 JUMP 和 JUMPI 不存在,并且在任何给定时间每个合约只允许有一个副本存在于调用堆栈内。 在这样的系统里,上述收费系统和关于我们解决方案效果的不确定性可能都是不需要的,因为执行一个合约的成本将被它的大小决定。 此外,图灵不完备甚至不是一个很大的限制;在我们内部构想的所有合约示例中,到目前为止只有一个需要循环,甚至那个循环也可以通过将一行代码重复 26 次来消除。 考虑到图灵完备带来的严重影响和有限的益处,为什么不简单地使用一种图灵不完备语言呢? 然而,在现实中,图灵不完备还远远不能有效地解决问题。 要想知道原因,请思考以下合约:C0: call(C1); call(C1);

C1: call(C2); call(C2);

C2: call(C3); call(C3);

...

C49: call(C50); call(C50);

C50: (run one step of a program and record the change in storage)

现在,向 A 发送一笔交易。这样,在 51 笔交易中,我们有一个合约需要进行多达 250 个计算步骤。 矿工可以尝试提前检测这种逻辑炸弹,方法是为每个合约维护一个值,指定合约可以进行的最大计算步骤数,然后对递归调用其他合约的合约进行计算,但是这需要矿工禁止创建其他合约的合约(因为上面 26 个合约的创建和执行可以很容易地汇集到一个单独合约内)。 另一个问题是,消息的地址字段是一个变量,所以在一般情况下,甚至不可能提前知道某个合约将调用哪些其他合约。 于是,最终我们有了一个惊人的结论:图灵完备的管理惊人地容易,而在缺乏同样的控制时图灵不完备的管理惊人地困难,那为什么不直接让协议图灵完备呢?货币和发行以太坊网络包括自己的内置货币以太币,以太币扮演双重角色:提供一个主要流动资金层,实现各种数字资产之间的高效交易;更重要的是,提供一种支付交易费的机制。 为了方便起见并避免将来出现争议(参考比特币当前的 mBTC、uBTC、satoshi 争论),不同面值的名称将提前设置如下:1: wei1012:Szabo1015:finney1018:ETH这应该被视为“美元”和“美分”或“BTC”和“satoshi”概念的扩展版本。 在不久的将来,我们期望“ETH”用于普通交易,“finney”用于微型交易,“szabo”和“wei”可以在围绕费用和协议实现的技术讨论中使用;其余的面额可能会在以后变得有用,但目前不应包含在客户端中。发行模型如下:以太币将以货币销售的形式发行,价格为一个比特币可购买 1000-2000 个以太币,这种机制旨在为以太坊组织筹资和支付开发费用,且已被其他平台(如 Mastercoin 和 NXT)成功应用。 早期的购买者将从较大的折扣中获益。 发售所得的比特币将全部用来支付开发者的薪资和奖金,并用来投资以太坊和加密货币生态系统中的各种营利和非营利项目。0.099 倍的发售总量(60102216 个以太币)将分配给以太坊组织,以补偿早期贡献者,并用以太币计价的方式支付创世块诞生前的开销。0.099 倍的发售总量将作为长期储备金保留。发售后,将永久性地每年为矿工分配 0.26 倍的发售总量。分组启动时一年后5 年后货币单位1.198X1.458X2.498X购买者83.5%68.6%40.0%已支用的预售准备金8.26%6.79%3.96%已使用的售后准备金8.26%6.79%3.96%矿工0%17.8%52.0%长期供应增长率(百分比)尽管采用了线性发行方式,然而和比特币一样,以太币的长期供应增长率也趋于零。上述模型提供了两个主要选项:(1) 捐赠池的存在和规模,以及 (2) 永久增长的线性供应的存在,而比特币采用了限制供应的方法。 捐赠池存在的理由如下。 如果捐赠池不存在,并且线性发行量减少到总发售量的 0.217 倍以实现相同的通货膨胀率,那么以太币总量将减少 16.5%,而每个单位的价值将增加 19.8%。 因此为了均衡,将会多发售 19.8% 的以太币,所以每个单位的价值将再次与以前完全一样。 之后,该组织还将拥有 1.198 倍的比特币,可以考虑将其分成两部分:原有的比特币和增加的 0.198 倍比特币。 因此,这种情况完全等同于捐赠,但有一个重要区别:该组织仅持有比特币,因而没有动力支持以太币单位的价值。永久性线性供应增长模型降低了有些人认为比特币财富过度集中的风险,并为生活在当前和未来的人提供了获取货币单位的公平机会,同时又保留了让人获取并持有以太币的强效激励措施,因为长期来看,用百分比表示的“供应增长率”将趋于零。 我们还推测,由于加密货币总是会因为不小心、死亡等原因而丢失,而加密货币的损失可以被模拟为每年总供应量的百分比,因此流通中的货币总供应量实际上最终会稳定在一个等于每年发行量除以损失率的数值上(例如,在损失率为 1% 时,一旦供应量达到 26 倍,那么每年将有 0.26 倍被开采,0.26 倍丢失,形成一个平衡点)。注意,未来以太坊可能过渡到权益证明模型以确保安全,将每年发行量降低到 0 至 0.05 倍之间。 如果以太坊组织失去资助或出于任何其他原因而消失,我们将开放一个“社区合约”:任何人都有权创建未来的以太坊候选版本,唯一的条件是太币数量必须最多为 60102216 * (1.198 + 0.26 * n) 个,其中 n 是创世块产生后的年数。 创建者可以自由地通过众筹或其他方式,分配权益证明驱动的供应增加与最大允许供应增加之间的部分或全部差额,以支付开发费用。 不符合社区合约的候选版本升级可能被合理地分叉为兼容版本。挖矿中心化比特币挖矿算法的原理是,让矿工一次又一次地对区块头稍作修改的版本进行数百万次 SHA256 计算,直到最终某个节点所产生版本的哈希小于目标值(目前大约为 2192)。 然而,这种挖矿算法容易遭受两种形式的中心化攻击。 第一种,挖矿生态系统已经被 ASIC(专用集成电路)所支配,这些计算机芯片专门为特定的比特币挖矿任务而设计,因此效率提高了数千倍。 这意味着比特币挖矿不再是一种高度去中心化和平等的事业,需要巨额资本才能有效参与。 第二种,大部分比特币矿工事实上不在本地完成区块验证;而是依赖中心化矿池提供区块头。 这个问题可以说更糟:截至撰写本文时,排名前三的矿池间接控制了比特币网络中大约 50% 的处理能力,尽管当矿池或联盟试图进行 51% 攻击时,矿工可以转换到其他矿池这一事实缓解了该问题。以太坊现在的目的是使用一种挖掘算法,要求矿工从状态中获取随机数据,从区块链的最后 N 个区块中计算一些随机选择的交易,并返回结果的哈希值。 这有两个重要好处。 首先,以太坊合约可以包含任何类型的计算,因此以太坊 ASIC 本质上是用于一般计算的 ASIC,即更好的 CPU。 其次,挖矿需要访问整个区块链,这迫使矿工存储整个区块链并至少能够验证每笔交易。 这样就消除了对中心化矿池的需求;虽然矿池仍然可以起到平衡奖励分配随机性的合法作用,但没有中心化控制的点对点矿池同样也可以很好地发挥此功能。该模型未经测试,在将合约执行作为挖矿算法使用时,在避免某些巧妙优化的过程中可能会遇到困难。 然而,这种算法有一个值得注意的特点,任何人都可以通过将专用于抑制某些 ASIC 的大量合约引入区块链中,在“井里下毒”。 由于存在经济激励,ASIC 制造商会使用这种方法互相攻击。 因此,我们正在开发的解决方案最终是一种适应性人为经济解决方案,而不是纯粹的技术解决方案。可扩展性可扩展性问题是以太坊常被关注的一个方面。 像比特币一样,以太坊也有缺陷,即网络中的每个节点都需要处理每笔交易。 使用比特币,当前区块链的大小约为 15 GB,每小时增长约 1 MB。 如果比特币网络像 Visa 一样每秒处理 2000 笔交易,它将每三秒增长 1 MB(每小时 1 GB,每年 8 TB)。 以太坊可能也会经历相似甚至更糟的增长模式,因为以太坊区块链之上还有很多应用,不像比特币区块链上只有货币,但以太坊完整节点只需存储状态而不是完整的区块链历史,这一事实让情况得到了改善。大区块链的问题是中心化风险。 如果区块链大小增加到 100 TB,可能的情况是只有极少数大型企业能运行完整节点,而所有普通用户将使用轻 SPV 节点。 在这种情况下,可能会出现这样的担忧:完整节点合伙欺诈牟利(例如更改区块奖励,给他们自己比特币等)。 轻节点无法立即检测到这一点。 当然,可能至少存在一个诚实的完整节点,几个小时之后有关诈骗的信息会通过 Reddit 这样的渠道泄露,但这时已为时过晚:将由普通用户相互组织协作将指定区块列入黑名单,这种大规模的、很可能不切实际的协作在规模上无异于发动一次成功的 51% 攻击。 就比特币而言,目前这是一个问题,但 Peter Todd 建议(opens in a new tab)对区块链进行修改,以缓解这一问题。在短期内,以太坊将使用两种其他策略来应对这个问题。 首先,因为基于区块链的挖矿算法,至少每个矿工都会被强制成为一个完整节点,为完整节点的数量创建了一个下限。 其次,更重要的是,处理完每笔交易后,我们会把一个中间状态树根收录到区块链中。 即使区块验证是中心化的,只要存在一个诚实的验证节点,就可以通过验证协议规避中心化问题。 如果矿工发布了无效区块,该区块必定是格式错误,或者是状态 S[n] 不正确。 由于已知 S[0] 是正确的,因此必然存在第一个不正确的状态 S[i],但状态 S[i-1] 是正确的。 验证节点将提供索引 i 以及“无效证明”,该证明包括处理 APPLY(S[i-1],TX[i]) -> S[i] 所需的帕特里夏树节点的子集。 节点将能够使用这些节点来运行该部分计算,并查看生成的 S[i] 与提供的 S[i] 是否不匹配。另一种更复杂的攻击涉及恶意矿工发布不完整的区块,因此甚至不存在完整信息,致使无法确定区块是否有效。 解决方案是质询-应答协议:验证节点对目标交易索引发起“质疑”,接受到质疑信息的轻节点会对相应的区块取消信任,直到另外的节点(无论是矿工还是另一个验证者)提供一个帕特里夏树节点子集作为有效性证明。结论以太坊协议最初被设想为加密货币的升级版本,通过高度通用的编程语言提供高级功能,如区块链托管、提款限制、金融合约、博彩市场等。 以太坊协议不会直接“支持”任何应用,但图灵完备编程语言的存在意味着,理论上可以为任何交易类型或应用创建任意合约。 然而,关于以太坊更有趣的方面是,以太坊协议远远超出了货币的范畴。 围绕去中心化文件存储、去中心化计算和去中心化预测市场的协议以及许多其他这类概念,有可能大大提高计算行业的效率,并首次通过添加经济层来大力促进其他点对点协议的发展。 最后,还有大量与金钱完全无关的应用程序。以太坊协议实现的任意状态转换函数的概念提供了一个具有独特潜力的平台;而不是一种专门针对数据存储、赌博或金融领域内一系列特定应用的封闭式单用途协议,以太坊在设计上是开放式的,我们相信在今后几年中它非常适合作为大量金融和非金融协议的基础层。注释与延伸阅读注释有经验的读者可能会注意到,事实上比特币地址是椭圆曲线公钥的哈希,而非公钥本身。 然而事实上从密码学术语角度把公钥哈希称为公钥完全合理。 这是因为比特币密码学可以视为一种定制的数字签名算法。在数字签名算法中,公钥由 ECC(椭圆曲线加密算法)公钥的哈希组成,签名由连接了 ECC 签名的 ECC 公钥组成。而验证算法涉及用 ECC 公钥哈希(作为公钥提供)来检查签名中的 ECC 公钥,然后用 ECC 公钥来验证 ECC 签名。技术上来说,前 11 个区块的中位数。在内部,2 和 "CHARLIE" 都是数字 [fn3](注释编号),后者采用大端序基数 256 表示。 数字可以至少为 0,最大为 2256-1。延伸阅读内在价值(opens in a new tab)智能资产(opens in a new tab)智能合约(opens in a new tab)B-money(opens in a new tab)可重复使用的工作量证明(opens in a new tab)利用所有者权限确保财产权(opens in a new tab)比特币白皮书(opens in a new tab)域名币(opens in a new tab)佐科三角(opens in a new tab)彩色币白皮书(opens in a new tab)万事达币白皮书(opens in a new tab)去中心化自治公司,比特币杂志(opens in a new tab)简化支付确认(opens in a new tab)默克尔树(opens in a new tab)帕特里夏树(opens in a new tab)GHOST 协议(opens in a new tab)StorJ 和自治代理,Jeff Garzik(opens in a new tab)Mike Hearn 在图灵节上谈论智能资产(opens in a new tab)以太坊递归长度前缀编码 (RLP)(opens in a new tab)以太坊默克尔帕特里夏树(opens in a new tab)Peter Todd 论默克尔求和树(opens in a new tab)有关本白皮书的历史,请参阅此维基文章(opens in a new tab)。和众多社区驱动的开源软件项目一样,以太坊自启动以来一直不断发展。 若想了解以太坊的最新进展以及如何更改以太坊协议,我们推荐您阅读本指南。本文对你有帮助吗?是否在本页面下一代智能合约和去中心化应用平台比特币及现有概念简介历史比特币是一个状态转换系统挖矿默克尔树其它的区块链应用脚本以太坊以太坊帐户消息和交易消息以太坊状态转换函数代码执行区块链和挖矿应用代币系统金融衍生品和价值稳定的货币身份和信誉系统去中心化文件存储去中心化自治组织更多应用杂项和关注改进版 GHOST 协议的实现费用计算和图灵完备货币和发行长期供应增长率(百分比)挖矿中心化可扩展性结论注释与延伸阅读注释延伸阅读网站最后更新: 2024年2月16日(opens in a new tab)(opens in a new tab)(opens in a new tab)使用以太坊查找钱包获取以太币Dapps - 去中心化应用二层网络运行节点稳定币质押ETH学习学习中心什么是以太坊?什么是以太币 (ETH)?以太坊钱包Gas fees以太坊安全和预防欺诈措施什么是 Web3?智能合约以太坊能源消耗以太坊路线图以太坊改进提案 (Eip)以太坊的历史以太坊白皮书以太坊词汇表以太坊治理区块链桥零知识证明测试中心开发者开始体验相关文档教程通过编码来学习设置本地环境生态系统社区中心以太坊基金会以太坊基金会的博客(opens in a new tab)生态系统支持方案(opens in a new tab)以太坊漏洞悬赏计划生态系统资助计划以太坊品牌资产Devcon(opens in a new tab)企业级应用主网以太坊私密以太坊企业级应用关于ethereum.org关于我们工作机会参与贡献语言支持隐私政策使用条款缓存政策联系我们(opens in a new t

一文读懂以太坊 —— ETH 2.0发展与投研报告 - 知乎

一文读懂以太坊 —— ETH 2.0发展与投研报告 - 知乎首发于加密湾投研日志切换模式写文章登录/注册一文读懂以太坊 —— ETH 2.0发展与投研报告加密湾本文时间:2021 年 7 月 30 日加密湾团队原创出品,禁止转载。前言在加密货币的世界里,无论是投资机构、区块链应用开发者、矿机商,还是个人投资者、硬件供应商、游戏行业从业者等等,提起以太坊,大家或多或少都会有一些了解。这一方面取决于以太坊代币 ETH 本身的造富效应。从 2014 年首次发行以来,截至今天,ETH 的价格从 0.308 美元每枚涨到现在的 2300 美元每枚,投资回报率已经超过 7400 倍,非常夸张。另一方面,以太坊作为应用最广泛的去中心应用编程平台,引来无数开发者在其之上开发应用。这些应用不仅产生了巨大的商业价值,伴随 DEFI 生态、NFT 生态、DAO 生态蓬勃发展,也给 ETH 带来了更多使用者。随着“伦敦升级计划”临近,ETH 再次聚集所有人的关注目光。以太坊 2.0 到底是什么?包含哪些升级?目前进展如何?以太坊 2.0 到来,会对现有以太坊生态的去中心化应用产生哪些影响?ETH 是否值得持续投资?看完这篇文章,相信你会有自己的判断。(图:ETH 历史价格走势)以太坊起源在讲以太坊 2.0 之前,我们先简短回顾以太坊的发展历史。以太坊白皮书首次由俄罗斯程序员 Vitalik Buterin 于 2013 年发表,并于 2015 年正式启动主网。Vitalik Buterin 就是后来名震币圈的 V 神,4 岁学习编程,12 岁用 C++ 写游戏,17 岁接触比特币并创建了世界上最早的比特币信息平台,年仅 19 岁的他就发布了以太坊白皮书。关于 V 神的传奇故事,我们以后再讲。以太坊发布的初衷,是为了解决比特币拓展性不足的问题。我们都知道,比特币的发布打开了区块链行业发展的大门。随着行业的发展,更多高级复杂的去中心场景需求被提出,比特币单一去中心代币的功能属性已不能满足人们多样化的需求,开发者急需要拓展比特币以满足更多应用场景。但比特币作为最早的区块链应用,其代码与协议实现的功能非常有限。比特币为了自身程序的安全,使用的脚本语言与传输字节长度限制,让开发者难以在其之上继续做拓展应用开发工作。为了解决这个问题,以太坊不仅构建了新的协议框架,还在框架内支持数种图灵完备的高级编程语言,通过建立虚拟机(EVM)的方式来运行智能合约。对比比特币的脚本语言,图灵完备的高级编程语言显然功能强大的多,以太坊允许任何人在上边编写智能合约和去中心化应用程序,根据自己的需求定制程序功能。如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。以太坊的出现,迅速吸引了大量开发者进入以太坊的世界编写出各类去中心应用,极大丰富了人们对去中心应用场景的需求。至此,大家对去中心应用的拓展需求,得到了相对完美的解决方案。(图:以太坊应用开发模型示意)以太坊与 ETH我们之前讲过,现有市场的加密货币,只是在区块链技术应用在某一场景下的单一代币。以太坊也不例外,它的完整项目名称是“下一代智能合约与去中心化应用平台”,Ether(以太币)是其原生加密货币,简称 ETH。(注:以太坊英文原版白皮书链接已放置文章结尾,有条件尽量去阅读原文)ETH 与 BTC 一样,也是去中心的加密货币。ETH 除了可以用来与各种类型数字资产之间进行有效交换,还提供支付交易费用的机制,即我们现在做链上操作时所支付的 GAS 费用。GAS 费用机制的出现,即保护了以太坊网络上创建的应用不会被恶意程序随意滥用,又因为 GAS 收入归矿工所有,让更多的用户参与到以太坊网络的记账当中成为矿工,进一步维护了以太坊网络安全与生态发展。与 BTC 不同的是,ETH 并没有采用 SHA256 挖矿算法,避免了整个挖矿生态出现由 ASIC(专用集成电路)矿机主导以至于大部分算力被中心化机构控制所带来的系统性风险。以太坊最初采用的是 PoW(Proof of Work)的工作量证明机制,人们需要通过工作量证明以获取手续费回报。我们经常听说矿工使用显卡挖矿,他们做的就是 POW 工作量证明。显卡越多,算力越大,那么工作量就越大,收入也就越高。当前,整个以太坊网络的总算力大约为 870.26 TH/s,用我们熟悉的消费级显卡来对比,英伟达 RTX 3080 的显卡算力大约为 92-93 MH/s,以太坊网络相当于 936 万张 3080 显卡算力的总和。以太坊白皮书内非常明确提到之后会将 PoW 工作证明的账本机制升级为 POS (Proof of Stake)权益证明的账本机制,这点我们后文再讲。ETH 经济模型与 BTC 总量 2100 万枚不同,ETH 的总量并没有做上限,而是在首次预售的 ETH 数量基础上每年增发,增发数量为 0.26x(x 为发售总量)。但我们也不用担心 ETH 会无限通胀下去,长期来看,每年增发币的数量与每年因死亡或者粗心原因遗失币的数量大致相同,ETH 的“货币供应增长率”是趋近于零的。(图:ETH 长期供应增长率)ETH 分配模型包含早期购买者,早期贡献值,长期捐赠与矿工收益,具体分配比例如下表。(图:ETH 分配机制)2014 年 7 月 24 日,首次 ETH 正式对外发售。ETH 最初定价为 1 枚 BTC 兑换 2000 枚 ETH,按当时 BTC 的价格计算,ETH 预售价格为 0.308 美元每枚。首次预售一共募资了 31,000 枚 BTC,售出了 60,102,216 枚 ETH,以当时的汇率,约合 1840 万美元。所以现在,每年将有 60,102,216 * 0.26 = 15,626,576 个 ETH 被矿工挖出,转成 PoS 后,每年产出的 ETH 将减少。目前,市场上流通的 ETH 总量约为 116,898,848 枚,总市值约为 2759 亿美元。以太坊发展历程以太坊项目开发被分为四个阶段,分别命名为:边境(Frontier)、家园(Homestead)、都会(Metropolis)、宁静(Serenity)。直到目前,以太坊项目仍处于开发阶段,其中前三个阶段已完成,目前正在进行第四阶段的开发工作。1. 边境阶段(2015年,已完成):以太坊主网启动的第一个版本被后来被称为“边境”,上线后不久进行了第一次分叉,调整未来挖矿的难度。此版本处于实验阶段,技术并未成熟,最初只能让少部分开发者参与挖矿,智能合约也仅面向开发者开发应用使用,并没有用户参与,以太坊网络处于萌芽期。边境阶段 ETH 价格:1.24 美元。2. 家园阶段(2016年,已完成):以太坊主网于 2016 年 3 月进行了第二次分叉,发布了第一个稳定版本,称作“家园”。此版本是第一个成熟的正式版本,采用 100% PoW 证明,引入难度炸彈,随着区块链数量的增加,挖矿难度呈指数增长,网络的性能大幅提升,以太坊项目也进入到快速成长期。在”家园“版本里,还发生了著名的”The DAO 攻击事件“,以太坊被社区投票硬分叉为以太坊(ETH)与以太经典(ETC)两条链,V 神站在了 ETH 这边。家园阶段 ETH 价格:12.50 美元。3. 都会阶段(2017~2019年,已完成):都会的开发又分为三个阶段,升级分成了三次分叉,分别是 2017 年 10 月的“拜占庭”、2019 年 2 月底的“君士坦丁堡“、以及 2019 年 12 月的“伊斯坦布尔”。这些升级主要改善智能合约的编写、提高安全性、加入难度炸弹以及一些核心架构的修改,以协助未来从工作量证明转至权益证明。在都会阶段,以太坊网络正式显现出其威力,正式进入成熟期。智能合约让不同链上的加密货币可以互相交易,ERC-20 也在 2017 代币发行的标准,成千上万个项目在以太坊网络进行募资,被称作“首次代币发行(Initial Coin Offering, ICO)”,相信很多币圈的老人都是被当时 ICO 造富效应带进来的。到 2019 年,随着DeFi 生态的崛起,金融产品正式成为以太链上最大的产业。都会阶段 ETH 价格:151.06 美元。4. 宁静阶段(2020-2023年,正在进行):与都会分三阶段开发相同,宁静阶段目前预计分成三次分叉:柏林(已完成)、伦敦(即将到来)、以及未命名的第三次分叉。“宁静”阶段又称为“以太坊 2.0”,是项目的最终阶段,以太坊将从工作量证明方式正式转向权益证明,并开发第二层扩容方案,提高整个网络的运行效率。宁静阶段可以说是以太坊网络的集大成之作,如果说前个三阶段只是让以太坊的愿景展现的实验平台,宁静阶段之后的以太坊,将正式成为完全体,不仅有完备的生态应用,超级快的处理速度,众多网络协同发展,而且 PoS 机制会非常节约能源,真正代表了区块链技术走向成熟的标志。宁静阶段 ETH 价格:2021 年 4 月 15 日完成的柏林阶段,当天价格为 2454 美元。(图:即将到来的『伦敦』协议升级)以太坊生态以太坊在发布白皮书时就已经定义出网络未来可能会出现的应用场景,如:代币系统、金融衍生品和稳定价值货币、身份和声誉系统、去中心化文件存储、去中心化自治组织、储蓄钱包、农作物保险、去中心化的数据馈送、智能多重签名托管、云计算、点对点赌博、预测市场、链上去中心化市场等,后续也是一直沿着这条路径调整优化逐步发展。以太坊的生态发展,从属性划可分为两大类:一是以太坊网络生态应用建设,二是以太坊网络扩容建设。两者相互融合,互相成就,应用需要更健壮强大的网络作为承载,网络需要功能完善的应用场景服务用户。先说应用生态,以太坊的生态我们又可以分为以下几大类:1. 去中心化自制组织(DAO)生态什么是去中心化自制组织?还是以我们熟悉的比特币举例:比特币目前市值七千多亿美金,在全球资产市值类排名第九,但比特币并不是某一公司发布的产品,也没有特定公司组织招聘人员进行维护。比特币现有的一切,都源于比特币持有者、比特币矿工自发形成的分布式组织,他们通过投票方式规划比特币发展路线,自发参与维护比特币程序与网络 ———— 这仅仅因为只要拥有比特币,所有人都是比特币网络建设中的受益者,一切维护都源于自身的利益关系。比特币的发明与成功运行,突破了由荷兰人创建、至今流行 400 多年的公司商业架构,开创出一种全新的、无组织架构的、全球分布式的商业模式,这就是 DAO。再说回以太坊,以太坊的 DAO 可以由智能合约编写,用户自定义应用场景。简单说就是我们规定出程序执行条件与执行范围,真实世界里只要触发设定好的条件,程序就会自动执行运行,且所有过程都会在以太坊的网络上进行去中心化公开验证,不需要经过人工或者任何第三方组织机构确认。以太坊 DAO 生态演化出许多商业场景,有慈善机构使用 DAO 建立公开透明的捐款与使用机制,有风投机构使用 DAO 建立公平分配的风险基金。以太坊生态的很多项目都采用 DAO 自治,代表项目有:Uniswap,AAVE,MakerDAO,Compound,Decred,Dash 等。2. 去中心化金融(DEFI)生态DEFI 是英语 Decentralized Finance 的缩写,翻译为去中心化金融。与去中心金融对应的就是中心化金融。在传统商业世界里,我们如果需要借钱、存钱,或者买某一公司股票,或者做企业贷款、融资,只要是进行金融活动,总离不开与银行、证券机构、会计事务所这些金融机构打交道。而在去中心的世界里,区块链本质就是集合所有人交易记录且公开的大账本,我们可以非常容易的追溯到每一个钱包地址发生过的每一笔交易,查询到任意一个钱包地址的余额信息,从而对钱包地址里的资产做评估。举个例子:全世界个人贷款最贵的国家是印度,印度的年轻人房贷利率目前是 8.8%,最高曾经到过 20%;与此对应,全世界个人存款利率最低的国家是日本,日本政府为了鼓励民众消费,在很长一段时间里银行存款利率是负值,日本人在银行存款不仅没有利息,还要给银行交保管费。理论上,如果日本人将自己的存款借与印度人,双方都能获得利益最大化,但现实生活中这样的场景很难发生。一是每个国家都有外汇管制,日本人的钱并不容易能给到印度人,二是印度人的信用如何日本人也不好评估,大家没有统一标准,万一借出去的钱无法归还,不能没了收益还要蒙受损失。但在去中心的世界里,这样的事情就简单的多。如果印度人的钱包地址里有比特币,我们就可以利用智能合约,印度人将自己的比特币质押进去,根据比特币当时的价格,系统自动给印度人一个授信额度,印度人就可以拿着这个额度去和日本人借款,并规定好还款的周期与利率。如果印度人违约,合约自动将印度人质押进去的比特币扣除,优先保障日本的权利,这样,日本人不用担心安全问题放心享受收益,印度人也有了更多的款项做为流动资金。这个例子就是去中心金融的简单应用,实际上,这就是我们参与 DEFI 挖矿是质押理财的原理 —— 当然真正应用实现算法与场景要复杂的多。DEFI 根据场景不同,又可以分为很多赛道,比如稳定币、预言机、AMM 交易所、衍生品、聚合器等等,我们以后专门开篇来讲。DEFI 代表项目有:Dai,Augur,Chainlink,WBTC,0x,Balance,Liquity 等。3. 非同质化代币(NFT)生态世界名画《蒙娜丽莎》,只有达·芬奇的原版可以展览在法国卢浮宫博物馆,哪怕现代的技术可以无比精细地复刻出来,仿品都不具备原版的收藏价值。这就是 NFT 的应用场景。NFT(英语:Non-Fungible Token)是我们可以用来表示独特物品所有权的代币,它们让我们将艺术品、收藏品甚至房地产等现实事物唯一代币化。虽然文件(作品)本身是可以无限复制,但代表它们的代币在链上可以被追踪,并为买家提供所有权证明。相比现实中实物版权、物权的双重交割相比,NFT 只需要交割描述此物品的唯一代币。NFT 作品往往存储在如 IPFS 这样的分布式存储网络里,随用随取,永不丢失,加之交割简单方便,很快吸引了大量玩家与投资者收藏转卖,NFT 出现也给艺术家提供了全新的收入模式。类似 DEFI 生态,NFT 生态根据应用场景不同也产生了不同赛道,目前比较火热的赛道有 NFT 交易平台,NFT 游戏平台,NFT 艺术品平台, NFT 与 DEFI 结合在一起的金融平台。NFT 代表项目有:CryptoKitties,CryptoPunks,Meebits,Opensea,Rally,Axie Infinity,Enjin Coin,The Sandbox 等。4. 标准代币协议(ERC-20)生态与 NFT 非同质化代币所对应的,就是同质化代币。比如我们使用的人民币就是一种同质化代币,我们可以用人民币进行价值交换,即使序号不同也不影响其价值,如果面额相同,不同的钞票序号对持有者来说没有区别。BTC,ETH 和所有我们熟知的加密货币,都属于同质化代币。同种类的一个比特币和另一个比特币没有任何区别,规格相同,具有统一性。在交易中,只需关注代币交接的数量即可,其价值可能会根据交换的时间间隔而改变,但其本质并没有发生变化。以太坊的 ERC-20 就是定义这种代币的标准协议,任何人都可以使用 ERC-20 协议,通过几行代码,发布自己在以太坊网络上的加密货币。现在,以太坊网络上运行的代币种类有上百万个,上边提到的项目,大多也在以太坊网络中发布了自己的同质化代币。ERC-20 代表项目有:USDT,USDC,WBTC 等。(图:以太坊生态 DEFI 项目一栏表)以太坊网络性能扩容再说网络性能扩容。我们先引入一个概念:区块链的不可能三角,即无论何种方法,我们都无法同时达到可扩展、去中心化、安全,三者只能得其二。这其实很好理解,如果我们要去中心化和安全,就需要更多有节点参与网络进行验证,从而导致验证人增多、网络效率降低,扩展性下降。网络性能建设就是在三者之间找到平衡点。用数据举例,目前比特币可处理转账 7 笔 / 秒,以太坊是 25 笔 / 秒,而 VISA 平均为 4500 笔 / 秒,峰值则达每秒上万笔。这种业务处理能力的差别,我们就可以简单理解为是「吞吐量」的差距。而想要提高吞吐量,则需要扩展区块链的业务处理能力,这就是所谓的扩展性。根据优化方法不同,以太坊网络性能扩容方案可以分为:1. Layer 1 链上扩展,所有交易都保留在以太坊上的扩展解决方案,具有更高的安全性。链上扩展的本质还是改进以太坊主链本身,使整个系统拥有更高的拓展性与运行效率。一般的方法有两种,要么改变共识协议,比如 ETH 将从 PoW 转变为 PoS;要么使用分片技术,优化方法使网络具有更高效率。2. Layer 2 链下扩展,在以太坊协议之上分层单独做各场景解决方案,具有更好的扩展性。链下扩展可以理解为把计算、交易等业务处理场景拿到以太坊主链之外计算,最后将计算好的结果传回主链,主链只反映最终的结果而不用管过程,这样,无论多么复杂的应用都不会对主链产生影响。常用的方法有:卷叠(Rollups)、状态通道(State channels)、侧链(Sidechains)、等离子体(Plasma)、混合方案(Hybrid solutions)等。我们并不需要明白具体技术实现,只需知道:相比 Layer 1 方案,Layer 2 方案网络不会干扰底层区块链协议,可以替 Layer 1 承担大部分计算工作,从而降低主网络的负担提高网络业务处理效率,是目前公认比较好的扩容方案。Layer 2 代表项目有:Polygon,Loopring,OMG Network,Plasma Finance,Synthetix,ZKSwap,dYdX,Skale 等。(图:以太坊网络 Layer 生态一栏)以太坊 2.0终于讲到以太坊 2.0,回到今天的主题。通过回顾以太坊的发展历史,我们现在已经十分明确:以太坊 2.0 并不是新项目,它只是以太坊开发进程的最后一个阶段,它将由整个以太坊生态多个团队协同完成,目标是使以太坊更具可扩展性、更安全和更可持续,最终成为主流并为全人类服务。以太坊社区将现有的以太坊主网称为 ETH1,升级后的以太坊主网成为 ETH2。ETH2 建设目标有:1. 更具可扩展性。每秒支持 1000 次交易,以使应用程序使用起来更快、更便宜。2. 更安全。以太坊变得更加安全,以抵御所有形式的攻击。3. 更可持续。提高网络性能的同时减少对能源的消耗,更好地保护环境。最重要的变化,ETH2 将从 ETH1 使用的 PoW(Proof of Work)工作量证明机制升级为 POS (Proof of Stake)权益证明机制。不再以算力做为验证方式,而是通过质押加密货币的数量做为验证手段。矿工不需要显卡也能挖矿,既节省了时间成本与电力成本,又提高了 ETH 的利用率,非常类似钱存在银行获得利息。ETH2 主要使用的技术是分片分层技术实现整个网络扩容,与 Layer2 方案类似,ETH2 将是 Layer1 与 Layer2 方案的大融合。ETH2 升级将分为三个阶段进行:1. 阶段0(2020年12月,正在进行):信标链的创建与合并。信标链是 ETH2 的主链,如同人类的大脑,是 ETH2 得以运行的基础。信标链将负责协同管理 ETH2 所有的分片链与所有验证者,并运行 POS 机制。信标链与 ETH1 并不是同一条链,它比 ETH1 更强大,ETH1 最终也会合并在信标链里,成为信标链的一个分片,合并后的以太坊网络同时支持 PoW 与 PoS 机制。目前,信标链已于 2020 年 12 月启动,我们可以在以太坊官网上质押 ETH 来获得 PoS收益。另外,信标链与 ETH1 合并时间,预计会在 2021 年末至 2022 年初进行。(图:ETH2 网络目前质押数量与收益率)2. 阶段1(预计2022年,未开始):分片链的创建与应用。当信标链与 ETH1 合并完成后,就进入分片链的开发阶段。分片链可以理解为将 ETH2 主链的整块数据按一定规则拆分存放,单独建立新链处理,用来分担主链上的数据压力,目前规划是建立 64 条分片链。举个例子,从北京到上海,原来的交通工具只有一条公路,所有的车辆都需要在上边运行,就会非常拥挤;现在通过分片技术,多出来高铁、飞机等交通方式,分流的车辆同时到达速度更快,这就是分片链起到的作用。(图:分片链与主链交互示意图)3. 阶段2(预计2023年,未开始):整个网络功能的融合。到了此阶段,整个系统的功能全面开始融合,分片链的功能会更加强大,新的处理机制开始支持账户、智能合约、开发工具的创建,新的生态应用等。此阶段是以太坊网络的最终形态,网络性能得到全面提升,生态应用全面爆发。但要服务全人类,ETH2 每秒 1000 次的交易效率显然还是远远不够,以太坊也会为它的目标持续优化下去。ETH2 对大家会有什么影响?1. 对于以太坊生态开发者。ETH2 在部署应用的时候,是需要选择应用在哪条分片网络进行部署,造成这种差异的原因是跨分片通信不同步,这就意味着开发者需要根据自己发展计划做不同的组合。2. 对与 ETH 持币者。ETH2 与 ETH1 数据完全同步,代币也不会有任何变化,你可以继续使用现在的钱包地址继续持有 ETH。3. 对于矿工。虽然 PoW 与 PoS 还会并行一段时间,可以预计的 PoW 矿机的产出会越来越少,应该开始减少 PoW 矿机的投资,开始转向 PoS 机制。4. 对于用户。ETH2 速度更快,交易手续费更低,网络体验会非常好,唯一值得注意的是,由于 Dapp 部署在不同的分片网络上,可能需要手动选择应用的网络选项。ETH 是否值得投资?这个应该是我们最关心的话题,做为本文的结尾。ETH 是除了 BTC 以外市场的风向标,明确了解 ETH2 非常有助于我们理解其他区块链项目,理解二级市场。简单总结几个点吧:1. 通过以太坊的项目分析,我们可以清晰地看到:在比特币之后,以太坊项目的发展史就是目前区块链应用生态的发展史。无论 DEFI 生态,NFT 生态,DAO 生态还是代币、合约、协议生态,其实在以太坊发布白皮书时已有预见,后来出现的项目,都是围绕计划做验证。2. 以太坊的联合创始人里,只有 V 神还在为以太坊事业做贡献,但这并不影响以以太坊繁荣发展。初始团队只是创建了它,后续的发展是社区、开发者、矿工与用户共同建立的结果,以太坊已经不是某几个人的思维,它是所有生态参与者共同的结晶,它属于全人类。3. 在过去的几年里,以太坊一直沿着既定的开发轨迹发展,从未停止。虽然中途出现过几百次“死亡”危机,它还是顽强的发展下来,拥有了繁荣生态,成为公链之王。ETH2 还要两三年时间才能落地,中间也充满变数,比如其他的公链抢占先机,但我们可以相信,以太坊现有的开发构架,一定会让 ETH2 顺利落地,变得更加强壮。4. 区块链技术是革命,不要再抱有任何 BTC 会死亡,区块链行业会消失这样的伪命题。BTC、ETH 让我们看到了突破原有公司组织架构,一种全新无组织架构的商业模式存在,显然,这种商业模式非常符合这个时代的发展需求。即使创始团队在不在,即使发展过程会走偏方向,只要方向对人类有益,总会被修正到正确的道路上来。5. 我们对 ETH 态度非常明确,值得投资并坚定持有。ETH2 的上线,短期看 PoW 奖励与 PoS 奖励并行,可能会让 ETH 总通胀率短期内飙升,长期看 ETH 通胀率始终保持平衡。以太坊网络承载的生态与 ETH 自身的应用场景,我们目前看不到有其他公链代替以太坊公链的可能性,ETH2 的上线,甚至会对其他公链造成“虹吸效应”,万链归一。全文完。参考资料:1. 以太坊白皮书英文版:Ethereum Whitepaper | ethereum.org2. 以太坊白皮书中文版:[中文] 以太坊白皮书 · ethereum/wiki Wiki3. 以太坊基金会公告:https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/4. 以太坊发展历史:History and Forks of Ethereum | ethereum.org5. 以太坊周报:Week in Ethereum News6. Ethereum Wiki:https://en.wikipedia.org/wiki/Ethereum7. The DAO 攻击事件:白话区块链:以太坊分叉的缘由:著名的The DAO事件8. 以太坊浏览器:https://etherscan.io/9. 全球资产排名:Infinite Market Cap10. 去中心化金融:Decentralized finance (DeFi) | ethereum.org11. 去中心化资质组织:Decentralized autonomous organisations (DAOs) | ethereum.org12. 非同质化代币:Non-fungible tokens (NFT) | ethereum.org13. ETH2信标链浏览器:Mainnet | Beacon Chain Explorer (Phase 0) for Ethereum 2.014. ETH2质押回报率计算器:Staking Calculator | Beacon Chain (Phase 0) Ethereum 2.0 Explorer15. ETH2基金会博客:https://blog.ethereum.org/category/research-and-development/————————————————加密湾频道:分享区块链知识干货,让每个人都能成长为区块链领域独立投资者。更多关于加密货币投资知识,欢迎持续关注我的知乎频道。编辑于 2021-08-03 16:17数字货币币圈​赞同 60​​9 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录加密湾投研日志有深度、超干货的加密货币专栏!欢迎订阅。日记 事记诚实面对自己

以太坊中文 · Ethereum Community Network

文 · Ethereum Community Network新闻资讯零时学院开发者门户生态漫游ΞSearch by 扩容方案对话张烨@Scroll、Leo Fan@Cysic | 证明者网络和 zk 硬件加速扩容方案对话 AltLayer、Scroll、Starknet 团队 | 共享排序器和 L2 共识扩容方案对话 Arbitrum 研究员 Patrick McCorry | 如何去中心化 Rollup?最新对话 EthStorage 创始人 Qi Zhou | 数据可用性和去中心化存储去中心化 Rollup 访谈系列最后一期,讨论了如何利用 DA 重用以太坊主网的安全属性,以及各种 l2 存储的方案比对。EECN       2023-07-02E群誌 更多 共识层PoS 系列 #2——Epoch、Slot 与信标区块本文将介绍 PoS 机制下的时间表、验证者委员会的分配过程以及信标区块的组成。Patrick McCorry2023/03/30质押提款来了 | 主网 Shapella 升级公告提款来了!Shapella 以太坊主网升级将在北京时间 2023 年 4 月 13 日早上 6 点多进行。Protocol Support Team2023/03/29PoS 系列 #1-模块化设计和两个区块链本系列文章从工作原理、意义以及功能性的角度来介绍 PoS 机制。Patrick McCorry2023/03/21扩容方案对话 EthStorage 创始人 Qi Zhou | 数据可用性和去中心化存储去中心化 Rollup 访谈系列最后一期,讨论了如何利用 DA 重用以太坊主网的安全属性,以及各种 l2 存储的方案比对。ECN2023/07/02对话张烨@Scroll、Leo Fan@Cysic | 证明者网络和 zk 硬件加速去中心化 Rollup 访谈系列第三期,讨论了 ZK 电路、不同的硬件方案以及证明者网络与硬件加速市场的未来。ECN2023/06/18对话 AltLayer、Scroll、Starknet 团队 | 共享排序器和 L2 共识去中心化 Rollup 访谈系列第二期,讨论了去中心化排序器的含义、重要性以及影响。ECN2023/06/12技术zkDay @Denver | 探讨 ZK 应用、硬件加速以及 zkEVM本文整理了 zkDay Denver 中围绕 zk 技术的圆桌讨论,摘选了一些精彩发言。ECN2023/03/10从合约部署的角度区分不同的 zkEVM本文通过解释在 EVM 以及不同类型的 zkEVM 中如何部署合约以区别不同兼容程度的 zkEVM。pseudotheos2023/02/15如何在证明中使用 KZG 承诺本文介绍了如何在 zk 证明中有效地使用 KZG 承诺,提高证明验证的效率。Dankrad Feist2023/02/10Staking上海升级与 Staking 播客系列 ep.3 Lido 将如何渐进地去中心化头部流动性质押协议 Lido 将如何渐进地进行去中心化?上海升级给 Staking 行业带来哪些机遇?ECN2023/04/24上海升级与 Staking 播客系列 ep.2 Rocket Pool 对去中心化流动性质押的开拓与探索4.18 去中心化流动性质押协议 Rocket Pool 顺利进行了 Atlas 升级,上海升级后 Rocket Pool 将为 Staking 带来哪些创新和机遇呢?来听听 Rocket Pool 的总经理 Darren 对 Staking 行业的洞见。ECN2023/04/19上海升级与 Staking 播客系列 ep.1 StakeWise 将如何推动流动性质押民主化上海升级前,跟流动性质押协议 StakeWise 的联合创始人 Kirill 聊聊上海升级以及即将上线的 StakeWise V3 为 Staking 带来的创新。ECN2023/04/14DeFi针对衍生品资产的价格预言机本文分析了衍生品资产 “跨链资产“ 和 ”流动性质押资产“ 普遍使用的价格预言机方法固有的漏洞,提出了我们应该避免这种常见做法的思考Jonathan Erlich2022/11/28算法稳定币失败案例分析文章科普了加密货币稳定币的类型,并进一步分析探讨稳定币尤其算法稳定币的风险所在。Cory Klippsten2022/06/17DeFi 的治理问题DeFi 治理中有哪些难题?可以有什么解决方案?Zaheer Ebtikar2021/08/13执行层以太坊核心开发者会议更新015 ⛓下一次以太坊网络升级 Dencun 升级目前敲定纳入四个 EIP,4844 为此次升级的主要功能。Tim Beiko2023/05/05#157 以太坊执行层核心开发者会议 (ACDE) 笔记第 157 次 ACDE 敲定了主网上海升级时间为 4.12,对坎昆升级的候选 EIP 进行了初步讨论。第 104 次的 ACDC 对 Capella 升级后的两个升级内容进行了讨论,其中包括 The Verge。Tim Beiko2023/03/17#156 以太坊执行层核心开发者会议 (ACDE) 笔记Goerli 测试网将于 3.14 进行 Shapella 升级,如顺利,主网将于 4 周后进行上海升级Tim Beiko2023/03/07生态盘点:以太坊上的社交 ZK 项目本文分类汇总了以太坊上使用 zk 技术的社交项目,分别是:身份、治理和消息领域。

shrey jain2023/01/12Ep.5 FTX 爆雷事件引发了对于资产安全的思考 | 區塊勢创办人许明恩 & imToken Labs 研究员嘉辉本期播客梳理了FTX 崩塌事件的来龙去脉、讨论了未来该如何避免同类事件的发生、可偿付证明的意义以及关于资产托管的更多折衷方案。ECN2023/01/06以太坊核心开发者会议更新014 ⛓有望在 2023 年上线的上海升级具体纳入了哪些 EIP?提款的具体机制是怎么样的?在2023年重启 ACD 前,让我们回顾一下 2022 年年末都做了哪些重要决定。Tim Beiko2023/01/03   思辨一词定义以太坊目标:hyperregenization如果用一个词定义比特币的目标是超比特币化,那么以太坊的目标就是超再生化(hyperregeration)。本文作者认为可以从当前以太坊的政治光谱中提取出“超再生化”作为其最终政治图景,并从再生经济学、再生公民资格以及再生去中心化三个维度对其具体内涵进行阐释。   通告EthGifts.com 上线啦!欢迎领取 The Merge 观看派对留言板 NFT!EthGifts.com 上线啦!EthGifts 是 ECN 在举办社区活动或组织社区协作时发放的 Web3 数字凭证,EthGifts.com 是上述数字凭证进行认证、申领和铸造的平台。活动与 Lido、Rocket Pool 和 StakeWise 聊聊上海升级与 Lido、Rocket Pool 和 StakeWise 聊聊上海升级最新对话 EthStorage 创始人 Qi Zhou | 数据可用性和去中心化存储去中心化 Rollup 访谈系列最后一期,讨论了如何利用 DA 重用以太坊主网的安全属性,以及各种 l2 存储的方案比对。扩容方案对话张烨@Scroll、Leo Fan@Cysic | 证明者网络和 zk 硬件加速去中心化 Rollup 访谈系列第三期,讨论了 ZK 电路、不同的硬件方案以及证明者网络与硬件加速市场的未来。扩容方案对话 AltLayer、Scroll、Starknet 团队 | 共享排序器和 L2 共识去中心化 Rollup 访谈系列第二期,讨论了去中心化排序器的含义、重要性以及影响。扩容方案对话 Arbitrum 研究员 Patrick McCorry | 如何去中心化 Rollup?去中心化 Rollup 访谈系列第一期,讨论了去中心化 rollup 的含义、安全属性以及治理。共识层PoS 系列 #2——Epoch、Slot 与信标区块本文将介绍 PoS 机制下的时间表、验证者委员会的分配过程以及信标区块的组成。Patrick McCorry2023/03/30扩容方案对话 EthStorage 创始人 Qi Zhou | 数据可用性和去中心化存储去中心化 Rollup 访谈系列最后一期,讨论了如何利用 DA 重用以太坊主网的安全属性,以及各种 l2 存储的方案比对。ECN2023/07/02技术zkDay @Denver | 探讨 ZK 应用、硬件加速以及 zkEVM本文整理了 zkDay Denver 中围绕 zk 技术的圆桌讨论,摘选了一些精彩发言。ECN2023/03/10Staking上海升级与 Staking 播客系列 ep.3 Lido 将如何渐进地去中心化头部流动性质押协议 Lido 将如何渐进地进行去中心化?上海升级给 Staking 行业带来哪些机遇?ECN2023/04/24DeFi针对衍生品资产的价格预言机本文分析了衍生品资产 “跨链资产“ 和 ”流动性质押资产“ 普遍使用的价格预言机方法固有的漏洞,提出了我们应该避免这种常见做法的思考Jonathan Erlich2022/11/28执行层以太坊核心开发者会议更新015 ⛓下一次以太坊网络升级 Dencun 升级目前敲定纳入四个 EIP,4844 为此次升级的主要功能。Tim Beiko2023/05/05生态盘点:以太坊上的社交 ZK 项目本文分类汇总了以太坊上使用 zk 技术的社交项目,分别是:身份、治理和消息领域。

shrey jain2023/01/12思辨一词定义以太坊目标:hyperregenization如果用一个词定义比特币的目标是超比特币化,那么以太坊的目标就是超再生化(hyperregeration)。本文作者认为可以从当前以太坊的政治光谱中提取出“超再生化”作为其最终政治图景,并从再生经济学、再生公民资格以及再生去中心化三个维度对其具体内涵进行阐释。Dr. Paul J. Dylan-Ennis2022/08/12通告EthGifts.com 上线啦!欢迎领取 The Merge 观看派对留言板 NFT!EthGifts.com 上线啦!EthGifts 是 ECN 在举办社区活动或组织社区协作时发放的 Web3 数字凭证,EthGifts.com 是上述数字凭证进行认证、申领和铸造的平台。ECN2022/11/19活动与 Lido、Rocket Pool 和 StakeWise 聊聊上海升级ECN 有幸邀请了 Lido、Rocket Pool 和 StakeWise 的代表做客 ECN Podcast,邀请大家来提问哦!ECN2023/03/27Ethereum Community Network以太坊社区网络 订阅 Ethereum Community Network以太坊社区网络 订阅

什么是以太坊?| AWS 区块链

什么是以太坊?| AWS 区块链

跳至主要内容

单击此处以返回 Amazon Web Services 主页

联系我们

支持 

中文(简体) 

我的账户 

登录

创建 AWS 账户

re:Invent

产品

解决方案

定价

文档

了解

合作伙伴网络

AWS Marketplace

客户支持

活动

探索更多信息

关闭

عربي

Bahasa Indonesia

Deutsch

English

Español

Français

Italiano

Português

Tiếng Việt

Türkçe

Ρусский

ไทย

日本語

한국어

中文 (简体)

中文 (繁體)

关闭

我的配置文件

注销 AWS Builder ID

AWS 管理控制台

账户设置

账单与成本管理

安全证书

AWS Personal Health Dashboard

关闭

支持中心

专家帮助

知识中心

AWS Support 概述

AWS re:Post

单击此处以返回 Amazon Web Services 主页

免费试用

联系我们

re:Invent

产品

解决方案

定价

AWS 简介

入门

文档

培训和认证

开发人员中心

客户成功案例

合作伙伴网络

AWS Marketplace

支持

AWS re:Post

登录控制台

下载移动应用

什么是以太坊?

以太坊是一个去中心化的区块链平台,它建立了一个对等联网,可以安全地执行和验证应用程序代码,称为智能合约。智能合约允许参与者在没有受信任的中央机构的情况下相互进行交易。交易记录不可更改、可验证,并且安全地分布在网络上,为参与者提供对交易数据的完全所有权和可见性。交易由用户创建的以太坊账户发送和接收。发送者必须签署交易并使用以太币(以太坊的原生加密货币),作为在网络上处理交易的费用。

The Merge

2022 年 9 月 15 日 06:42:42 UTC,在区块 15537393,The Merge 完成,将以太坊从工作量证明(PoW)转移到权益证明(PoS)。Amazon Managed Blockchain 的 Ethereum Mainnet 节点在 Ethereum PoS 网络上运行。

The Merge 通过将以太坊主网与信标链权益证明系统合并,将以太坊的共识机制从 PoW 升级为 PoS。此次升级通过降低能耗提高了以太坊的可持续性,也是以太坊基金会持续升级的一部分,旨在提高此处所述的可扩展性、安全性和可持续性。

在以太坊上进行构建的好处

以太坊提供了一个非常灵活的平台,可以在该平台上使用原生 Solidity 脚本语言和以太坊虚拟机构建去中心化应用程序。在以太坊上部署智能合约的去中心化应用程序开发人员受益于丰富的开发人员工具生态系统以及随着协议的成熟而建立的最佳实践。这种成熟度还延伸到了以太坊应用程序普通用户的用户体验质量上,MetaMask、Argent、Rainbow 等钱包提供了简单的接口,通过这些接口可以与以太坊区块链和部署在其中的智能合约进行交互。以太坊庞大的用户群激励开发人员在网络上部署他们的应用程序,这进一步巩固了以太坊作为 DeFi 和 NFT 等去中心化应用程序主要发源地的地位。将来,目前正在开发的向后兼容的以太坊 2.0 协议将提供一个更具扩展性的网络,用于构建需要更高交易吞吐量的去中心化应用程序。

在以太坊上在 Hyperledger Fabric 上构建的比较情况

 

以太坊

Hyperledger Fabric

公有与私有

公有

私有

权限

未经许可

基于许可

治理

分散

联合

共识机制

工作量证明

可插拔 BFT

智能合约语言

Solidity、Vyper

Go、Java、Javascript(Node.js)

私人交易

理想使用场景

令牌化(稳定币、NFT)、DeFi、公共交易结算

B2B 数据交换、交易结算和不可否认性

使用场景

去中心化金融(DeFi)

DeFi 是一个建立在区块链网络之上的金融应用程序网络。DeFi 不同于现有的金融网络,它具备开放、可编程的特点,可在没有中央授权的情况下运营,并且支持开发人员提供新的付款、投资、借贷和交易模式。通过使用智能合约和分布式系统,客户可以轻松构建安全的去中心化金融应用程序。例如,DeFi 公司已经在提供支持点对点借贷、从持有的加密货币中赚取利息、通过去中心化交易所进行交易等功能的产品。一些热门的 DeFi 平台包括 Compound、Aave、UniSwap 和 MakerDAO。

不可替代令牌(NFT)

NFT 是独特且不可分割的数字令牌,可用于证明数字和有形稀有资产的来源。例如,艺术家可以使用 NFT 来令牌化他们的作品,确保他们的作品是独一无二的,并且属于他们。所有权信息在区块链网络上记录和维护。NFT 在游戏行业也越来越受欢迎,因为它们支持游戏平台之间的互操作性。例如,以太坊上的第一个 NFT 项目是 CryptoKitties,它使客户能够收集使用 NFT 支持的数字猫收藏品。Gods Unchained 是一款纸牌游戏,通过 NFT 让玩家拥有游戏内物品的全部所有权。随着越来越多的公司希望将资产令牌化并为用户提供有关其资产的防篡改谱系信息,NFT 变得日益普及。

常见问题

什么是以太坊智能合约?

智能合约是位于区块链特定地址(被称为合约地址)的应用程序代码。应用程序可以调用智能合约函数,更改其状态并启动交易。 智能合约使用诸如 Solidity 和 Vyper 之类的编程语言编写,由以太坊虚拟机编译成字节码并在区块链上执行。

什么是以太坊账户?

以太坊中有两种类型的账户:外资账户(EOA)和合约账户。EOA 由私钥控制,没有关联代码,可以发送交易。合约账户具有关联代码,该代码在收到来自 EOA 的交易时执行。合约账户无法自行发起交易。交易必须始终源自 EOA。

什么是以太坊交易?

以太坊中的交易是从一个以太坊账户发送到另一个以太坊账户的签名数据消息。它包含交易发送者和接收者的信息、包含要传输的以太币数量的选项、智能合约字节码以及发送者愿意支付给网络验证器,以将交易包含在区块链中的交易费用(称为 gas 价格和限额)。

如何为以太坊上的交易付费?

您可以使用以太币支付交易费用。以太币有两个用途。首先,它可以防止不良行为者通过不必要的交易来堵塞网络。其次,它可以激励用户贡献资源并验证交易(挖矿)。以太坊中的每笔交易都构成了网络上发生的一系列操作(即,将以太币从一个账户转移到另一个账户,或者智能合约中复杂的状态更改操作)。每项操作都有成本,以 gas(以太坊中的费用衡量标准)来衡量。Gas 费用以以太币支付,通常以更小的面额(称为 gwei)计量。[1 以太币 = 10 亿 gwei (10^9)]

我在哪里可以买到以太币,我应该把它存储在哪里?

您可以从 Coinbase 或 Kraken 等加密货币交易所用法定货币购买以太币。以太币与您的以太坊账户相关联。要访问您的账户和以太币,您必须拥有账户地址和密码或私钥。

以太坊如何用于应用程序?

当交易触发智能合约时,网络的所有节点都会执行每条指令。为此,以太坊会在区块链上实施一个称为以太坊虚拟机(EVM)的执行环境。网络上的所有节点都将 EVM 作为区块验证协议的一部分运行。在区块验证中,每个节点都会检查它们正在验证的区块中列出的交易,并根据 EVM 中的交易触发运行代码。网络上的所有节点都会进行相同的计算,以保持其账本同步。每笔交易都必须包括 gas 限额和发送者愿意为交易支付的费用。矿工可以选择是否包括交易并收取费用。如果处理交易所需的 gas 总量小于或等于 gas 限额,则交易将被处理。如果消耗的 gas 在交易完成之前达到 gas 限额,则交易不会成功,而且费用仍然会扣除。交易执行中未使用的所有 gas 都会以以太币的形式返还给发送者。这意味着发送 gas 限额高于估计值的交易是安全的。

签署交易意味着什么?

签署交易会使用交易发送者账户的私钥生成交易签名。交易在提交到网络之前需要进行签名。

如何在以太坊上部署智能合约?

交易还可用于将智能合约代码发布到以太坊区块链。您可以使用 eth_getTransactionReceipt 方法来跟踪交易状态,一旦新创建的智能合约地址包含在区块链中,该方法也会返回该地址。无法选择生成的智能合约地址,因为它们是使用哈希函数计算的,不容易预测。

以太坊中的硬分叉是什么?

硬分叉是对底层以太坊协议的更改,即创建新规则来改进不向后兼容的协议。所有以太坊客户端都需要升级;否则,他们将被困在遵守旧规则的不兼容的链上。

如果您有兴趣在以太坊上构建应用程序,请访问我们的文档页面。要与 Amazon Managed Blockchain 团队交流,请访问我们的联系我们页面。

登录控制台

了解有关 AWS 的信息

什么是 AWS?

什么是云计算?

AWS 包容性、多样性和公平性

什么是 DevOps?

什么是容器?

什么是数据湖?

AWS 云安全性

最新资讯

博客

新闻稿

AWS 资源

入门

培训和认证

AWS 解决方案库

架构中心

产品和技术常见问题

分析报告

AWS 合作伙伴

AWS 上的开发人员

开发人员中心

软件开发工具包与工具

运行于 AWS 上的 .NET

运行于 AWS 上的 Python

运行于 AWS 上的 Java

运行于 AWS 上的 PHP

运行于 AWS 上的 JavaScript

帮助

联系我们

获取专家帮助

提交支持工单

AWS re:Post

Knowledge Center

AWS Support 概览

法律人员

亚马逊云科技诚聘英才

创建账户

Amazon 是一个倡导机会均等的雇主:

反对少数族裔、妇女、残疾人士、退伍军人、性别认同和性取向歧视。

语言

عربي

Bahasa Indonesia

Deutsch

English

Español

Français

Italiano

Português

Tiếng Việt

Türkçe

Ρусский

ไทย

日本語

한국어

中文 (简体)

中文 (繁體)

隐私

|

网站条款

|

Cookie 首选项

|

© 2023, Amazon Web Services, Inc. 或其联属公司。保留所有权利。

终止对 Internet Explorer 的支持

知道了

AWS 对 Internet Explorer 的支持将于 07/31/2022 结束。受支持的浏览器包括 Chrome、Firefox、Edge 和 Safari。

了解详情 »

知道了

新手最全攻略:以太坊简易指南 · Ethereum Community Network

攻略:以太坊简易指南 · Ethereum Community Network新闻资讯零时学院开发者门户生态漫游ΞSearch by 新手最全攻略:以太坊简易指南建议收藏!最全的以太坊新手指南:概览以太坊的运作方式、去中心化应用和身份认证。bbrunny.eth       2022-05-31来源 | mirror.xyz/brunny.eth

如果你是加密界的新手,面对众多概念无从入手,那么欢迎你,来对地方了。

我最聪明的一些朋友已经开始花更多时间钻研以太坊。而在此过程中,他们中有些人问过我类似的问题。通常都是关于具体概念的界定(比如,“什么是 gas ?”)或者是广泛的概念性问题(比如,“ Uniswap 如何运作”)。这些疑问促使我写成了这一篇《以太坊简易指南》。

如何使用这篇指南呢?

它被划分为五个主要部分:

“以太坊 101”入门部分,

“以太坊 201”深入探讨更为复杂的概念,

加密语境中关于身份认定部分,

去中心化金融部分,以及最后,

关于以太坊的未来。最后的部分尤其探讨向 PoS (权益证明机制) 的过渡(如果现在这些与你无关,则不要过于忧虑)。

在每一部分,我解释了很多复杂的专业术语,编制了许多实用的图表,以通俗的语言阐释以太坊中最为重要的概念性主题。并且,我还在指南的末尾附上了额外资源,供大家继续深耕。

在了解以太坊时,你可以针对性地运用指南的不同部分进行快速阅读和检查,或将指南作为探索未来的一个灵感点,或作为一个链接分享给最近对加密领域感兴趣的朋友。举例来说,可以按 Ctrl+F 键查找“ Uniswap ”更多地了解去中心化交易所。或者,还可以检索“ wallet ”(钱包)学习更多有关非托管钱包的安全知识。

在 Vitalik Buterin(以太坊联合创始人)的某篇热门博客帖子中,他写道,“有时候,差别极小的过度简化正是我们了解世界所需要的东西。”我希望,通过将这些复杂的话题浓缩为极简的内容,让这则指南可以帮助所有人了解以太坊世界。

1)以太坊101 - 基础篇

在认识以太坊之前,我们需要了解它的基础概念。在这个部分,我将阐释什么是区块链,区块如何添加到链上,以太坊如何像世界计算机一般运作,以及智能合约如何运行。

区块链 - 区块链是指特定网络中一系列独立计算机处理和维护的所有交易的公开记录本。比起用中心化的方式管理这些交易数据库(就如 Amazon 或 Facebook 控制自己数据的方式),区块链上不存在单个数据所有者,使之去中心化。在这个网络中的计算机遵循着特定的规范和机制,以保存所有交易的记录。

这些规范让计算机能够同意网络中发生的所有(交易)行为,或就其达成共识:计算机 A 是否转出资金给计算机 B ,计算机 B 是否发送这些资金给计算机 C,以及什么时候呢?上周发生了什么事呢?六个月前发生了些什么?

网络中的计算机是独立的,因此,计算机 D 和 E(和 F 和 G ......)可能不认识计算机 A、B 或 C。区块链的一系列规则意味着,单个计算机无须独自验证其他计算机提供的数据的准确性,就能对区块链历史上发生的交易达成一致。换句话说,计算机之间不用信任彼此就可以达成共识。在网络中的计算机之间,这种去信任共识机制具有举足轻重的重要性。

区块链数量十分庞大,每一条链遵循着自行设置的规范达成共识。以太坊区块链致力于为给不同领域中酷炫的、新颖的应用提供基础设施服务与设计空间,比如游戏、艺术、金融和社交媒体类的应用。

共识机制 - 当区块链上的所有计算机都同意发生在网络中的事实,这就是“达成共识”。单个计算机之间根据区块链的规则达成共识,并且每一次将新交易打包至链上,所有计算机都需要经历达成共识的全过程。一旦这些计算机达成共识,交易区块则被打包到区块链上,成为网络历史记录中的一部分。大致的意思是,假设计算机对每次新交易添加至链上的行为无异议,那就相当于同意了区块链的整个历史记录,因为他们不得不参与其中的每一环。

共识是一个支撑整个区块链世界的重要概念。如何在不信任网络中任何参与者的情况下,验证上面发生的交易,这是一个非常难以解决的人类问题,而区块链是这一问题的最优解。不同规范(或是“共识机制”)可以促使个人计算机在区块链中达成共识。下面介绍两种主要共识机制:

工作量证明(PoW)- 在工作量证明机制中,计算机之间以竞赛的方式解决复杂的数学问题。网络会给第一台解决问题的计算机提供经济奖励,这激励着计算机背后的人不断更新并运行节点(换言之,确保网络一直处理交易)。

也许你曾听过,这种竞相解决计算密集型数学问题的过程就叫“挖矿”。基本上,经验证为合法的交易,可以安全地添加到区块链上。这也是比特币区块链以及当前以太坊区块链在实施的规则。

工作量证明机制也有它的缺点,主要是1)最终,最强大的(和最昂贵的)计算机能够更快地解决问题,因此,富者衡富;2)在计算机上解决高难度的数学问题需要消耗很多精力,这已经成为整个区块链最为人诟病的一点。

权益证明机制(PoS)- 相对于耗费大量算力来达成共识(如 PoW),权益证明机制则是利用惩罚的风险(和一些经济激励)约束/激励参与者。

在权益证明机制中,参与者筹备资金(技术角度而言,他们“质押”自己的资金),并换取进入随机选拔程序的资格。被随机选中的计算机需要验证下一批即将到来的交易。当随机选中的计算机正确地处理交易(在权益证明机制的限制范围内),可以获得奖励。

如果被网络随机选中的参与者违反了权益证明机制的规定,那么这个参与者质押的资产就会减少(或“被罚没”)。

PoS区块链不会同时请求网络中的所有计算机破解那些数学难题,而是通过随机选取计算机进行交易验证。略过繁重的计算过程可以减轻PoW机制出现的两大主要问题。这也是以太坊在规划2022年部署下一代区块链时,打算启用这套共识机制的部分原因。

节点 - 为了以太坊区块链的运作,网络中的参与者需要运行特定的软件,协助他们与区块链进行交互。我倾向于认为,每个节点作为独立计算机运行着以太坊软件。同样地,节点(网络中的参与者)越多就越去中心化,但有时,维护所有节点有些麻烦,因此,不同的节点针对不同的目的:

全节点 - 全节点用来储存完整的区块链数据,帮助区块进行验证并打包到链上。这类节点还为过去的交易提供有效性证明。

轻节点 - 轻节点的功能在设计上相对少于全节点。比起储存完整的区块链数据,轻节点仅仅储存较少量过去交易的证明。这类节点让更多人参与到网络中,因为它们存储更少的数据,运行起来更加经济。

归档节点 - 归档节点是以太坊世界的程序库/维基百科词典。它们储存全节点所有的数据,甚至更多。分析工具和钱包提供商也许会利用归档节点来拉取很久之前的信息。

客户端 - 这是以太坊的软件,使得计算机(节点)能够同以太坊网络进行交互。单个节点可以选择他们想用的客户端软件,但多用一些不同类型的客户端对于去中心化至关重要,以免其中某个客户端出现 bug 或者问题。现在有执行客户端和共识客户端两种类型,但这不在指南介绍的范围内。

现如今,链上有很多可用的客户端,最近以太坊社区争取让最大的一些节点运行机构多样化其运行节点的客户端。重要的是,任何想要参与运行以太坊网络的用户,都可以创建他们自己的客户端,这意味着用户不必信赖第三方实体为其验证区块链。

状态 - 以太坊区块链的状态指的是在任何特定时间点区块链上的账户余额情况。一旦有新的事物产生(比如处理一个新的交易区块),那么状态则会更新并精确地反映区块链在打包新交易后的状况。

以太坊的状态保存不同账户及其余额的信息。换言之,一旦区块链验证新的交易,状态也会随之更新,利用刚添加的新交易信息反映出新的账户余额。

侧栏 - 如何将区块打包到区块链上?

一个用户可能想用以太坊区块链发送一些资金给另一个用户。一旦发起方用户这边发起了交易,这笔交易就要在接收方用户收到这笔钱之前,被打包至交易链上。

当这样一笔交易打包到以太坊区块链上,各个节点需要在交易打包上链并变成其一部分历史之前,完成整个达成共识的过程。

在下图中,它讨论的是上述的简单交易,就是一个用户发送资金给另一位用户。这笔交易被打包成区块,等待节点一同达成共识后将它添加至链上。

来源: Understanding Ethereum

事实上,区块链只是所有用户对于发生在网络中的历史交易达成共识的方式,而区块链状态是已实时更新过新交易的账户余额

来源: Understanding the Ethereum Yellow Paper

智能合约 - 在一定程度上,智能合约类似于物理世界中使用的传统合约的电子版。在传统合约中(例如雇佣合同或者公寓租赁),两个及以上的合约方建立一套条款,再通过律师和司法系统执行合约中的条款。

而在智能合约中,两个及以上的用户也是创建一套规则,却不是通过司法体系执行合约,而是由程序代码编写成智能合约,发送到区块链(或者部署在区块链上)。智能合约会根据已编好的代码自动运行,而不需要律师执行。

上述的侧栏部分叙述了区块打包上链的过程。智能合约是经由区块内的交易部署到链上的代码。未来的交易可以“调用”或与智能合约交互。举个简单的例子,A 用户希望和 B 用户就比特币在未来两年内的价值打赌。A 用户认为比特币在 2032 年 1 月 1 日时会超过 100,000 美元,而B用户则认为比特币会低于这个价格。那么,两位用户可以建立一个智能合约,在合约里放置彼此的资金,再约定一条简单的规则:如果比特币在 2032 年 1 月 1 日超过了 100,000 美元,智能合约则释放这些资金给 A 用户,反之,智能合约将资金打给 B 用户。这个交易过程十分简单、直接且去信任。

智能合约允许任何人以去信任的方式在世界计算机上部署代码,并且,也使得任何人去信任式地验证代码的内容(只要他们可以读懂代码!)最终,智能合约技术的存在已为一波涌现的去中心化应用浪潮带来巨大的机遇,而没有区块链技术,这些就无法成为现实。

比特币和以太坊最大的区别是,以太坊催生了一波智能合约计算平台的浪潮,这些平台是可以编写智能合约代码并直接部署到链上的区块链。以太坊基金会研究员 Josh Stark写了一部关于智能合约的文章,如果你愿意更加深入了解这个概念,我建议你阅读这篇文章。

以太币(ETH)- 以太币是支持以太坊区块链的原生货币。在工作量证明机制中,(挖矿)奖励通过以太币支付给解决数学难题的计算机。并且,参与者在权益证明机制中质押的资金也是用以太币 (需质押 32 ETH)。

以太币是加密货币的名字,以太坊是网络的名字。

以太坊虚拟机(EVM)- 以太坊虚拟机这个名字是指“虚拟的”计算机,它由所有参与以太坊网络的独立小型计算机组成。这样单个的大型计算机并非实际上处于某个位置的“物理层面上的”计算机,而是尤如一台大型(全球性的)计算机一般工作。

以太坊区块链的状态就活跃在这台计算机上,并且,当下一个区块打包至链上时,它负责执行状态更新的规范。如果以太坊网络中的用户想将智能合约代码纳入自己的交易中,那么这个代码便会在 EVM 上运行。

侧栏 - 以太坊虚拟机如何运作?

尽管对于新手来说,可能没必要了解EVM运行的复杂性,但它是以太坊区块链的重要组成部分,还能帮助读者大致了解去中心化如何规模运作。如下图,尽管图片有些复杂,但画得不错。一起按照步骤来看:

我们首先从以太坊区块链在特定时间点的状态开始。这左边的方框称作“ 世界状态σ t ”

一笔交易被打包到链上,例如从一个钱包转移以太币到另一个钱包,在图表顶端上的方框,就是“信息调用交易”。

在交易发生之前的以太坊状态(再次提示,左边的方框)加上新交易(顶上的方框)的输入数据,都在 EVM 上运行。在这里,EVM 更新区块链的状态。

一旦 EVM 更新了状态,新的状态“ World state σ t+1 ”会被储存起来。

来源: Ethereum EVM Illustrated

代币 - 通常,代币指区块链上的资产。代币可以代表许多不同类型的资产。举个例子,一般认为代币是可以当成货币的资产,或者是在具体决策过程中给持有者提供投票权的资产 (治理代币),又或者完全可以作为其他东西。代币是加密世界中代表着不同种类资产的价值的原子单位。

**同质化代币(fungible token) **- 这个术语“ fungible ”指的是可以相互转换的一些商品或是物品,即可替换性。这不是一个加密原生术语,一般的货币指的是同质化货币。例如,我口袋里的1美元可以换成你口袋里的 1 美元,并且这两个 1 美元都可以用来买1美元的东西,它们是等价的。当可替代性应用于加密概念中,它指是否可以与其同一集合中的其他加密资产进行互换。我的以太币和你的以太币可以互换。

非同质化代币(NFTs)- 非同质化代币指的是所有因独一无二的存在而不可互换的数字资产。

虽然 NFT 主要是因为数字艺术和数字藏品出圈的,但它不止于这种表现形式,它可以是任何独一无二的数字资产。数字艺术和数字藏品恰好是 NFT 最早的用例之一,而已经引起了广泛公众的共鸣。这种代币引起了许多人对加密界的兴趣,但我认为诸如无聊猿和 NBATopShot 此类 NFT 项目的兴起导致广大公众低估了在以太坊区块链这样的可信结算层上部署独一无二的数字资产所带来的其他方面的效用。

从概念上看,NFT 还可以应用于许多数字收藏品以外的其他用例。如果一种产品或者服务需要能够验证某种特定数字资产的所有权和其稀缺性的有效性,那么公共区块链上的 NFT 就派上用场了。例如,音乐会场地可能会用 NFT 替代门票,或者视频游戏的设计师可以将那些难以在游戏中获得的资产转为 NFT,由此用户之间可以转让或交易。

这个概念还能玩出新花样:一些资产可以既是同质化的,又是非同质化的,这取决于同它们进行比较的集合。例如,如果我持有一个 19 世纪的 1 美元老币,并将它作为收藏品放置于玻璃罐中。这很明显,这 1 美元(非同质化的!)和被揉作一团后塞在口袋的美元新钞截然不同。

不过,如果我将玻璃罐里的1美元掏出来去星巴克消费,他们(可能)愿意收下它。这是因为,从某种程度上看,它跟其他一美元纸币是可互换的,尽管从其他角度而言,它们完全不是一回事。

来源: Graphical Guide to Understanding Uniswap

以太坊201-进一步深入了解

在这一部分,我将阐述gas成本高昂的原因,可组合性如何运作,以及用户如何与创建在以太坊上的应用交互。

燃料 (Gas) - 与以太坊区块链的每次交互都会消耗成本 (gas),而这个成本取决于以太坊虚拟机运行那段特定代码需要消耗多少算力。由于区块链上的每个区块的空间只能容纳固定数量的交易,而 gas 的概念可以帮助以太坊分配稀缺的区块空间资源。

越是复杂的交易可能需要支付越多的 gas 才能完成。比如,从一个钱包发送以太币到另一个也许只需要在虚拟机上运行几行代码,因此,它需要的 gas 少于算力大的交互所需的 gas ,如在去中心化交易所兑换一些代币(阅读下文的去中心化金融部分了解更多!)。

你可以把 gas 看作类似于中心化的信用卡公司收取服务的手续费。例如自 20 世纪 50 年代创建、运作且维护到现在的 Visa,会向所有使用 Visa 网络的交易收取固定的 3% 费用。相对而言,以太坊的“手续费”是不固定的,它基于交易时网络的供需情况而定。Gas 费用于支付参与以太坊区块链运作的计算机(请阅读下文了解更多)。

Gas 以 ETH 计价,并且用户可以选择支付更多的 gas(通过给计算机支付小费的方式)以加速交易时间,提高交易打包到下一区块的几率。

Gwei - 在技术上Gas的价格表示为 wei,是 ETH 最小的增量单位。1 wei 等于0.000000000000000001 ETH(1018 wei,也就是用 5 个逗号才能表示 1 ETH),1 gwei 等于1,000,000,000 wei,所以比较 gas 价格时,用 gwei 兑 ETH 的计价方式更为方便。

用户已经习惯了以 gwei 为单位来表示 gas 价格。比如 0.0001 ETH是 1 gwei,这个 gas 费用很低。用户可以使用 Gas.Watch留意实时的gas价格。Gas 会随着打包进区块链的交易需求上下波动。

它应该是发音为 gwey,但我听过有人读 goo-ee。所以,我不太敢问它的读音。

侧栏 - 为什么需要 gas,它如何应用?

负责验证区块链交易的计算机需要在经济上给予激励。如果不发放这些激励,将难以说服他们运维计算机和区块链,而要是链上没有充足的计算机进行运行,就将导致区块链变得过度中心化,仅由几个用户控制。

如上所述,支付给网络参与者的 gas 会根据打包进区块链的交易需求而波动。

来源: Understanding Ethereum

Solidity - Solidity 是一种编程语言,用户可以用它在以太坊区块链中编写智能合约以及创建去中心化应用。重要的是,Solidity 是图灵完备的编程语言,这基本意味着“任何你可以编写成代码的东西都可以用 Solidity 写”。这说明,开发者能够使用 Solidity 在以太坊上开发大量的酷炫玩意。

可组合性 - 由于智能合约作为开源代码部署在以太坊上,所以,任何人都可以基于这些智能合约构建(或者“分叉”代码并自行改变),这表明以太坊 (以及其他类似区块链) 上的应用是可组合的。

可以将可组合性看作是区块链的 API 。尽管按理说早几代前开发者就能够基于其他技术基础设施创建应用,但加密可组合性对比其他领域的不同主要表现在:它所有底层协议都是去中心化的。换言之,开发者无需担忧会有某个中心化实体,掌控全部的底层数据并突然改变平台的规则,或是限制开发者的访问, 比如 2018 年基于推特 API 构建应用的开发者们遇到的情况那样。

侧栏 - 可组合性的案例有哪些?在实际中如何应用?

可组合性指的是开发者可以利用已经构建和部署在公链上的其他应用创建新的应用。

例如,Compound 作为一个 DeFi 应用,如高能储蓄账户一样能让用户通过存款赚取利润。假设一个项目(例如 Argent 加密钱包)的开发者希望将 Compound 嵌入他们构建的应用中,那么他们无需重建系统就可以轻松地集成 Compound。这就是可组合性。

来源: Understanding Ethereum

以太坊改进提案(EIP)- 鉴于如以太坊这类区块链在本质上是公开的、去中心化和开源的,其开发者社区修改协议的方式与中心化实体做决策的方式相去甚远。现代开源社区(比如 Linux 和 Python 的活跃社区)和以太坊的开发过程更加相似。

以太坊社区已经制定了一套流程以概述社区成员该如何向以太坊协议提出改进建议。这些流程包括提供进行讨论的公共论坛和鼓励社区参与开源,这对于以太坊区块链来说尤为重要,因为它是去中心化的区块链且依赖于全球分布的社区对其进行监督和改进。

提案可以与区块链遵循的核心规则相关 (比如何时达成共识),也可以就以太坊核心构建部件提议一个标准化版本如非同质化代币或者钱包(下文会展开描述)。当用户利用以太坊的可组合性基于某些已标准化的规范来构建一个应用时,显而易见代码将按预期运行。

以太坊注释请求(ERC)- ERC 是 EIP 的一种类别,具体来说,ERC 是描述“应用级别的标准和协定”的一种 EIP 。这类 EIP 值得在这提一提,因为它是以太坊上最重要且最具知名度的一些使用案例的合约标准的模板。开发者在以太坊上构建时可以使用这些合约标准以节约时间和精力,而不用从头开始。一些广为人知的 ERC 如下:

ERC-20 - 这是同质化代币的一种代币标准。

ERC-721 - 这是非同质化代币的一种代币标准。

ERC-1155 - 这是优化了部分 ERC-20 和 ERC-721 的代币标准,一般应用于碎片化非同质化代币。

侧栏 - 为什么想要碎片化(或使其可替代)非同质化代币?

尽管碎片化 NFT 这个概念本身听起来像悖论,但这也有几个不同的用例。最好的解读方式是,一些艺术品价格高昂(比如 Beeple 的 NFT 以 6900 万美元的价格售出或蒙娜丽莎这副名画),普通人很难买得起。碎片化一个昂贵的 NFT,使得消费者有机会持有(价值连城、非同质化)代币的一小部分。

来源: Algorand

值得注意的是,大多数分解后的NFT碎片之间具有可替代性,因此,某个用户持有的蒙娜丽莎面部碎片不会和手部碎片或是背景碎片相斥(即碎片之间是等价的)。这些不同部位的碎片实际上并不是可替代的(比起脸部碎片,我更乐意花更少的钱购买背景碎片)而现实中,用户只会持有整个艺术品的一片小小的可替代碎片。

碎片化 NFT 不止是钱的问题。NFT 代表着独一无二的数字资产,所以 NFT 碎片化还隐含着所有权、身份和社区的概念。

测试网 - 测试网是区块链的副本,它使开发者得以尽情开发,并测试代码在“主网”区块链上将是何种运行情况。当开发者在区块链上部署了智能合约后,尽管有些智能合约已经不再应用,但只要区块链一直活跃,这些代码都是可见的。由于存在这种永久性以及智能合约有可能与大额资金交互,开发者会希望通过在测试网测试以确保代码会按预期运行。

在以太坊案例中,有一堆的测试网(比如 Rinkby 、Ropsten 和 Kovan )可供开发者在不用冒险动用真实资产的情况下,测试自己的代码。测试网是加密软件开发者的开发实践环境。

水龙头 - 水龙头会分发“虚假” ETH 给开发者,所以他们能用这些测试币在测试网测试智能合约。开发者需要ETH部署智能合约并与之进行交互,但与主网的ETH不同,测试网的测试币不具有实际的经济价值。水龙头是开发者获取 ETH 测试币的简便渠道。

设想你是一名开发者,准备在以太坊上部署智能合约。假设你手头上的智能合约将处理一些资金,可能类似于一个去中心化的交易所(在下文的去中心化金融部分有探讨)。首先,你想在测试网上测试智能合约。以确保代码的运行达到预期。你将需要一些测试网的ETH来运行智能合约。

然而,要谨记测试网只是以太坊区块链的副本,所以测试网上面的ETH本质上是“虚假”的,因此,这些代币不能兑换成主网链的ETH。如果读者想用以太币测试合约并观察它的实际运行,那么水龙头可以方便用户获取ETH,并在测试网上尽情使用/挥霍。

预言机 - 根据需要,预言机可以用来连接区块链和外部系统。在某些时候,可以创建在以太坊上的应用,希望与非以太坊网络所保护的外部数据流进行交互。一些数据不得不从链下获取,就如今天的天气或者篮球比赛的分数。因此,预言机是通向“现实世界”的接口。

为了农作物的保险起见,预言机可用于查询弗洛里达州靠近橙子种植地的天气,或是用于验证去中心化体育博彩应用的记分。预言机具有潜在的信任隐患(因为构成区块链的计算机网络无法真的验证弗洛里达的天气如何),但是对于这些需要预言机的应用来说,有良好的方案可以解决这一隐患。

预言机提供商 (如 Chainlink ) 构建了某种系统以试图确保其预言机不易受攻击 (但是单个预言机仍然是区块链上易受攻击的弱点)。读者可以设想一下:为预言机系统 (由多个预言机组成) 建立一种共识机制,尽管其中存在易攻击点 (因为链下数据总是可能会以某种方式被操纵),但是仍然需要 9/16 个预言机对预言机网络的信息达成共识。或者类似的机制。

内存池 - 当一笔交易已被用户提交,但是还未被验证和打包上链,这种待处理的交易会被发送到一个等待区域,叫做内存池。

在处理交易之前,网络中的计算机节点会验证交易的有效性。举例来说,账户在发送交易时,可能会花费超过账户内的有效资金,或是可能出现私钥与发起方钱包(更多请看下文的钱包和身份认证的部分)的公钥不匹配的情况。当网络中的计算机在验证这些潜在隐患时,这些待处理的交易就在内存池中等待。

在技术上而言,网络中的每个参与者都有自己的内存池,但为了让入门级别的读者更好理解,把内存池想象成所有区块链交易的等待区域是可以接受的。通常,交易在内存池中等待几秒钟到几分钟不等,这取决于需求量(下文进一步讨论可扩展性)。

以太坊上待处理的交易可以在数据供应器上看到,比如 Etherscan。

侧栏 - 用户和应用如何与以太坊交互?

用户几乎都是通过如 Chrome 等浏览器使用网页应用。这些网页应用使用特定的库(如 web3.js 或者 ethers.js )建成,这些库使得网页应用可以直接同区块链节点实现交互。

来源: Understanding Ethereum

开发者建立的应用,通过节点运行客户端软件的方式与以太坊进行交互。在下面的示例中,运行的客户端是 Geth,它是一个用来与以太坊区块链交互的命令行界面。也有像 Infura 这样“节点即服务”的供应商,它让开发者得以便捷地与服务供应商控制的节点进行交互,这和开发者如何利用 AWS 访问服务器空间的过程是类似的。接下来,这些节点可以在以太坊上与智能合约和单个账户余额产生交互。

这和当下其他软件产品的“后端” VS.“前端”大不相同。在左下图表中,我们可以看到一个用户如何连接传统的网页应用。

在这个图的旁边,是一个基于以太坊的应用的架构例子。两者极其类似!区别就是,以太坊作为一个后端基础设施服务于加密应用,这使得它具有全球化、无需许可和抗审核的特性。

来源: The Architecture of a Web3.0 Application

钱包和身份

根据设计,区块链使得用户能够自我保管资产,但钱包的作用不仅是给了用户自我托管的权利,它还是用户在加密世界的自我呈现。在这一部分,我将介绍 DAO 和身份的关系,以及用户如何保证钱包安全问题。

钱包 - 将你的资产存在加密钱包中,就好比将现金存在物理钱包里。但是这些加密钱包还储存着代表你和你的行为的信息,例如你交互过的应用以及用该钱包做过的交易。

需要记住的是,根据设计,区块链交易是公开透明的,由此,当你使用钱包在以太坊上做些什么的时候,你的钱包管理着关于这些交易的可追溯、公开的数据。这些可追溯数据强调了 web3 中“持有自己的数据”的理念 —— 你的资产、交易历史、与去中心化应用交互的数据会随着你的钱包移动。而且,与物理钱包相区别的是,许多加密用户会使用多个用途不同的加密钱包。

在这里,还需要了解其他的定义才能完整地解释钱包的概念:

公钥 - 这是一行长代码,代表钱包的对外地址。公钥好比你的家庭地址;这个地址是独一无二,不是秘密(公共记录等)。而这个地址对应着一个家庭(或在这个案例中,地址对应着你的一个账户)。

你可能会与想给你寄信或礼物的朋友分享你的地址,但就算有人在当地政府的财产记录中看到你的家庭地址,那也没什么。如果有人看到你的公钥,那也是没问题的。

私钥 - 在另一方面,私钥是钱包的密码,所以不能让别人知道你的私钥。私钥会对应特定钱包的公钥,因此,如果有人得到了私钥,他们可以完全访问钱包。

私钥就像家里的钥匙,你并不介意有人随机知道了你家的地址,但是如果他们有你家的钥匙,那你必然惴惴不安。再次重申 —— 任何人得到了私钥都可以接入对应的钱包,不要将私钥告诉任何人,也不要储存在别人可以找到的地方。

侧栏-公钥和私钥的原理是?

公钥和私钥背后的机制是非常重要的基础知识。基本上,公钥和私钥是用于加密和验证身份的一种方法,叫做私钥密码学。

谨记公钥是面向外部公开的。当用户向其朋友的钱包发起交易时(使用朋友的公钥),就相当于给交易上锁,只有当用户的朋友确实持有接收方钱包的私钥时,才能把锁解开。尽管交易是可见的(因为它存在公链上),但没有特定私钥(私钥对应的持有资产的钱包)的情况下无法“解锁”这些资产。

不管你是以太坊上搭建项目的开发者或者只是用户,一定要了解公钥和私钥的区别,这很重要。误用(或者“放错”)公私钥可能造成严重的资金后果,并且,这和忘记中心化网站上的密码不同,应用开发者无法帮助用户恢复密钥。随着更多用户创建加密钱包并在区块链上交易,这种交易模式将会更为标准化。同时,注意学习曲线以及帮助向其他用户解释也尤为重要。

来源: How to Generate Public and Private Keys

助记词 - 一组助记词(通常是 12 到 24 个随机的词)是钱包在紧急情况下最终的钱包恢复工具。它需要像私钥一样被同等保护起来,因为丢失助记词或者将它保存在会被发现的地方,就意味着钱包的一切都暴露了。用户一定要采取合适的方式保存助记词,保证其安全性和机密性。

钱包应用的开发者无法访问助记词,所以,如果读者丢失了自己的密钥和助记词,那么你的钱包就不能再恢复。如果仅仅丢失了私钥,那还可以用助记词来恢复钱包。

托管钱包 - 这类钱包由托管方(任何负责管理钱包资金的中心化实体)负责管理,比如一个常规的 Coinbase 账户就是托管的。这些托管者负责管理钱包(因此,如果用户使用了一个托管钱包,就不必保管自己私钥)中的基本资产,为提供用户更为中心化、更顺畅的用户体验。

这种用户体验通常不包括加密原生的身份认证机制,例如,一位用户可以使用 Google 邮箱地址和密码登录 Coinbase 的账户。

托管钱包是一种开启加密之旅的好方式,同时也是兑换现金资产为加密货币的实用方法。另一方面,鉴于这些托管者都由中心化机构持有和管理,所以也带来了去中心化旨在解决的一些问题,比如数据所有权、信息流控制以及潜在的监管要求。

加密界有句关于托管钱包流行语 —— “无钥即无币”。即便是 Coinbase 的 CEO Brian Armstrong 曾经也提过非托管钱包的重要性,因为托管钱包的提供商会有受到政府监管的风险。对那些倾向于以一种完全去中心化的方式管理自己的资产和交易的用户来说,非托管钱包是更好的选择。

非托管钱包 - 这类钱包的管理者只是......你!软件供应商(如 MetaMask , Argent 和 Rainbow 等)提供用户访问自己钱包的软件,但主要的是,钱包资产存放在链上而不是钱包提供商那里。所以,如果 MetaMask 钱包发生了些什么导致无法访问,那么用户可以跳转到 Rainbow 钱包,导入他们的钱包(不用得到 MetaMask 的允许)并通过 Rainbow 操作自己的资产。还有一种非托管硬件钱包,它的私钥直接保存在物理设备中(通常是看起来像 USB 的小金属物件)。

非托管钱包的使用伴随着管理公钥、私钥和助记词的负担,但这种钱包给予用户以自治权(直接持有资产)和访问以太坊世界的唯一身份。以太坊应用允许用户“使用以太坊登录”(Sign in with Ethereum, SIWE ),即“使用自己的非托管钱包登录”。由此,非托管钱包代表了用户的身份,这些钱包扩展了加密界的设计空间,比如关于身份、凭证和所有权的新思维方式。

社会恢复钱包 - 这是由一些非托管钱包提供商支持的一种钱包恢复策略。这种钱包不需要助记词(有用户丢失过助记词),用户可以委任其社交网络中的其他人,验证钱包是否是否对应于它应该对应的人。通过社交恢复钱包,用户可以基于其社交圈的信任网络作为其非托管钱包的后盾,同时仍然保留非托管钱包的自我托管/去中心化/单点登录的优势。Argent 是社会恢复钱包的一个用例。

侧栏-用户如何注意钱包的使用安全?

我不打算在这一栏目用图表,因把所有有关钱包安全的必要信息放进单个图表并不现实。在加密界中,钱包的安全性至关重要,值得我们耗费一些时间探索资金管理的最佳操作。

@ Punk6529 发布了一篇很棒的推特长文,涵盖了安全使用钱包需要注意的所有信息。Vitalik 就此写过大幅的篇章论述社会社交恢复钱包的重要性(点击此处阅读中文版)。而这里是来自硬件钱包供应商 Ledger关于钱包安全的更多信息。

这里是 Punk6529长推文中的一些亮点,不过我强烈建议读者自行上推特阅读这篇推文:

“与公钥不同,永远不要将私钥透露给任何人。如果有人获取了你的私钥,那就玩完了。”

“地址/公钥:你的邮箱地址(可以共享)

私钥:收件箱的密码(永不共享)

钱包:保存私钥

助记词:私钥恢复系统(永不共享)

密码:可选项:创建新钱包的额外密码(永不丢失)”

“安全性和弹性是相悖的目标:将私钥打印在宣传单的行为极具弹性,但你的NFTs将会不翼而飞 (私钥泄露了)。你可以通过摧毁私钥的方式轻松解决安全性问题,而后果是,你本人也无法访问自己的NFTs。平衡安全性和弹性这两个目标是门艺术。”

以太坊域名服务(ENS)- 以太坊域名服务是为以太坊区块链而生的开源域名系统,某种程度上类似于传统网站的域名提供商。ENS 将以太坊上的地址映射为人类可读的名字,因此我才能使用譬如“ brunny.eth ”作为我的地址,而不是这一长串的公钥:0xF67cAEbBbE7b630d137d2901637C02899ED3211b。

读者可以在自己的加密钱包(托管的或者非托管的)里直接尝试一下:创建一笔发送少量ETH的小额交易,不要用我的公钥,而是把“ brunny.eth ”作为接受者。这个服务会匹配“ brunny.eth ”和对应的钱包地址。

总的来说,作为公共物品,ENS 域名对以太坊生态系统中的身份而言十分重要,因而它们值得有自己版本的域名系统。

去中心化自治组织(DAOs)- DAO是加密原生的组织形式。它可以是基于加密原生规则进行自我管理与组织的公司、非营利机构、社会团体或是其他任何类型的组织。这里的加密原生规则是指类似于社区所有权、透明性和去中心化等概念,而值得注意的是,去中心化有一个频谱,而不是非开即关的两种极端。

不似传统公司在实体创建和领导组织架构方面的中心化持有和管理,DAO 则为无中心实体下决策的加密原生项目和商业的经营而设计架构,并致力于争取项目的社区所有权。许多 DAO 的另一个愿景是完全去中心化和民主化的实现。也就是,DAO 的各种决策由主要参与者以民主的方式票选得出。DAO 不仅能针对链上的应用级别产品的变动进行投票,还能发挥奖励和激励系统参与者的作用。

一部分 DAO 确实十分接近自治的程度,某种意义上,自动执行的智能合约代码运行着 DAO 的许多函数。这方面的一个例子就是 DeFi 中的 DAO,这种 DAO 的核心价值定位是,对于 DeFi 中服务于某些目的智能合约的去中心化维护。大多数 DAO 向着去中心化的方向逐步发展,这其中的大部分更类似于与银行账户的多人聊天,而不是真正意义上的自治化组织。

DAO 实际上是各种事物的社会副产品,包括无需许可区块链、非托管钱包、身份认证工具(如 ENS 等)以及生态参与者的共享意愿。DAO 值得用专门的一部分展开描述(甚至是用整篇指南!),但我个人观点是,大家在加密界中参加的 DAO 正是重新定义数字原生身份的关键,所以在本章节中与“身份”一起谈 DAO 最说得通。

去中心化金融

毋庸置疑,DeFi 是目前以太坊最为成功的用例,超过 1000 亿美元的资产锁定在以太坊的 DeFi 协议当中。 DeFi 领域还擅于使用一些令人困惑的术语。在这个小节,我将从广义角度界定 DeFi,深入探讨这些令人困惑的术语,阐述 Uniswap 作为一个去中心化交易所如何在以太坊上运作。

去中心化金融(DeFi)- 去中心化金融指的是任何的不存在中心把关人且完全在区块链上运行的金融应用、交易所和系统。如今,各式各样的区块链上活跃着数以百计(如果还未达到成千上万的程度)的DeFi项目,从去中心化交易所到借贷协议,再到期权和期货合约,应用范围很广。DeFi 应用的首要目标在于重新思考:在没有中央银行掌控权力的世界体系中,如何通过去中心化的形式实现旧式银行系统提供的金融服务。

有案例给出了答案,读者可以试想一下在股票市场买进股票份额的情景。当Sally通过中介(Robinhood、 Charles Schwab 和 Vanguard 等)购买了一股特斯拉股票,这一股会辗转多个中介之手后Sally才能拿到。一般而言,当系统正常运行,这种辗转多个不同中介的行为不会被一般大众发现。但有时会发生糟糕的情况(例如,2008年全球金融危机或是2021年的Gametop股票事件),导致系统崩盘(如出现负油价和交易被取消的情况)。

系统崩盘后,人们希望寻找这场混乱的罪魁祸首。可当他们开始掘地三尺的时候,却发现传统金融市场远没有他们所想的那样透明。

去中心化交易所(DEXs)- 它是首个主要的 DeFi 构建块。区块链激活了一种新型交易所,它无须经过不透明的中介环节和半官方机构,就能直接和智能合约进行交易。

还是举 Sally 购买特斯拉股票作为例子,她不再需要通过中介经纪公司(例如 Charles Schwab )买入股票,这种中介会和做市商(比如 Citadel )进行交易,两者都受到于美国清算所(如 DTCC)施加的约束。而是和 Uniswap 智能合约做交易!智能合约的代码都是透明公开的,因此,她可以看到资金流动的过程,不会被非透明的中介蒙蔽双眼。

这些去中心化交易所运用区块链技术和经济激励,基本上为任意两种货币搭建了市场(比如 BTC 和 ETH,或者美元和欧元等)。以下我将说明,作为占据市场份额最多的 DEX,Uniswap 如何进行运作。

为了解这些去中心化交易所的运作方式,我们需要先界定一些额外的术语:

流动性提供者(LPs)- 在上面的Sally案例中,它所描述的不透明中介在传统金融系统中确实起到了有效作用:为系统提供流动性。而在传统的金融体系中,Sally 可以随时卖掉自己的股票,几乎任何时间或至少在常规的交易时间内都可以,因为中介便是雇来为 Sally 和其他股民提供流动性的人

那么,去中心化交易所协议中的智能合约哪里来资产给它进行交易?答案是流动性提供者。DEX 给予个体通过提供流动性而获利的机会,当有用户与智能合约交易资产时,系统会给流动性提供者返利一小部分由交易产生的手续费。

对 LP 来说,最为知名的是 Unswap 的模式,他们需要在智能合约中存款两种具有相同价值的代币对。再度重申,LP 把存款放进智能合约中,以获取一部分交易手续费。LP 可以将作为流动性存放进去的代币随时提取出来,但这样的话,他们显然无法获得未来交易费用上涨的分红。

自动做市商(AMMs)- 这是 DEX 的一种类别。自动做市商是指运用算法设置价格的智能合约。在此,Uniswap的恒定乘积公式 ( x*y=k ) 最有知名度,然而这超出了这篇指南的范围。AMM只是一种无需人为设置价格的公式或机制。

稳定币 - 稳定币是现实货币的数字化代表,它们代表着与其挂钩的货币的价值,只不过仅作为数字货币在区块链上流通。

DeFi 使得用户能够使用加密资产大展拳脚,却难以使用户和投资者在固定的价格范畴内管理自己的资产,这是由于加密资产的价格并不稳定。在去信任和去中心化的区块链上,稳定币作为一种波动较小的资产存在,同时还作为对比加密资产的参考价格。

通常来说,稳定币与美元挂钩,但也有其他的稳定币。不管是中心化还是去中心化的稳定币,每一种都有自己的机制,以维持它们与其锚定的货币在价格上的1:1挂钩关系。诚然,加密货币正在颠覆全球金融系统,然而主要的全球货币(如美元、欧元和日元等)作为参考价格依旧有效。

总锁仓价值(TVL)- TVL 是指锁定在特定平台的智能合约中的总额价值。TVL 概念也能应用在 DEX 智能合约以外的语境,因为除交易所以外的其他应用也可能会有流动性提供机制(比如借贷平台)。Uniswap 的总锁价值达几十亿美元,而 2022 年初以太坊上的各种应用加起来 TVL 超过了 1000 亿美元。

侧栏-Uniswap怎么运作?

首先,先谈谈用户体验。当用户想用 Uniswap(或其他交易所)兑换代币时,该用户只需在一个简易的前端界面进行操作即可,这个界面是 Uniswap 基于更加复杂的智能合约构建的。如下图所示,用户可以把ETH(或其他代币)兑换成其他资产,犹如使用自动贩卖机。用户可以连接钱包并将任意一种代币换成其他代币。非常简单!

来源: Understanding Ethereum

然而,幕后到底发生了什么?一起看下图中的蓝色方框。这是 Uniswap 的智能合约,是流动性提供者存放其代币的地方(例子中用代币 A 和代币 B )。

蓝色方框的左边描述了 LP 和质押池的关系;LP 存进两种资产,作为交换,他们会收到质押池代币,这种代币相当于流动性提供者可以赎回他们的质押资产的一个凭证。质押池代币可以随时赎回LP最初质押在智能合约的资产(在这里,交易者要警惕接下来提到的“无常损失”。)

上图中的另一端是用户。用户在无需接触质押池 LP 的情况下,进入界面并在质押池中将一种代币兑为另一种。并且,用户会支付一小笔手续费,它会均等地分给质押池中的所有 LP 。

来源: Uniswap documentation

这种机制很酷。我在职业生涯的早期便开始学习金融知识,所以,当我了解到去中心化交易所时,它比比特币的“数字黄金”和以太坊的“世界计算机”隐喻更能使我兴趣盎然。如果没有公链这种去信任基建的存在,那么 Uniswap 只会是黄粱一梦。还有什么是我们今天不敢妄想而明天却成为主流的?

截至2022年初,Uniswap 的月交易量约为 600 亿美元。

接下来提及的术语(以及文本中介绍性定义之外的内容)也许需要读者自行深入探索了。然而,它们也可能是新用户刚踏入以太坊圈子,就会接触到的第一批术语概念,因此,我坚信它们会极大地影响刚进圈的新用户,使他们困惑不已。因此,他们可以多看看文末的更多资料。

流动性挖矿 (Yield Farming) - 如名所示,流动性挖矿是指通过为 DeFi 应用提供流动资金的方式“收割”收益的行为。这些应用提供诱人的奖励作为使用的回报。如果有朋友向你透露其在 DeFi 的年收益率达到 100,000%,那他们说的就是流动性挖矿。

许多 DeFi 应用需要大笔资金注入平台(流动性,如前所述),作为体现其应用价值的关键功能,无论是什么功能(如交易资产、借贷等)。这些 DeFi 应用只有两条路能走:筹募 10 亿美元并由应用提供流动性,或者给予流动性提供者以可观的奖励,并使这些流动性挖矿者成为平台的流动性提供者。

等一下?这些可观的奖励从何而来?

好吧,这些应用正在将这些高额奖励大肆宣传为新型激励机制,但现实是,这些奖励通常只是(昂贵的)客户购置成本。也就是说,这些应用的代币在某种程度上代表了应用的价值,而他们通过应用(客户购置成本)给用户分配奖励。这些奖励是原生代币与其他代币类型的混合产物。

因此,流动性挖矿指的是寻找这种收益并为最有机会获利的应用注入资金的实践,它几乎可以视作 DeFi 应用上的一种天使投资形式。

质押 - 这个术语用得五花八门,但实际上,质押仅是指在一段时间内锁住资产并从锁仓中获利。

一般,这个概念在中心化金融领域应用,用户质押代币以换取奖励,但是质押也能运用在其他领域中。许多 DeFi 协议利用质押方式控制其协议原生代币的流动供给,好比中央银行试图管控货币供给。激励投资者短期锁定自己的代币以期经济报酬,这听起来就像债券。

无常损失 (Impermanence Loss)- 这个概念指的是在供给两种以上代币的流动性时,流动性提供者需要承担的潜在风险。在上文 Uniswap 的例子中,流动性提供者存入两种等值的代币到 Uniswap 上,并获得质押池代币。当 LP 想要提回资金时,质押池代币可以用于赎回自己的两种代币。

这里存在的细微差别是,LP 存款的两种代币都有各自的价格(还有价格波动)。当 LP 想用质押池代币赎回两种代币时,两者的价格可能已经是相去甚远:可能其中一种代币价格下跌了5%,而另一种则上涨了10%。

代币之间的价格差距也许意味着LP最好应当只持有一种的代币,而不要持有从交易费获益的质押池代币。重要的是,无常损失被贴上“非永久的”标签,是因为在 LP 真正赎回质押池代币之前,这种损失只是“账面损失”。也就是说,如果 LP 不选择赎回代币,而是继续提供流动性直到两种代币的价格相互靠拢,那么无常损失就消失了。

关于不同类型质押池的 DEX、LP 以及无常损失的优质初级读物可以在这里找到。Daily DeFi 上的无常损失计算机演示了几个例子。

Layer2和权益证明机制

2022 年被俗称为以太坊的“ L2之年”,万众瞩目的权益证明机制的过渡预计在夏季进行。这个部分将深入讨论区块链的“三角悖论”、以太坊的未来以及 rollup 的运作原理。

区块链三角悖论 - 每一条区块链都涉及三种概念之间的权衡:去中心化、可扩展性以及安全性。一般的共识是( 2022 年早期),以太坊在去中心化和安全性上做得较好,但在可扩展性上稍逊一筹( gas 费用好高!呃啊啊啊啊啊!)。希望在近期会有一些改进计划可以解决以太坊的区块链三角悖论。下面叙述了这三个方面的考量,对于理解三者的平衡对单条区块链的影响而言十分重要。

去中心化 - 比特币白皮书准确地解释了去中心化概念(我自己加粗强调了):“只需要一个基于加密学证明而非信任的电子支付系统,允许任何两个意愿方在无需信任第三方的情况下,直接与彼此进行交易。”

区块链扮演了基础设施层的角色,使得全世界的用户可以使用自己计算机与彼此互动,而不用经过中介环节。

区块链的去中心化就好比一个频谱;如果区块链可以被少数用户关停,或者网络的参与成本过高( gas 费用或配置计算机参与网络的成本),那么区块链则会向中心化的一端倾斜。中心化程度越高,权力垄断和剥削的风险也越高。

安全性 - 安全性是指基础链被外界攻击或控制的难度。有效的经验法则是 51%的大多数原则;如果有人能够控制特定链上 51%的处理交易的计算机,那他们也许可以非法入侵并损害网络的安全性。

这里有更深层的技术考量,但 51%的占比帮助用户厘清安全性、去中心化和可扩展性之间的权衡关系。为特定区块链打包交易的独立计算机越多,表明其去中心化和安全性程度越高(更多计算机=有人控制51%的网络节点的概率很低)。然而,网络中的独立计算机越多,也意味着每台计算机需要同更大的计算机网络进行交流,从而导致运行速度下降......

可扩展性 - ......网络运行速度下降意味着我们需要找到提高可扩展性的方案。当区块链上的交易需求变多时,网络也会随之变得异常拥堵。例如,以太坊也曾有过 gas 费疯涨的时期,尤其是网络需求爆满的时候。这些需求致使交易打包上链的成本水涨船高,同时造成网络拥堵、网络运行速度下降。

零知识证明 - 这个概念并非具体的扩容方案,但它是展开探讨扩容方案之前所要阐明的一个重要概念。零知识证明是一种无需获取特定信息就能验证事物有效性的加密学方法。

比如,假设我是一名 Craigslit 的买家,正打算从网络中的任意用户手里购买一台电视。这时,有人私信告诉我,他们手上有我正在找的电视,而他们的资料是匿名的。

作为一名买家,我希望在与卖家碰面之前,能确保他们真的有电视。但是卖家却不想将他们的个人信息(驾照、居家地址、室内的图片)泄露给网络中的随机用户。最重要的是,卖家也想要知道我是不是一个真人!但双方都不想分享个人信息。

通过零知识证明,我可以向卖家证明我是一个真实的人,在不告诉他们我是谁的前提下验证身份。另一方面,卖家也能证明他们确实拥有一台电视并且是合法的卖家,同样不用泄露任何敏感的个人信息。

这其中包含着错综复杂的加密学基元,因此,上文只是非常简概的介绍。大多情况下,零知识证明能够解决加密界中的安全性、可扩展性和隐私挑战问题。

Layer2 扩容方案 - 用户非常希望可以在以太坊上大展拳脚,因为它是世界上最为去中心化且最为资深的智能合约计算平台。以太坊已经吸引了分布最广的开发者网络,进行基于区块链的应用创建。但这些创建活动带来的后果是,打包交易到以太坊区块链的需求有时会造成 gas 价格过高,这也意味着以太坊用起来既慢又贵。

区块链的三角悖论暗示着,任何优化过安全性和去中心化程度的区块链,将在可扩展性上做出让步。由于去中心化和安全性对区块链的愿景承诺具有重要推动作用,所以可扩展性就成了最难解决的部分。以太坊将赌注压在了一大波改进浪潮上,希望由此解决可扩展性问题。

其中一种改进是,从用户先与以太坊区块链本身(即“ Layer1 ”)互动,改为与 Layer2 扩容方案互动。从根本上,这表明大部分以太坊主网上的交易和应用会转移到Layer2,它继承了以太坊的安全性和去中心化,但却比以太坊本身的吞吐量高几个数量级。以太坊 Layer1 将会专门负责共识问题,而它的 Layer2 则会负责执行交易和代码。

Rollups - Rollup 会在其独立的区块链中处理一批交易。在自己的链上执行这些交易后,Rollup 将所有的交易压缩成一个小型的信息数据包。这些小数据包会被“发送”到以太坊的 Layer1,这表示 Rollup 在继承了 Layer1 安全性的同时扩大了可以处理的交易数量 (因为信息被压缩了)。

这些小得多的交易信息包里包含着一些证明 (证明这些交易是基于以太坊的规则下处理的)。

来源: Understanding Rollup Economics

这听起来似乎是在去中心化上做出了妥协。但是 Rollup 一个关键的点在于以太坊可以只对证明进行验证,而不是对每一笔交易进行证明的工作,这节省了指数级别的工作量(因此让以太坊更加可扩展!)。由于以太坊拥有决定 Rollup 交易是否可以发布上链的最终确定权,所以,在不向中心化妥协的情况下,所有的 Rollup 交易仍然由以太坊提供安全保障。

以下是各种类型的 Rollup 。主要的区别在于它们向以太坊证明交易有效性的方法。

Optimistic Rollup - 这种类型的 Rollup 会将交易证明的记录保存下来,在以太坊请求具体证明时,它才会向以太坊出示这些证明。Optimistic Rollup 不会向以太坊主网证明每笔交易的有效性,而是在必要的时候提供证明,这促使可扩展性问题得到缓解。

ZK Rollup - 这一类 Rollup 不会展示交易内的所有细节,而是利用零知识加密学的方式验证交易的有效性。上面已经解释过零知识证明了,而重点在于这些 Rollup 只展示更小的零知识证明而不是整个交易过程,由此节约了许多的区块空间。

分片 - 分片是指将区块链分割成小分片以减少拥堵的过程。分片促使以太坊更加容易访问。本质上,节点只需要存储他们所连接的特定分片的数据,而不是整个以太坊区块链的数据,这也让以太坊更加可扩展。

分片是以太坊区块链改进计划的一部分,将在 The Merge 之后发挥举足轻重的作用。

信标链 - 信标链是以太坊从 PoW 到 PoS 过渡的基础。现在,信标链和以太坊区块链并行运行,并且信标链引进了质押机制,这是向 PoS 过渡的前提。

很快,信标链会和现在的以太坊区块链合并,正式引入 PoS 共识作为以太坊区块链的共识机制,标志着以太坊未来的重要转折点。

The Merge - 以 The Merge 这个术语可以恰到好处地结束这篇指南。在接下来的几个月,以太坊主网和信标链将进行合并,这是区块链行业有史以来最为广受瞩目的事件。

仅在几个月后,以太坊的 PoW 时代就将迎来它的落幕,而这种共识机制转换的反响可能是异常轰动的。如果因为某些原因,The Merge 失败了,那么它必将引起整个加密界的轩然大波。但如果合并成功,这意味着我们离以太坊成为全球结算层这一天更接近了。

资料

到这就结束啦!这是一篇入门以太坊的简易指南。

在深入了解特定的区块链特征之前,我们首先了解了区块链是什么以及区块链为何如此重要。

接着,我们探讨了一些构建在以太坊区块链上的拔尖应用;钱包、DeFi、DAOs、NFTs 。

之后,我们用以太坊的未来探讨来结束这篇指南,它主要探讨了权益证明共识机制的变迁,以及描绘了以太坊希望如何解决区块链的三角悖论。

所有这些定义都是复杂话题的简化版本,但我还是希望这篇指南可以激发读者们深入探索以太坊世界的欲望。在下文,我为那些希望进一步学习的读者收集了一些资料。如果你们希望向我提出问题或是给予反馈,来推特上给我留言吧!

感谢Josh Stark、Bethany Crystal、Daniel Schlabach、Nico Kuzak、Adam Tzur、Naz Rizvic、还有Miguel Lemos,在这里谢谢你们贴心的帮助还有反馈!

接下来去好地方:

以下资料是我和 Josh Stark 在 2021 年底开始编译后,由以太坊社区在这个文档中收集而成。

通用资料

· What is Ethereum? | ethereum.org - 结合涵盖一些前沿话题的资料链接来学习这个话题

· ETHHub - 这个社区保存着覆盖各式各样的以太坊话题的资源

· Ethereum Foundation Youtube Channel - 以太坊会谈和社区开发者电话会议

· Devcon archive - 每年Devcon会议的所有视频和谈话的存档资料

· Scott Sunarto’s Working in Web3 Handbook - 包含许多话题的手册

· Blockchain@Berkeley Courses - 免费的加密货币在线课程

· Finematics - 解释以太坊上许多话题的视频,如web 3, defi

· Fellowship of Ethereum Magicians - 为加密货币社区提供一席之地的论坛,任何人都可以参加、创建话题以及主要探讨以太坊生态昔日的EIPs和技术难题。

· text - 囊括各种以太坊相关话题的以太坊维基百科。

博客、视频和研究

· Week in Ethereum News

· Paradigm Research

· https://newsletter.thedefiant.io/

· Bankless

· The Daily Gwei

· The Block

· Decrypt

· Dark Star

· Messari Research Hub

· a16z Crypto Canon

· Linda Xie’s Beginner Guides

· Tim Beiko’s AllCoreDevs Updates

· Ben Edgington’s What’s New in Eth2 blog

· Polynya – Medium

· Ethereum: The Infinite Garden (feature documentary film in production)

· Gaby's Web3 Reading List

Podcast

· Into The Bytecode

· Bankless

· The Daily Gwei

· Into The Ether

· a16z

· Into The Ether

· Unchained

· Epicentertext

· ZK Podcast

· Uncommon Core

· Redefined Life

书籍

· The Infinite Machine

· Out of the Ether

· Mastering Ethereum (free online)

· Finite and Infinite Games

这篇指南的链接

· Graphical Guide to Understanding Uniswap

· Ethereum EVM Illustrated

· Understanding the Ethereum Yellow Paper

· Understanding Ethereum

· Punk6529 tweet thread

· Understanding Rollup Economics

· The Architecture of a Web3.0 Application

ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系eth@ecn.co进行授权。

Ethereum Community Network以太坊社区网络 订阅 Ethereum Community Network以太坊社区网络 订阅

区块链技术:以太坊系统核心总结 - 知乎

区块链技术:以太坊系统核心总结 - 知乎首发于区块链与比特币技术切换模式写文章登录/注册区块链技术:以太坊系统核心总结刘杨​不仅是国内,目前从全球的科技与金融领域趋势来看,区块链注定将长时间成为科技和金融业界非常关注的技术,当然如果想要参与并计划进行实际区块链落地的话,了解以太坊系统是提升区块链应用理解的一个非常重要的过程,这里总结了一下以太坊系统核心的技术点和原理,以便大家有一个系统具体的而非抽象的理解,相信仔细读完会让我们有一个系统的认知。本文从以下几个核心问题来开展:• 以太坊是什么?• 以太坊采矿如何运作?• 什么是智能合约?• 什么是以太坊虚拟机?• 什么是 以太币(Ether)和 Gas?• 什么是solidity?• Dapps和ICO。什么是以太坊以太坊官方定义:“以太坊是一个分布式的平台,可以运行智能合约:应用程序按照既定程序运行,不会出现停机,审查,欺诈或第三方干扰的可能性。这些应用程序运行在定制构建的区块链上,这是一个功能强大的全球共享基础架构,可以通过数字流转来代表财产的所有权。“尽管比特币是区块链技术的第一个应用,但它仍然只是一种货币。而以太坊带来了区块链技术的全部可能性。简单来说,以太坊的设计之初就瞄准成为未来区块链应用的终极软件平台。如果未来去中心化和dAPPs普及,那么以太坊必定会成为未来的核心平台技术。正如以太坊联合创始人 Dr. Gavin Wood所说:“比特币首先是一种货币,这是区块链的一个特殊应用。但是,这远远不是唯一的应用。举一个类似的比喻:电子邮件是互联网的一个特殊用途,并且肯定有助于推广,但还有很多其他的。“以太坊采矿如何工作?截至目前,以太坊和比特币正在使用的基本同样的工作量证明协议(POW)。但基于以太坊在区块链2.0+的应用,POW已经不再适用,以太坊计划将转移到权益证明(POS),并且他们将使Casper协议进行这一迁移。那么,POS和POW之间有什么区别呢?POS vs POWPOW(Proof of work:)工作量证明:这是大多数加密货币如Ethereum和比特币迄今一直遵循的共识算法。这意味着矿工通过使用专用硬件(矿机)来进行挖矿的动作。POS(Proof of stake)权益证明 :该共识算法将使整个采矿过程变得虚拟。在这个系统中,我们有验证者而不是矿工。它的工作方式是作为一个验证者,你首先必须锁定你的一些以太(可以理解为保证金)。然后验证者将开始验证块,这意味着如果找到任何认为可以加入到区块链的块,你可以通过下注来对其进行验证。如果该块被加入区块链,你将获得与你投资的股权成比例的奖励。但是,如果你对错误或恶意区块投注,你将失去之前的保证金和相关权益。为了实施“权益证明”以太坊将使用Casper协议。Casper是一种基于保证金的经济激励共识协议(security-deposit based economic consensus protocol)。协议中的节点,作为“锁定保证金的验证人(bonded validators)”,必须先缴纳保证金(这一步叫做锁定保证金,"bonding")才可以参与出块和共识形成。Casper共识协议通过对这些保证金的直接控制来约束验证人的行为。具体来说就是,如果一个验证人作出了任何Casper认为“无效”的事情,他的保证金将被罚没,出块和参与共识的权利也会被取消。保证金的引入解决了"nothing at stake",也就是经典POS协议中做坏事的代价很低的问题。现在有了代价,而且被客观证明做错事的验证人将会付出这个代价。一开始,以太坊会是一个混合共识算法的系统,其中大部分交易仍然采用POW方式,少量采用POS(每100次交易就会使用POS机制)。POS权益证明的好处• 降低整体能源和资金成本:全球比特币矿工每小时花费约50,000美元的电费。这是每天120万美元,每月3600万美元,每年约4.5亿美元!通过使用“权益证明”,你可以使整个流程完全虚拟化并切断所有这些成本。• 不依赖ASIC:由于整个过程将是虚拟的,因此不依赖于谁拥有更好的设备或ASIC(专用集成电路)。• 使51%的攻击更难:51%的攻击发生在一群矿工获得超过50%的散列能力的情况下。使用POS能抵挡这种攻击。• 无恶意验证者:任何将其资金锁定在区块链中的验证人都将确保他们不会向链中添加任何错误或恶意块,因为这意味着他们将失去其投入的全部股份投资。• 创建块:使创建更新的块和整个过程更快。• 可扩展性:通过引入“sharding”的概念使区块链可扩展(稍后会详细介绍)。尽管以前有过各种简单的关于POS共识机制的论证,但Casper协议与其他协议的区别在于,它激励了诚实的矿工并惩罚了不诚实的矿工。如果你把你的投资放在一个恶意块上,你将失去你所有的投资和收益:通过此来惩罚任何不遵守规则的人。“想象一下坐在圆桌旁的100个人。一个人拥有一堆文件,每个文件都有不同的交易历史。第一名参与者拿起一支笔并签名,然后传递给下一个做出类似选择的人。如果每个参与者签署大多数参与者登录的交易历史,则每个参与者只获得1美元。如果你想搞小动作,在一页上签名,然后在另一页上又签字,你的房子就会烧毁,“什么是智能合约?智能合约顾名思义就是自动化合约。它们是自动执行的,并在其代码上写入了特定的指令,并在特定条件下执行。智能合约是在Ethereum生态系统中如何完成的:智能合约执行流程当有人想要在以太坊完成一项特定任务时,他们会与一个或多个人发起智能合约。智能合约是一系列指令,使用编程语言“ solidity” 编写,该编程语言基于IFTTT逻辑(即IF-THIS-THEN-THAT逻辑工作:如果符合某个条件则做某件事情)。基本上,如果完成了第一组指令,那么执行下一个功能,然后执行下一个功能,并继续重复,直到达到合同结束。为了理解智能合约机制,我们可以设想有一台自动售货机。你采取售卖的的每一步都像是下一步执行本身的触发器。它有点像多米诺骨牌效应。来看看你在与自动售货机进行交互时将采取的步骤:• 第1步:你给自动售货机一些钱。• 第2步:你按下与你想要的货物对应的按钮。• 第3步:你买的货物自动从售货机出来,你拿到它。现在看看所有这些步骤并思考它。如果前一个步骤未执行,是否有任何步骤有效?每一步都与前一步直接相关。还有一个要考虑的因素,它是智能合约的一个组成部分。你会发现,在与自动售货机的整个交互过程中,你(请求者)完全是与机器(提供者)一起工作的。绝对没有第三方参与。那么,现在这个交易看起来如果发生在以太坊网络上呢?假设你刚刚在Ethereum网络的自动售货机上购买了一些东西,那么这些步骤将如何?• 步骤1:你给自动售货机一些钱,这会被以太坊网络中的所有节点记录下来,交易会在账本中更新。• 步骤2:按下与你想要的货物对应的按钮,并在Ethereum网络和分类账中更新记录。• 第3步:该货物自动出来,你拿到它,这是由所有的节点和总账记录。你通过智能合同进行的每笔交易都将通过网络进行记录和更新。它所做的是让参与合同的每个人都对自己的行为负责。它通过使整个网络可见的每一个行动消除恶意行为。什么是以太坊虚拟机?在我们了解以太坊虚拟机(EVM)之前,我们必须了解为什么需要“虚拟机”。那么让我们回到智能合约。我们希望在我们的智能合约中有哪些理想的属性?任何在区块链上运行的东西都必须是不可变的,并且必须能够在不损害其完整性的情况下运行多个节点。因此,智能合约功能需要三个特性• 确定性。• 可终止。• 隔离性。特征#1:确定性一个程序是确定性的,如果它每次给一个给定的输入提供相同的输出。例如。如果3 + 1 = 4,那么3 + 1总是4(假设基数相同)。所以当一个程序在不同的计算机上向同一组输入提供相同的输出时,该程序被称为确定性的。有一个程序可以以不确定的方式行事的各种时刻:• 调用非确定性系统函数:当程序员在其程序中调用非确定性函数时。• 非确定性数据资源:如果一个程序在运行期间获取数据并且该数据源不确定,那么该程序将变得不确定。例如。假设一个程序获得特定查询的前10个谷歌搜索。该列表可能会不断变化。• 动态调用:当程序调用第二个程序时,它被称为动态调用。由于呼叫目标仅在执行期间确定,因此它本质上是不确定的。特征#2:可终止在数学逻辑中,我们有一个称为“暂停问题”的错误。基本上,它表明无法知道给定的程序是否可以在有限的时间内执行其功能。1936年,Alan Turing使用Cantor的对角线问题推断,无法知道给定的程序是否可以在时限内完成。这显然是智能合约的一个问题,因为根据定义,合约必须能够在给定时间内终止。采取了一些措施来确保有一种方法可以从外部“杀死”合同并且不会陷入无休止的循环,这会消耗资源:• 图灵不完备性:图灵不完备区块链的功能有限,不能进行跳转和/或循环。因此他们不能进入无限循环。• 步骤和费用计量表:程序可以简单地跟踪它所采取的编号“步骤”,即执行的指令数量,然后在执行特定步骤计数后终止。另一种方法是费用计量器。这里的合同是以预付费执行的。每个指令执行都需要特定的费用。如果花费超过了预付费,那么合同将被终止。• 定时器:这里保留一个预定义的定时器。如果合同执行超过时间限制,则会在外部中止。功能#3:隔离性在区块链中,任何人和每个人都可以上传智能合约。但是,正因为如此,这些合同可能在故意和不知情的情况下包含病毒和错误。如果合同不是隔离的,这可能会妨碍整个系统。因此,将合同隔离在沙箱中以保护整个生态系统免受任何负面影响至关重要。通常情况下,智能合约可以基于以下两种系统之一运行:• 虚拟机:以太坊使用这个。• Docker:Fabric使用这个。让我们来比较这两个,并确定哪些是更好的生态系统。为了简单起见,我们将比较以太坊(虚拟机)和Fabric(Docker)。EVM和Docker的对比因此,可以看出,虚拟机为智能合同提供了更好的确定性,可终止和隔离的环境。然而,dockers有一个明显的优势。他们在能为虚拟机(如以太坊虚拟机之类)提供灵活的编码语言。EVM是所有智能合约在以太坊中运作的虚拟机器。它是一个简单而强大的图灵完备的 256位虚拟机。图灵完备意味着在给定资源和内存的情况下,EVM中执行的任何程序都可以解决任何问题。为了在EVM中编写智能合约,需要学习编程语言Solidity。那么:什么是Solidity? 对于想要学习如何创建智能合约的人来说,Solidity是绝对必要的。Gavin Wood,Christian Reitwiessner,Alex Beregszaszi,Yoichi Hirai和几位以前的以太坊核心成员开发了Solidity,以便在区块链平台(如以太坊)撰写智能合约。Solidity是一种面向对象的语言,语法非常类似于ECMAScript(Javascript)。从以太坊设计原理文档中,我们需要记住一些关键点,即我们正在使用32字节指令字大小的堆栈和内存模型,EVM(以太坊虚拟机)使我们能够访问程序“堆栈“,它就像一个寄存器空间,我们也可以粘贴存储器地址,使程序计数器循环/跳转(用于顺序程序控制,EVM需要智能合约中的完全确定性。(注意:以太坊计划最终从Solidity转移到Viper。)我们来看看一个基本的Solidity合约示例。 让我们运行一个简单的while循环:contract BasicIterator

{

address creator; // reserve one "address"-type spot

uint8[10] integers; // reserve a chunk of storage for 10 8-bit unsigned integers in an array

function BasicIterator()

{

creator = msg.sender;

uint8 x = 0;

//Section 1: Assigning values

while(x < integers.length) {

integers[x] = x;

x++;

} }

function getSum() constant returns (uint) {

uint8 sum = 0;

uint8 x = 0;

//Section 2: Adding the integers in an array.

while(x < integers.length) {

sum = sum + integers[x];

x++;

}

return sum;

}

// Section 3: Killing the contract

function kill()

{

if (msg.sender == creator)

{

suicide(creator);

}

}

}我们来分析一下代码。为了便于理解,我们已经将代码分成三部分。第1部分:分配值在第一步中,我们将填充一个名为“integers”的数组,其中包含10个8位无符号整数。我们这样做的方式是通过一个while循环。我们来看看while循环内发生了什么。while(x < integers.length) {

integers[x] = x;

x++;

}记住,我们已经给整数x赋了一个“0”的值。while循环从0到整数。长度。Integers.length是一个返回数组最大容量的函数。因此,如果我们确定数组将有10个整数,则arrayname.length将返回值10.在上面的循环中,x的值从0到9(<10),并将其自身的值分配给整数数组也是如此。因此,在循环结束时,整数将具有以下值:0,1,2,3,4,5,6,7,8,9。第2部分:添加数组内容在getSum()函数内部,我们将添加数组本身的内容。方法是通过重复上面的while循环并使用变量“sum”来添加数组的内容。第3部分:中止合同该功能会中止合同并将合同中的剩余资金返还给合同创建者。当被问及创造 Solidity后面的灵感和动机是什么时,Gavin Woods博士这样说道:“它[Solidity]旨在成为开发合同的复杂工具,最终可以为开发人员和用户提供有关代码所做工作的完整信息。为了解决这个问题,我设计了一种合约友好型文档格式的NatSpec。我还提出了一个正式的校对语言子集(尚未实施),以便最大限度地提供可以进行的正确性保证。我将事件作为第一类公民引入Solidity语言中,以便为类似于函数调用的LOG提供很好的抽象。对此的启示来自Qt元对象系统的“signals”。Christian R.和我一起想到的一个后来的功能是功能调节器; 它允许作为函数签名的一部分放置的属性对视函数体进行一些修改。作为一种非常具有说明性的表达手段,这是一种很好地融入到面向契约的编程领域的习惯用法。“,如果对于智能合约开发工具和环境感兴趣,也可以浏览:区块链开发:最佳的智能合约开发工具总结什么是 以太(Ether)和 Gas?以太币(Ether)是生态系统中的主要代币(token)。激励参与者执行以太相关的智能合同项目。gas是满足特定合同所有需求所需的’燃料’量,它用来衡量一个行为或者一系列行为有多少“工作量”。。当某人提交智能合同时,它具有预定的 gas 价值。当合同执行时,合同的每一步都需要执行一定数量的gas。所以:gas是计算费用的方式。不过,这些费用仍然是以ether计算。类似于,我开车需要消耗多少天然气(gas),但是最终结算时用人民币(以太币)来结算。这可能导致两种情况:• 所需的gas超过了设定的极限。如果是这种情况,那么合同状态将恢复到原始状态,并且所有的gas都用完了。• 所需的gas少于设定的限值。如果是这样的话,那么合同就完成了,剩余的gas被交给合同制定者。以下是平均gas价格的图表。 图片来源:EtherscanGas 是以太坊的命脉,就好比石油是工业系统的命脉一般。以太坊的所有交易均由矿工确认。基本上,他们必须手动将每一笔交易放入他们为交易进行验证而开采的块中。作为交换他们的服务,他们收取一定数量的交易费用。通常情况下,高额gas费用的智能合约是优先考虑的,因为矿工有机会在那里收取更高的费用。与比特币相比,收取的费用仍然很有名。这张图表比较了比特币的交易费用与以太坊。图片来源:Bitinfocharts事实上,正如你所看到的,在这个0.01 Ether的交易中,只有0.00000000000002以太被收集为交易费用,这是<0.000001美元。 图片来源:EtherscanDapps和ICO以太坊最令人兴奋的功能之一显然是它为用户创建自己的Dapps提供的平台。任何人,任何地点都可以创建自己的dAPP,并通过提供白皮书,通过ICO获得资金!相关ICO流程可以参考:数字货币ICO流程,ICO 与IPO的差异分析这是以太坊最令人兴奋和最危险的功能之一(事实上,很可能你已经看到了这些ICO最近疯狂的圈钱)由于某些企业重量级人物的支持和ICO的普及,以太坊已经得到广泛采用。因此,以太坊网络上的节点数目呈指数级增长。实际上,它是拥有最多节点的加密货币,因此最为分散。最后:目前很多区块链项目和ICO相关大部分都衍生于以太坊,当然也有很多非常垃圾的圈钱项目,但是正如某人说过:技术无罪。不能因为一些不正常炒作而否定技术本身,我们班更应该关注的是如何使用技术来推动产业革命。首发专栏:编辑于 2018-03-21 10:33区块链(Blockchain)比特币 (Bitcoin)​赞同 112​​11 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录区块链与比特币技术关注比特币和区块链技术,安全应用和行业深