learn in non-consulting way
October 31, 2008
一种完全面向p2p的电子货币系统
采用数字签名解决安全性(SHA256)
解决p2p系统中存在的double-spend攻击问题
一种完全面向P2P的电子货币系统
采用数字签名解决安全性(SHA256)
解决同类系统中存在的double-spend攻击问题
现行在线金融交易体制是以可信的第三方机构(如银行)作为中间人进行各类交易
中间人的信用等级影响了交易的安全性
中间人为交易带来了额外的成本,导致小额交易成本过高
电子货币是完全不依赖第三方的货币持有形式,具有低成本和即时性的特征(举例?)
电子货币的交易支持中心化和去中心化两种形式
当提供“不可逆服务”时,完全“不可逆”的在线支付是不存在的,这样就对商家带来风险(除非使用现金)
为了保证支付的“不可逆”性,交易中心必须付出一定成本(最终将转嫁到使用方),但技术上无法100%避免支付失败的可能(例如Paypal)
点对点交易能够实现完全的“不可逆”支付,而支持P2P的电子货币和现金的效果一致
Byzantine Generals Problem [1982]
Leslie Lamport (1941-), Turing Award 2013
N ≥ 3F + 1
bitcoin网络中的每个节点需要不断地把在网络中接收到的交易打包成block,整个网络大约每10分钟生成一个block,包含时间戳、随机数和上一个block的hash,以及自上一block以来所有发生的交易列表,节点大致的打包算法如下:
1. 验证阶段:需要验证上一block的有效性、block中每笔交易时间戳的有效性以及rPoW证明的有效性
2. 状态转换阶段:以上一block的计算结果作为输入,对当前block的交易列表中的每笔交易依次进行状态转换计算,任何计算出错都退出程序,否则返回结果,并将其作为当前block的最终状态
bitcoin的rPoW证明机制:
bitcoin的rPoW证明机制:
bitcoin的激励机制:
bitcoin的存储优化和简化确认机制:
bitcoin的存储优化和简化确认机制:
账户类型
外部账户(由用户私钥控制)
内部合约账户(由合约代码控制)
账户的构成
随机数,用于确定每笔交易只能被处理一次的计数器
账户目前的以太币余额
账户的合约代码,如果有的话
账户的存储(默认为空)
目前依然是PoW机制
已经在研发PoS,并且计划采用“硬分叉”方式切换至PoS
由于合约语言和Gas的引入,导致区块确认效率低于Bitcoin
采用Patricia Trie对bitcoin的Merkle Tree进行优化,支持插入和删除操作
从图灵完备的角度,理论上任何应用都可以实现
与私有链不同的是,Ethereum是完全的开放式公有链,合约编写者可以发布任何应用到网络中,例如:
任何人可以自由发行货币(彩色币),并制定协作博弈规则以稳定汇价
域名注册系统
去中心化存储,与dropbox相反的是,通过制定某种合约,使用户把数据分散存储在其它节点,同时需要支付一定费用,并且按照合约赎回自身的数据
家庭储蓄帐户(比钱包复杂性高)
各类保险、金融衍生品
续
不需要高级进程间通信的松散云计算场景
点到点的无欺诈赌博
去中心化的网络bbs
提供网页服务
Bitcoin & Virtual currencies
Smart Contract
What's next ?