维塔利克•布特林在《以太坊白皮书》中对以太坊做了以下说明。

以太坊能够编写任何一种合约,其目的在于为用户提供一种可转换状态的图灵完备(拥有与算法理论中万能计算的图灵机同等的计算能力)的编程语言基础上的区块链。用户可以通过编程,就能够制作出连我们都无法想象的系统。

以太坊最大的特点就是被称为“智能合约”的概念。根据图灵完备的编程语言而书写的智能合约能够在区块链上自由地更换状态。

操作智能合约时有以下三个必要的步骤:

•写编码;

•保存在区块链上;

•发送信息、函数调用。

这里使用的编程语言是类似于JavaScript语言的Solidity、类似于Python语言的Serpent以及类似于Lisp语言的LLL。使用这些语言编写的代码的样本已经在Github上公示,可以自由下载。

另一方面,如果要保存至区块链,就需要将以太坊上的货币“以太”作为费用来支付,因此就需要用自己的密钥进行安全签名。我们从中可以看出,如果要使用目前情况下作为网页应用的以太坊上的各种应用,还存在着一定的障碍。

为了解决这一问题,有人提出了以下两种方案:一种是建议网站根据自身需要提前持有密钥;另一种则是建议将密钥简单地读入浏览器。另外,为了使用上传至区块链上的智能合约,就必须要发送信息。这时候,为了发送信息就需要找到合约被保存的场所(地址),而只要像比特币一样,使用区块浏览器(Block Explorer)就可以查阅合约被存放的地址以及合约的代码。对于已经找到的地址,只要发送信息,无论是谁都可以自由地执行合约。

以太坊的目标

以太坊(Ethereura )的目标是打造一个运行智能合约的去中心化平台 ,平台上的应用按程序设定运行,不存在停机、审查、欺诈及第三方人为干预的可能。智能合约开发者可以在其上使用官方提供的工具,来开发支持以太坊区块链协议的应用(即所谓的DAPP)。

简单来说,以太坊有类似于手机上的安卓系统或iOS系统,而手机上运行的各种应用软件,如微信、美图等都依赖于以上相应的操作系统。

只是当前的操作系统和应用软件背后都是由某些人或者某些人组成的机构所控制的,是中心化的;而以太坊和运行其上的各种应用都是去中心化的,它们在区块链云上自动执行给定协议的条款。

1.以太坊区块链的特点

作为一个可编程、可视化、更易用的区块链,以太坊允许任何人编写智能 合约和发行代币,并有着自己的特点,主要包括:

①单独为智能合约指定编程语言Solidity;

②使用内存需求较高的哈希函数:避免出现算力矿机;

③叔块(Uncle Block )激励机制:降低矿池的优势,使区块产生时间间隔 降低到15秒;

④难度调整算法:一定的自动反馈机制;

⑤Gas限制调整算法:限制代码执行指令数,避免循环攻击;

⑥记录当前状态的哈希树的根哈希值到区块:某些情形下实现轻量级客户端;

⑦为执行智能合约而设计的简化的虚拟机(EVM)。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注