学习视频来自:北京大学计算机系肖臻区块链学习视频
关于比特币部分的介绍可以看这篇文章
比特币部分01-13
14 ETH 以太坊概述
这节课对以太坊做了概述性的介绍,重点讲述以太坊相比于比特币的重大改进,例如基于ghost协议的共识机制、工作量证明中使用的mining puzzle的设计、智能合约(smart contract)的概念和内涵等。
14.1 BTC与ETH
BTC和ETH为最主要的两种加密货币,BTC称为区块链1.0,以太坊称为区块链2.0。之前文章中提出了比特币设计中存在某些不足,以太坊便对其进行了改进。比特币和以太坊主要区别有以下几点:
- 以太坊的挖矿平均时间是20秒(最新),而比特币是10分钟。更短的挖矿时间更容易主链分叉,而且需要更多的区块确认,该交易才算是安全的交易了,比特币系统建议6个以上的区块确认的交易才是最终的确认的交易。
- 以太币是无限量发行的,挖矿会以通常一致的速度产生新的硬币,在硬叉时期偶尔会发生变化,而比特币则是每4年减半,比特币的总量是2100万。
- 在工作证明方面,采用了ethash算法,降低了专用ASIC在采矿中的优势。
- 交易费用因计算复杂性、带宽使用和存储需求(在一个称为GAS的系统中)而不同,而比特币交易则通过交易大小(以字节为单位)进行竞争。
- 以太坊Gas单位的价格可以在交易中指定。这通常以GWEI为单位进行测量。比特币交易的费用通常以每字节Satoshis为单位。
- 以太币的交易费用通常比比特币低很多。2017年12月,以太币交易费用中位数为0.33美元,比特币交易费用中位数为23美元。
- 以太坊使用的是一种账户系统(状态机),其中wei中的值从账户中借记并贷记到另一个账户中,而比特币的utxo系统更类似于支出现金和接受回报变化。
- 以太坊里面有叔块的概念,对未能成为主链的挖矿成功的区块也有挖矿奖励,相对来说,系统比比特币系统更公平。
- 以太坊最大的区别就是引入了编程上图灵完备的智能合约功能,虽然比特币也支持智能合约脚本的编写,但是这个理念是以太坊的精髓所在,让以太坊不仅仅是投资平台,而提供一种去中心化记账的平台。
14.2智能合约
首先,讨论去中心化货币。货币本身由政府发行,政府公信力为其背书,BTC通过技术手段取代了政府的职能。
现实生活中,我们经常提到“契约”或“合约”。合约的有效性也是需要政府进行维护的,如果产生 纠纷需要针对合法性合同进行判决。ETH的设计目的就是,通过技术手段来实现取代政府对于合约的职能。
那么,去中心化的合约有什么好处?
若合同签署方并非一个国家,没有统一的司法部门(如:众筹)。如果可以编写无法修改的合约,所有人只能按照相关参与方执行,无法违约。
15 ETH账户
本讲介绍以太坊的设计理念、对比了以太坊中account-based ledger与比特币中transaction-based ledger两种方案的优缺点以及由此带来的对double spending等安全攻击的解决方案
15.1 BTC与ETH账户交易
BTC系统是基于交易的账本,系统中并未显示记录账户有多少钱,只能通过UTXO进行推算。优点是隐私保护比较好
。但弊端是使用起来较为别扭,与我们日常生活出入很大。
A转给B钱的时候,需要说明币的来源。实际中只需要存钱说明来源,花钱则不用。此外,账户中的钱在花的时候,必须一次性全部花出去。
如图,B收到A的10个BTC,他想要给C3个BTC,如果按照1中方式,其余7个比特币会以交易费的形式给挖出区块的矿工。
因此,为了避免这种情况,便吸引采用2中方式,将3个BTC转给C,将剩余7个BTC转到自己的另一账户D上面。
Ethereum 采用的是账户模式
,每个地址类似一个银行账户,转入转出记录都在同一个账户上,使用独特的参数Nonce来标记交易的先后顺序,系统中显示记录每个账户以太币的数量,转账是否合法只需要查看转账者账户