3分钟带你了解以太坊智能合约!

 

 

区块链被认为是互联网诞生以来最为颠覆性的技术它的魅力为何如此迷人?让很多人觉得无法理解。在区块链领域中,随着区块链的粉丝们经常提到以太坊和智能合约,那以太坊到底是什么呢?

以太坊的智能合约是什么?

以太坊的智能合约并非现实中常见的合同,而是存在区块链上,可以被触发执行的一段程序代码,这些代码实现了某种预定的规则,是存在于以太坊执行环境中的“自治代理”。

以太坊智能合约有四个目的:存储和维护数据、管理不可信用户之间的合约/关系、作为软件库为其他合约提供函、支持复杂权限管理。大家看其实很通用,并没有针对某些特定的应用做优化,并且以上特性可以组合使用。这是以太坊一直坚持的,做一个最基本、对代码执行机制的支持。

以太坊发行自己的货币——以太币,用于调整激励机制,来奖励给寻找区块的矿工。以太坊与比特币相比,主要存在以下四点区别:  

一、以太坊基于账户,而比特币基于UTXO(未花费输出);

二、以太坊图灵完备的脚本语言比比特币更强大,支持智能合约运行;

三、以太币的发行不是主要目的,是智能合约品台激励调整机制的副产品;

四、以太坊计划在不久的将来过渡至PoS(权益证明),比特币仍然停留在PoW(工作量证明)上。

那么,智能合约如何执行呢?在以太坊中,所有账户加在一起就是整个网络状态,每个网络状态由每个区块更新,区块可看成是一个状态转移的函数,是状态发生的变化,所有账户与网络、其他账户、其他合约和合约状态之间的交互都通过“交易”进行。

以太坊白皮书上有一个非常简单的事例,就是代币系统,是只包含操作(send)的数据库,保证Alice有足够的钱,并且发起了交易,很简单几行代码完成了转帐操作。

还有一些类似的公共注册,像常用的DNS系统,中间有很多的安全问题,包括到底谁有DNS控制权,大家争论了很久,其实这种问题完全可以用以太坊实现:把一个名字注册到一个地址,这个地址很容易放在链上,大家需要的时候可以上链上查找,像区块链这样的平台很适合DNS公共查找基础平台。

此外,任何公共分布式数据存储都可以考虑智能合约解决方案。传统分布式数据库分为两种:物理分布式逻辑集中式、物理和逻辑上都是分布式,但实现难题在于数据一致性、不同分区之间的可靠性、数据读写操作的权限等。如果换一个思路,通过智能合约,其实可以有一个新的路径让底层区块链的共识算法保证数据的一致性,数据可靠性也不依赖于单点稳定性,单点的崩溃不会造成全网数据的丢失,智能合约严格传递了权限,操作的结果在全网进行记录。但性能问题目前未达成共识,目前只适用于关键数据上链,不适用过大的存储体积和过高的交易吞吐。

 

 

 

 

—————————————

You may also like

Page 1 of 40

Leave a reply

Your email address will not be published. Required fields are marked *