虾说区块链-65-以太坊一
发布:中币网 时间:2018-01-15 11:31:00 加入收藏 打赏
一直在说区块链是一系列技术结合后的新的技术架构,那么这里分别介绍下这些相关技术,也涉及到一些扩展开去的相关内容。
区块链-以太坊一:
以太坊:
Ethereum并不是一个机构,和之前介绍的bitcoin不同,ethereum是一款在区块链上实现智能合约,开源的底层系统。和EOS、bitcoin对比:
Bitcoin是交易型加密数字货币系统用于支付交易。
Ethereum类似现在银行的核心业务系统,基于核心业务系统开发周边交易外围前置。
EOS更类似现在支付宝。
上图中blockchain app platform,说明了以太坊是建立在区块链和数字资产的概念上的一个全新的开放的区块链平台。注意是一个平台,平台提供任何人奖励和通过区块链技术去运行去中心化的应用。以太坊出现也标志着区块链2.0的概念,简而言之,以太坊技术就是区块链技术+智能合约技术。
2013年底,以太坊创始人,Vitalik Buterin(人称V神):
发布了以太坊最初版本的白皮书,2014年中启动项目,2016年技术基本得到了市场认可(这里市场认可的概念,也理解为eth的大涨吧。),技术的认可,吸引了众多项目基于以太坊开发。把以太坊理解为一个平台和一种编程语言,目前开发者基于以太坊开发数百种分布式应用。配合智能合约,以太坊可以用来编程,分散,担保和交易任何事物:投票,域名,金融交易所,众筹,公司管理,合同和大部分的协议,知识产权,还有得益于硬件集成的智能资产。
以太坊是一个平台,这个平台的概念很重要,最初出现的bitcoin,让人们开始关注bitcoin的底层区块链技术,但是bitcoin更多理解为一个分布式的账本,或者简易理解为分布式数据库(区块链和数据库的概念是不同的,需要多方面考虑,之前文章有分析)实现一个bitcoin在区块链上实现货币传输的体系。bitcoin由于其协议扩展性的问题,用户自定义现实社会中的资产,有一定的限制性,同时bitcoin由于其脚本语言缺少图灵完备,故以太坊为了解决上述问题,构建出更好的区块链开发平台。
以太坊设计原则:
http://www.885.com/a/59665.html
简洁原则:以太坊尽可能将协议简单化,即使牺牲了某些存储数据的和时间的效率,也让开发者能完整实现开发说明,该原则降低了任何个人或者团队可能对协议的影响,致力让所有人去影响开发并推进开发协议。添加复杂性的优化原则将不会被接收,除非优化提供了根本的益处。
通用原则:没有特性是以太坊涉及哲学的一个根本部分(其实没有特性也是最大的一个特性),以太坊提供一个内部的图灵完备脚本语言来供用户构建可精确定义的智能合约和交易类型。
模块化原则:以太坊中各个部分,设计为尽可能模块化可拆分,开发过程中,保障在协议分钟做修改该但应用层可不改动正常运行。以太坊的开发原则最大程度做好模块化以保障整个应用生态系统。
无歧视原则:以太坊协议不主动限制或者阻碍特定的应用目的或者用法,所有协议中监管机制应该设计为直接监管危害,不试图反对特定的不受欢迎的应用。
以太坊区块链层的交易:
http://www.360doc.com/content/17/0720/23/34265476_672940504.shtml
之前写过bitcoin的内容,了解bitcoin是以UTXO的结构来进行交易输入输出,通过不断生成UTXO,实现有效的输出。在以太坊中,和bitcoin的UTXO的概念完全不一样,采用state的概念来存储一系列的账户,账户中显示自己的余额、以太坊的特有数据。交易过程中需要支付足够的交易手续费,当然现在很多应用中会发放自身的代币,但是在以太坊中都需要通过支付以太坊的gas作为手续费。只有支付有效的费用,那么交易才有效,交易过程中计算交易数额,相应扣除账户中的资金。同时账户中有执行代码,交易触发代码的执行。完成有效的交易过程。
对比bitcoin和以太坊的交易账户:
UTXO,用户交易的地址变换频繁,那么账户之间的信息不容易被关联,适用于安全性较高的货币系统,但对于DAPP来说不是十分适合,一般DAPP都会追踪客户状态,DAPP多样性不适合关联性困难的架构。UTXO理论上有良好的扩展性,依靠货币的拥有者维护证明货币所有权的merkle树,一旦个人遗忘账户,那么对网络中其他节点不受影响,在以太坊账户中,一旦账户对应的merkle树信息丢失,该账户也无法处理影响他的信息。使用账户的好处:
UTXO转换为账户,信息存在在梅克尔帕特里夏树(一个基于加密学、自动验证防篡改的数据结构,用于存储键值对关系)以太坊的交易比bitcoin要来的小(一台100字节、bitcoin200-250字节),故每次交易只生成一次引用、一次签名、一次输出。
以太坊的编码简单,易于理解,在涉及复杂脚本时候,尽管可以用utxo去实现,通过赋予一个脚本限制给能够使用及请求的utxo的种类的方式来实现。但是和账户相比还是复杂的多。
轻客户端随时通过制定方向扫描状态树来访问和账户相关的所有数据,在utxo上,引用会随着交易的变化而变化,这样对于以utxo根状态传播机制的DAPP来说,相对是繁重多了。
本文由币乎社区(bihu.com)内容支持计划赞助。
来源:
来源:中币网 https://www.zhongbi.net/news/jishu/17207.html 声明:登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。 此文如侵犯到您的合法权益,请联系我们3111859717@qq.com,我们将第一时间处理。