1.区块链技术介绍

1.下一代区块链技术

  说到区块链,大家首先想到的可能就是比特币.比特币( BitCoin) 的概念最初由神秘的作者中本聪在2009年提出.而区块链是比特币的基础技术,中本聪在2008年发布的" Bitcoin: A Peer - to - Peer Electronic Cash Systerm"论文中第一次详细描述它.虽然区块链一词在中中本聪的原始论文中就被多次提及,但是直到近几年,区块链才能真正成为一个通用的术语名词.

 

  那区块链是什么呢?区块链其实是一个分布式的计算网络,这网络中的每一个节点都执行和记录相同的交易事务,这些交易事务最终被归入为一个个区块,一次只能向这个网络中添加一个区块,每个区块都包含了一个数学上的证明,用来确保此次添加的区块和网络中已经添加的区块是处在一个序列里面的.通过这种方式,区块链"分布式数据库" 就能在所有的网路节点中保证数据的一致性.个人与总账的交互由强大的密码保护.在以太坊的协议中,验证和维护这网络的人会有一份奖励.  

这"验证和维护"就是我们平时所熟知的挖矿,"验证和维护这网络的人"就是我们平时所说的矿工,而 "奖励"在比特币中就是指一个比特币令牌.

  

  在比特币中,这分布式的数据库被当做一个存储账户余额的大表,一本总账,交易事务是指为促进个人与个人之间无须信用的金融交易而进行的比特币的令牌转移.但是随着比特币收到越来越多的技术专家的注意,越来越多的新项目开始使用比特币网络,而其目的不仅仅是为了转移比特币令牌.现在,血多山寨币被开发出来,它们都使用了自己独立区块链和加密货币,升级了原始的比特币协议,添加了许多个性化的功能和能力.在2013年,以太坊的发明者 Vitalik Buterin 提出一个可以执行任意复杂运算的区块链技术.

  在2014年,以太坊三个创始人 Vitalik Buterin, Gavin Wood 和 Jeffrey  Wilcke 开始创建下一代区块链平台,一个通用的无须信用的,智能合约平台---以太坊!

  总的来说,以太坊是一个开放的区块链技术平台,在这平台上人们可以编译和使用由区块链技术开发的应用.像比特币一样,它是一个开源的项目,没有人控制或拥有以太坊.但不像比特币的协议,以太坊具有很高的灵活性和适应性,它可以被用来创建各种各样应用.

2.以太坊虚拟机

  以太坊是一个可编程的区块链,它不仅仅是给用户提供了一些预定义操作(如比特币他只能交易),以太坊允许用户创建属于他们自己的任意复杂的操作.以太坊作为一个平台为分散在不同的区块链应用提供服务.

  狭义来说,以太坊是一系列协议,其核心就是一个能执行任何复杂代码的以太坊虚拟机( EVM). 开发着可以仿照 javascript,python 等现有的友好的开发语言来开发能在虚拟机上运行的应用.

  和其他任何的区块链一样,以太坊也包含了一个点对点的网络协议.以太坊的数据库是由链接着这网络的各节点来维护和更新的.网络中的每一个节点都运行着相同的虚拟机,并且执行着相同的指令操作.正因为这个原因,以太坊有时候被称为是一个"世界计算机".

  

 

  以太坊全网的大规模并行计算并不是为了提高运算效率,而是为了保证区块链全网数据的一致性.事实上,这过程使得在以太坊上的运算比传统的电脑慢得多而且要付出更多的代价. 

  全网中的每一台虚拟机的运行都是为确保全网数据的一致性.分散的一致性给予全网极端的容错能力;永不宕机的能力;抗审查能力.并且使得存储在区块链上的数据保持永久改变.

  以太坊框架本身并没有什么特别的功能.就好像程序语言一样,它做什么,都是由企业或者开发者自己来决定的.如,复杂的金融合约的自动化.比特币可以让用户不通过第三方机构,如银行,政府等就可以直接兑换货币.但是以太坊的介入可能会产生更加深远的影响,因为任何复杂的金融操作都是可以自动被执行的.并且可以写成代码在以太坊上运行.当然除了金融外,任何情况下,只要对信用,安全,和持久有极高的要求,比如资产注册登记,投票,管理和物联网等都有可能受到以太坊平台的影响.

3.以太坊账户

  以太坊包含许多类似比特币的功能和技术,同时也做了某些修改和创新.而比特币的区块链纯粹是一个交易链表.

  以太坊的基本单元是账号.以太坊区块链跟踪每一个账号的状态,区块链上所有状态的转移都是账户之间的值(令牌即以太币) 和信息的转移.以太坊有2中账户类型:

  a.外部账号,简称 EOA, 是由私钥来控制的.

  b.合约账户,由合约代码来控制,且只能由一个 EOA 账户来激活.

  对于大多数用户来说,最基本的区别在于,用户掌握着 EOA 账号,因为用户掌握着控制 EOA 账号的私钥.而合约账号由内部程序代码来控制的,当然掌控私钥的 EOA 账户可以通过编写特定的程序代码来掌控合约账户.流行的术语"智能合约" 就是合约账号中的代码,当一个交易被发送到该账户时,合约中的代码就会被执行.用户可以通过把代码部署到区块链中来创建一个新合约.

  合约账户只有在 EOA 账户发出一个指令的时候才会去执行一个操作.所以一个合约账户是不可能自己去执行一个操作的,如生产一个随机数或执行一个 API 调用等,它只有在 EOA 账户作出确认的情况下才会去做这些事情.这是因为以太坊要求节点能够对计算的结果无论对错都达成一致,这就对操作有了一个必定会执行的要求.

  和比特币一样,每次交易,用户都需要支付少许的手续费,这是为了保护以太坊网络免除那些恶意的攻击,比如 DOS 攻击等.交易的发起者,必须为那些被激活的程序的每一步支付一定的费用,包括运算和内存存储.这些费用使用以太坊自己的值,也就是令牌-以太币来支付

  这些交易手续费会被验证这网络的节点收集起来.这些"矿工" 在以太坊网络中收集,传播,验证和执行交易,然后整理归档这些交易,打包成一个区块,与别的矿工竞争将区块添加到区块链中,添加成功的矿工将收到奖励.通过这样的措施,鼓励人们为区块链全网提供更多的硬件和电力支持.

4.以太坊能用来做什么?

  以太坊是一个去中心化的应用平台,其运行的智能合约完全按照程序来运行,不会有任何的审查,欺诈,第三方的干扰和停机的可能性.

  作为一个有想法的区块链开发者,以太坊是一个空白的画布,你可以自由的在上面构建你想要的应用.以太坊的协议是广义的,开发者可以任意组建其应用的核心功能.

  理想情况下,dapp项目(Decentralized,分散的,去中心化的应用程序)可以依靠区块链分散的一致性来为您的客户提供新的产品和新的服务.

5.参考案例

  基于区块链技术的的 CDN

  http://www.blockcdn.org/

  世界上一个基于以太坊的彩票平台

  https://ethereumlottery.net/?p=home

  专门帮助别人快速构建和管理自己区块链应用

  http://blockapps.net/

 

 

 

 

 

 

 

 

 

 

 

 

  

 

转载于:https://www.cnblogs.com/chaoren399/p/7284179.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值