以太坊是一个分布式的计算平台。它会生成一个名为Ether的加密货币。程序员可以在以太坊区块链上写下“智能合约”,这些以太坊智能合约会根据代码自动执行。
以太坊是什么?
以太坊经常与比特币相提并论,但情况却有所不同。比特币是一种加密货币和分布式支付网络,允许比特币在用户之间转移。
以太坊项目有更大的目标。正如Ethereum网站所说,“以太坊是一个运行智能合约的分布式平台”。这些智能合约运行在“以太坊虚拟机”上,这是一个由所有运行以太网节点的设备组成的分布式计算网络。
“分布式平台”部分意味着任何人都可以建立并运行以太坊节点,就像任何人都可以运行比特币节点一样。任何想要在节点上运行“智能合约”的人都必须向Ether中的这些节点的运营商付款,这是一个与以太坊相关的加密货币。因此,运行以太网节点的人提供计算能力,并在以太网中获得支付,这与运行比特币节点的人提供哈希能力并以比特币支付的方式类似。
换句话说,虽然比特币仅仅是一个区块链和支付网络,但以太坊是一个分布式计算网络,其区块链可以用于许多其他事情。以太坊白皮书中提供了详细信息。
以太是什么?
以太网是与以太坊区块链相关的数字标记(或者说就是加密货币)。换句话说,以太是代币,以太坊是平台。但是,现在人们经常交替使用这些术语。例如,Coinbase允许你购买以太坊代币(Ethereum),即代表以太币代币。
这在技术上就是“altcoin”,这实际上意味着一个非比特币加密货币。和比特币一样,Ether也受到分布式区块链支持 - 在这种情况下是以太坊区块链。
想要在以太坊区块链上创建应用程序或以太坊 智能合约的开发人员需要以太网代币来支付节点来托管它,而基于以太坊的应用程序的用户可能需要以太网来支付这些应用程序中的服务费用。人们也可以在以太坊网络之外销售服务,并接受以太网支付,或者可以在交易所以现金形式出售以太币代币 - 就像比特币一样。
为什么分布式应用程序有趣?
比特币区块链存储比特币交易的历史,就是这样。以太坊区块链将以太币代币存储在人们的钱包中,但它还存储每个智能合约的最新状态以及每个智能合约的代码。
区块链是存储在多个位置的分布式账本,所以这意味着智能合约数据由那些以太坊节点存储。如果您在区块链上创建“智能合约”(也称为应用程序),则会以分布式的方式进行存储和运行。
为了比较,请考虑我们今天使用的许多应用程序。这包括Gmail等电子邮件应用程序,Microsoft OneNote等笔记记录应用程序,以及使用应用程序并将数据存储在公司服务器上的任何其他应用程序。如果存储数据的公司禁止您的帐户,关闭应用程序或停业,那么除非您有脱机备份副本,否则您将丢失该应用程序中的所有数据。
如果您使用的是构建在以太坊之上的应用程序,组成应用程序的代码(智能合约代码)和个人数据(智能合约的状态)将存储在区块链中。每当您使用应用程序并更改数据时,所有以太坊节点都会更新智能合约的状态。这意味着没有中央“失败点”可能会阻止您访问数据或关闭您使用的应用程序。您的数据和应用程序的代码本身将在全球范围内备份,并且没有人可以将所有这些备忘录脱机。当然,您的数据将通过区块链进行加密,所以没有其他人可以读取它。
什么是智能合约?
智能合约是在以太坊虚拟机上运行的应用程序。这是一个分布的“世界计算机”,计算能力由所有以太坊节点提供。提供计算能力的任何节点都将以Ether数字货币作为资源支付。
他们被命名为智能合约,因为您可以编写满足要求时自动执行的“合同”。
例如,想象一下在以太坊之上建立一个类似Kickstarter的众筹服务。有人可以建立一个以太坊智能合约,将资金汇集到别人身上。这个智能合约可以写成这样的话:当将100,000美元的货币添加到池中时,它将全部发送给收件人。或者,如果一个月内没有达到100,000美元的门槛,所有的货币都将被发回给货币的原始持有人。当然,这将使用以太币代替美元。
这一切都将根据智能合同代码进行,智能合同代码可自动执行交易,而无需可信任的第三方持有货币并签署交易。例如,Kickstarter在5%的付款处理费之上收取5%的费用,这意味着在$ 100,000的众筹项目中将收取8000到10000美元的费用。智能合约不需要向像Kickstarter这样的第三方支付费用。
智能合约可以用于许多不同的事情。开发人员可以创建智能合约,为其他智能合约提供功能,类似于软件库的工作方式。或者,智能合约可以简单地用作应用程序来存储以太坊区块链上的信息。
为了真正执行智能合同代码,有人必须发送足够的以太网代币作为交易费 - 多少取决于所需的计算资源。这为以太坊节点参与并提供计算能力付出了代价。
CryptoKitties使用智能合约
在以太坊网络上使用智能合约构建的最知名的应用之一是CryptoKitties,它自称是“世界上第一款基于区块链技术构建的游戏”。
从本质上讲,CryptoKitties是存储在以太坊区块链中的一种数字“可收集”形式。 CryptoKitties提供了在Ethereum网络上存储和交换数字项目的能力的良好演示。
新的CryptoKitties是通过“繁殖”生成的。这涉及到选择两个基本的CryptoKitties并花费以太币代币运行智能合约。合约使用两只选择的猫来产生新的CryptoKitty。这些小猫和繁殖过程的细节存储在以太坊区块链的公共账本上。
您可以“拥有”CryptoKitties,它们存储在以太坊区块链分类账中。您可以将其出售或交易给其他人,也可以购买。这与使用允许您购买,交易和养殖猫的智能手机应用程序不同。这些通常会存储在应用程序自己的服务器上,如果公司关闭应用程序或禁止您的帐户,则可能会丢失珍贵的数字宠物。但是,因为CryptoKitties存储在区块链中,所以不会发生。没有人能把你的小猫带走。
2017年12月 - 巧合的是,在比特币的历史最高价格附近,人们花费了超过1200万美元的CryptoKitties的Ether费用,而最昂贵的CryptoKitty售价约为12万美元。
像以太网,比特币和昂贵的绘画一样,CryptoKitties值得人们准备为它们付钱。
原文:howtogeek.com/350322/what-is-ethereum-and-what-are-smart-contracts
作者: Chris Hoffman
相关推荐
以太坊智能合约开发环境的搭建是开发基于区块链应用的基础步骤。本文主要针对Linux系统下,使用Truffle 3.0框架与TestRPC进行以太坊智能合约开发的环境配置进行了详细总结。以下是对这些知识点的详细解释: 首先,...
在以太坊平台上,智能合约被编译成字节码,部署在EVM(以太坊虚拟机)上运行,EVM是以太坊网络中用于执行智能合约的虚拟机。开发者可以使用Solidity编写合约代码,然后将其部署到以太坊网络上,之后智能合约会自动...
开发 DApp 时要调用在区块链上的以太坊智能合约,就需要智能合约的 ABI。本文希望更多了解 ABI,如为什么需要 ABI?如何解读 Ethereum 的智能合约 ABI?以及如何取得合约的 ABI? 数字猫合约 ABI ABI(Application ...
0为正常合约 1为庞氏骗局合约 数据集来自Chen W , Zheng Z , Cui J ,et al. Detecting Ponzi Schemes on Ethereum: Towards Healthier Blockchain Technology[C]// the 2018 World Wide Web Conference. 2018:1409–...
本文主要介绍在Ubuntu系统上搭建以太坊开发环境的过程,以及简单的智能合约开发。
尽量通俗易懂,由浅入深的介绍了被称为区块链2.0的以太坊的基本架构和算法,包括MPT树,以太坊数据结构,区块验证机制,智能合约的执行机制等,并且结合了两个简单的智能合约进行了讲解。然后介绍了一些以太坊中出现...
Solidity编程 - 构建以太坊和区块链智能合约的初学者指南
『区块链』从零构建以太坊智能合约到项目实战。里面带有视频和源码
以太坊关于服务验证的智能合约源代码,语言为solidity。
本文将详细介绍以太坊的智能合约:它是什么?它有什么用? 以太坊的智能合约是什么 以太坊的智能合约并非现实中常见的合同,而是存在区块链上,可以被触发执行的一段程序代码,这些代码实现了某种预定的规则,是...
文章目录一、智能合约概述1.1 智能合约是什么1.2 solidity语言二、外部账户调用智能合约三、一个合约调用另一个合约3.1 直接调用3.2 使用address类型的call()函数3.3 代理调用delegatecall()函数3.4 payable3.5 ...
《Solidity编程:构建以太坊和区块链智能合约的初学者指南》_毛明旺等译_2019-01-01
区块链从零构建以太坊(Ethereum)智能合约到项目实战,共25章学习内容
"最新版以太坊源码"是指以太坊项目的最新开发版本,它包含了以太坊网络的核心算法、智能合约执行环境、共识机制、P2P网络协议等关键组件的源代码。对于想要深入理解以太坊工作原理、开发基于以太坊的应用或者对...
网上买的开发以太坊智能合约学习视频,适合小白学习,搁在网盘里没用,删除了又可惜,拿出来分享顺便赚点积分
课程选型原因: 基于以太坊的智能合约开发可以解决各种各样的信任问题.有着非常广泛的应用场景,目前基于以太坊的创业公司众多, 市场招聘量巨大.
毕业设计 基于以太坊的区块链智能合约彩票源码+详细文档+全部资料(高分项目).zip毕业设计 基于以太坊的区块链智能合约彩票源码+详细文档+全部资料(高分项目).zip毕业设计 基于以太坊的区块链智能合约彩票源码+...
智能合约新项目 链上智能合约前端H5源码 智能合约区块链 以太坊前端调用智能合约
这篇文章的目的是成为上述资料的补充,同时介绍一些基本的开发者工具,使入门以太坊,智能合约 以及构建 DApps(decentralized apps, 分布式应用)更加容易。我会试图按照我自己(依然是新手)的理解来 解释工作流程中的...