√ 基于区块链应用的实现方式
1. 自己开发一条新的区块链,例如NameCoin
- 优点:被证明是非常成功的
- 缺点:非常难以实现(需要自己独立的区块链;需要测试所有的状态转换函数和节点;根据幂律分布,很多应用小到不需要一条新的区块链)
2. 复用已有的Bitcoin的区块链,例如ColoredCoin
- 优点:非常简单
- 缺点:不具有Bitcoin的SPV特性,某些具有SPV特性的必须要一个公信服务器
3. Bitcoin内置的Smart Contract
- 缺点:缺乏图灵完备性(没有循环)、盲值性(无法决定1000刀到底是多少BTC)、缺乏状态(合约内的UTXO只能是已经转和没转两种状态)、对区块链盲性(无法获取区块的nouce信息等,缺少随机值等特性,无法生成一个博彩软件)
4. 以太坊
- 优点:弥补了Bitcoin内置Smart Contract的缺点
√ 以太坊
以太坊账号(分为外部账号和内部账号,内部账号也就是状态)
- nounce,确保交易只能被处理一次
- ether balance
- contract code
- storage
Messages与Transactions
- Messages类似Transactions,但是有一些区别
- STARTGAS、GASPRICE
- 代码执行(Ethereum virtual machine code以太坊虚拟机代码)
- 32字节的stack
- 无线增长的memory(字符串)
- storage(长期存储,32字节-32字节的键值对,计算完成后memory和stack重置,storage不会)
- 可访问:message、区块头信息
以太坊区块链与比特币区块链的区别
- 以太坊多存储一份所有交易的副本、最近的状态、区块编号、难度
- 以太坊因为存储了一份所有交易的副本,因此不需要区块链历史,可以省下5-20倍的存储空间
以太坊应用
以太坊代币
金融衍生品与稳定价值的代币
- 无法知道代币与法币的价格?找一个可信的第三方如NASDAQ,每次交易的时候查询价格
- 目前最大的问题是代币的价格差距太大,非常不稳定,方法是:(1)银行发布相应法币的代币,你给银行钱,银行给你它的代币,这样就可以把所有传统的法币纳入区块链系统 (2)跟投资者交易
用以太坊实现NameCoin
去中心化Dropbox协议
DAO(去中心化自治组织)
更多的应用:智能钱包、作物保险、去中心化数据支持、智能多签名托管、云计算、点对点博彩、决策商城、链上去中心化商城
GHOST协议
- 引入原因:1.算力的浪费 2.中心化的趋势
- 挖矿的中心化:ASIC、矿区
- 灵活性:以太坊的快速增长->更多的用户选择SPV->中心化