当前位置: > 快讯 > 正文

什么是以太坊技术|以太坊技术框架

很多人都或多或少听说过以太坊,但是对于以太坊你了解多少?以太坊作为区块链技术2.0,它被称为公链之王(未来可能更有胜者),它的价值来自哪里,与区块链1.0又有什么不同。

自从2008年比特BTC币出现以来,它的存在已经渐渐为一部分人所接受,人们也积极展开了基于BTC的商业应用的思考与开发。但是随着应用的扩展,人们发现BTC的设计只适合虚拟货币场景,由于存在着非图灵完备性、缺少保存状态的账户概念,以及PoW挖矿机制所带来的资源浪费和效率问题,在很多区块链应用场景下并不适用。

因此人们需要一个新的基于区块链的具有图灵完备性、高效共识机制、支持更多应用场景的智能合约开发平台,以太坊在这种情况下应运而生。

以太坊的目的是对脚本、竞争币和链上元协议等概念进行整合和提高,使得开发者能够创建任意的基于共识的、可扩展的、标准化的、图灵完备的、易于开发和协同的应用。

以太坊是一个通用的全球性区块链,可以管理金融和非金融类型应用的状态。以太坊的新颖在于其神奇的计算机网络,它促成了一种新型的软件应用,真正的去中心化应用。将信任逻辑嵌入小程序里,运行在区块链上。而与BTC相比,以太坊建立了一种新的密码学技术基础框架,在其上开发应用更加容易,并对轻客户端友好,同时允许应用共享一个可行的去中心化应用打开了大门。从长远来看,它所带来的改变将影响全球经济和控制结构。

以太坊是个平台和编程语言,包括数字货币以太币(Ether),以及用来构建和发布分布式应用的以太脚本(EtherScript)。

以太币ETH和著名的数字货币比特币BTC有非常多的相似之处。两者均为数字货币且无法伪造,都以去中心化的方式运行来保证货币供应不被某一方所控制。以太坊的另一半重要特性是提供一个完整的编程语言环境,有时也被叫作以太脚本。编程语言是人类用来控制计算机工作的,因此,用任何编程语言写好的指令对计算机来说都是准确无误没有歧义的。

从最底层角度来看,以太坊是一个多层的、基于密码学的开源技术协议。它的不同功能模块通过设计进行了全面的整合,作为一个整体,它是一个创建和部署去中心化应用的综合平台。虽然,以太坊看起来像由多个互相联系的开源项目的构成的混合体,但是它的进化一直被明确目标所引导,所以各个组件可以协同地组装在一起。

以太坊是区块链与智能合约的完美结合,是智能合约的完整解决方案,被设计成了一个通用的去中心化平台,拥有一套完整的、可以扩展其功能的工具,在P2P网络、加密、HttpClient等技术的支持下实现了一个类似于比特币的区块链。它通过工作量证明机制实现共识、由矿工挖矿,通过P2P网络广播协议来实现对区块链的同步等操作。

以太坊不同于比特币的是可以在上面任意编写智能合约,通过智能合约实现强大的功能,实现去中心化应用的开发。在以太坊上部署的智能合约运行在以太坊特有的虚拟机上,通过以太坊虚拟机和RPC接口与底层区块链进行交互。

以太坊技术的9个核心概念

1.以太坊虚拟机:EVM

EVM是以太坊中智能合约的运行环境。它是以太坊项目中的另一个主要创新。它是由许多互相连接的计算机组成的。任何人都可以上传程序,并让这些程序自动执行,同时保证现在和所有以前的每个程序的状态总是公共可见的。

2.以太坊账户

以太坊中有两类账户,它们共用同一个地址空间:外部账户:该类账户被公钥-私钥相对控制;合约账户:该类账户被存储在账户中的代码控制。外部账户的地址是由公钥决定的,合约账户的地址是在创建合约时由合约创建者的地址和该 地址发出过的交易数量计算得到。

两类账户的唯一区别是:外部账户没有代码,人们可以通过创建和签名一笔交易从一个外部账户发送消息。每当合约账户收到一条消息,合约内部的代码就会被激活,允许它对内部存储进行读取、写入、发送其它消息和创建合约。

以太坊的账户包含4个部分:

a.随机数,用于确定每笔交易只能被处理一次的计数器;

b. 账户目前的以太币余额;

c.账户的合约代码(如果有的话);

d.账户的存储(默认为空)。

3.以太坊消息

以太坊的消息在某种程度上类似于比特币的交易,但是两者之间存在3点重要的不同。

1)以太坊的消息可以由外部实体或合约创建,然而比特币的交易只能从外部创建;

2)以太坊消息可以选择包含数据;

3)如果以太坊消息的接收者是合约账户,可以选择进行回应,这意味着以太坊消息也包含函数概念。

4.以太坊交易

以太坊中“交易”是指存在从外部账户发出的消息的签名数据包。交易包含消息的接收者、用于确认发送者的签名、以太坊账户余额、要发送的数据和被称为STARTGAS和GASPRICE的两个数值。为了防止代码出现指数型爆炸和无限循环,每笔交易需要对执行代码所引发的计算步骤做出限制。STARTGAS就是通过需要支付的燃料来对计算步骤进行限制,GASPRICE是每一计算步骤需要支付矿工的燃料价格。

5.燃料Gas

以太坊上的每笔交易都会被收取一定数量的燃料Gas,设置Gas的目的是限制交易执行所需的工作量,同时为交易的执行支付费用。当EVM执行交易时,Gas将按照特定规则被逐渐消耗。Gas价格由交易创建者设置,发送账户需要预付的交易费用=GASPRICE*Gas amount。如果执行结束还有Gas剩余,这些Gas将被返还给发送账户。无论执行到什么位置,一旦Gas被耗尽就会触发一个out-of-gas异常。同时,当前调用帧所做的所有状态修改都将被回滚。

6.存储、主存和栈

每一个账户都有一块永久的内存区域,被称为储存,其形式为Key-value,key和value的长度均为256位。相对于主存和栈,存储的读操作开销较大,一个合约只能对它自己的储存进行读写。

第二个内存区被称为主存。合约执行每次消息调用时都有一块新的被清除过的主存,主存可以按字节寻址,但是读写的最小单位为32字节。操作主存的开销随着主存的增长而变大。

EVM不是基于寄存器的,而是基于栈的虚拟机。所有的计算都是在一个被称为栈的区域内执行。可以把栈里的元素放到存储或者主存中。

7.指令集

EVM的指令集被房间保持在最小规模,以尽可能避免可能导致共识问题的错误。所有的指令都是针对256位这个基本的数据单位进行操作,具备常用的算术、位、逻辑和比较操作,也可以进行条件和无条件跳转。可约可以访问当前的相关属性,比如它的编号和时间戳。

8.消息调用

合约可以通过消息调用的方式来调用其它合约,或者发送以太币到非合约账户,消息调用 和交易非常类似,它们都有一个源,一个目标,数据负载,以太币,Gas和返回数据。事实上每个交易都可以被认为是一个顶层消息调用,这个消息调用会依次产生更多的消息调用。

一个合约可以决定剩余Gas的分配,如果在内部消息调用时发生了out-of-gas异常或者其它异常,合约将得到通知。被调用的合约会拥有崭新的主存,并能够访问调用的负载。

9.代码调用和库

以太坊中存在一种特殊类型的消息调用 ,被称为callcode。它跟消息调用几乎完全一样,只是加载来自目标地址的代码将在发起调用的合约上下文中运行,这意味着一个合约可以在运行时从另外一个地址动态加载代码。存储、当前地址、余额都指向发起调用的合约,只有代码是从被调用地址获取的。这使得Solidity可以实现“库”。可复用的库代码可以应用在一个合约的存储上,可以用来实现复杂的数据结构,从而使智能合约更加的强大。

什么是以太坊?

首先回答您什么是以太坊,以太坊是一种编程的语运卖言也是一个平台,而投资/投机者们所关注的以太坊其实是以太币,也就是由以太坊衍生的一种数字代币——eth以太币(ethereum)以太坊有没有投资前景,我们只需要看它的价值,从几十元到几百元的涨幅之大,且不说未来的泡沫与否,单说这个阶段升值的空间,还是值得大家关注的!以太坊祥好交易平台,目前我推荐btctrade平台(比特币交易网)国内比较靠谱的大的交易平台!2016年就上线了以太坊,币价涨势惊人!以太坊(Ethereum)是将比特币中的一些技术和概念运用于计算领域的一项创新。比特币被认为是一个系统,该系统维护了一个安全地记录了所有比特币账单的共享的账簿。以太坊利用了很多跟比特币类似的机制(比如区块链技术和 P2P 网络),来维护一个共享的计算平台,这个平台可以灵活且安全地旁宴逗运行用户想要的任何程序(当然也包括类似比特币的区块链程序)。

以太坊是什么?

以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币提供去中心化的以太虚拟机来处理点对点合约。以太坊的概念首次在2013至2014年敏蚂间由程序员Vitalik Buterin受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,以太币是市值第二高的加密货币,仅次于比特币。以太坊协议将尽可能简单,即便以某些数据存储和时间上的低效为代价。这将最终有助于降低任何特殊个人或精英团体可能对协议的影响并且推进以太坊作为对所有人开放的协议的应用前景。

扩展资料:

以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块;用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。具体来说,以太坊通过一套图灵完备枯拿掘的脚本语言来建立应用,它类似于汇编语言。直接用汇编语言编程是非常痛苦的;但以太坊里的编程并不需要直接使用没核EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言。参考资料:百度百科--以太坊

以太坊通俗解释

以太坊(Ethereum)是一个建立在区块链技术之上的、图灵完备的去中心化应用平台。它允许任何人在平台中通过智能合约技术开发、部署和使用去中心化应用。有没有感到和 iOS、Android 平台有点类似?在区块链1.0时代,我们如果需要编写区块纤液仔链应用需要先从 Github 上 Download 一份比特币源码,然后修改底层代码如网络埋烂协议、共识机制、加密算法等等,再发布到网络中。2013、2014年的很多山寨币就是这样产生的,改一改比特币的代码,甚至是调整其中的某些参数就造出了一个新的应用、新的币种。而以太坊平台,是对底层区块链技术进行了封装,让区块链应用开发者可以直接基于以太坊毁汪平台进行开发,开发者只需专注于应用本身,而不用关注底层技术的具体实现,从而大大降

发表评论

  • 人参与,条评论

热门阅读

最新文章

取消
扫码支持 支付码