一. 比特币
(一) 去中心化
- 没有中央服务器; 所有富客户端都需要参与记账,并且存有全部数据;
- 使用共识算法POW明确记账人, 其他节点进行对账确认. 这样可以防止双重支付问题;
(二) 记账
1. 传统的复式记账法(Double Entry Accounting): 借贷必相等
通过设立借方和贷方,区分资产和负债,但资产和负债的每笔项下都相互关联,并最终保证资产负债表的两边能够轧平。复式记账法是以双向冗余的方式来保证每笔正确的记账都在账簿的另一边有对应的来源,并最终确定记账的准确性
缺点:
- 多套账本,不同系统,对账结算复杂;
- 一个系统出问题,影响全部;
2. 三重记账法(Triple Entry Accounting)
通过引入数字加密签名的方式,将进出账行为与外部对手方结合,形成一种交易(Transaction),并引入第三方对交易进行电子签名来加强账目的可信度
操作流程:
付款人A,收款人B,以及一个见证人I,A将一笔钱支付给B,B签收了之后生成一张收据R1表示自己收到了钱,B将R1返还给A,A在上面增加自己的签名成为收据R2完成交易,见证人将收据R2再复制2份,一份自己留存,另一份交给B
账本:
(三) 共识算法
1.工作量证明 POW
- 谁最聪明谁记账
- 工作量证明实际上就是为信息的传递加入了成本,从而降低信息传递的速率,并加入一个随机元素以保证一个时间段内只有一个城邦或者节点可以有权进行信息广播。
2.权益证明 POS
通过保证金(代币、资产、名声等具备价值属性的物品即可)来对赌一个合法的块成为新的区块,收益为抵押资本的利息和交易服务费。提供证明的保证金(例如通过转账货币记录)越多,则获得记账权的概率就越大。合法记账者可以获得收益。
- 谁愿意消费币天数,谁记账
- 权益证明(PoS)所蕴含的概念是区块链应该由那些在其中具有经济利益的人进行保障.
- 币天数代表一个特定的币距最后一次在网络上交易的时间
3.股份授权证明机制 DPOS
股东们投票选出一个董事会,董事会中成员才有权进行代理记账。
(四) 挖矿
- 比特币的本质是一个互相验证的公开记账系统,而挖矿的本质则是在争夺记账权。
- POW:谁最聪明谁记账. 记账人给1BTC和手续费
- 每4年产生的比特币数值会减半,最终比特币的数量会趋近于2100万个
- 哈希计算竞赛:计算非常困难,但验证结果很简单
- 区块链更新的间隔大概是10分钟
- 算法难度每两周调整一次以保证网络一直需要花费10分钟来找到一个有效的哈希值
- 算力民主: 计算力投票机制
- 51%攻击: 任何想隐藏或修改交易数据的行为都会被整个网络否决掉,除非有人有能力修改50%以上用户的账本
(五) 加密算法
私钥+公钥
- 私钥是所有权证明的基础
- 公钥=BTC地址, 开放给所有人, 但是是匿名
- 非对称加密: A私钥+B公钥-->B私钥+A的公钥
- 加密: 1. 数字签名: A使用自己的私钥加密信息; 2.再用B的公钥再次加密
- 解密: 1. B用私钥解密数据; 2. 再用A的公钥解密
默克尔树(又叫哈希树,Merkle树)
- 零知识证明
- 证明所有权: 证明拥有某个帐号
- 部分验证: 必要时只验证需要部分,不透露全部信息
二. 区块链应用
(一) 智能合约
- 代码即法律
- 开放/秘密游戏
(二) ICO
ICO 是 Initial Coin Offering 的简称,顾名思义,是以初始产生的数字加密货币作为回报的一种获取用户支持的方式。
ICO与IPO区别
- IPO是严进宽出,ICO是宽进严出
- ICO把项目划分成很多个阶段
- 每个阶段必须全部投资人投票通过后才能进入下个阶段
- 项目款项也是分阶段发放给项目开发者
- ICO把项目划分成很多个阶段
- 目前ICO基本都是炒币玩家在参与,投资素质相对较高
- ICO筹集的资金将有大部分用于操作本身代币,代币升值空间较大
- ICO从技术层面可以全民参与
(三) DAO
去中心化自治组织(Decentralized Au-tonomous Organization,DAO)
(四) 以太坊
以太坊(Ethereum)目标是打造成一个运行智能合约的去中心化平台(Platform for Smart Contract),平台上的应用按程序设定运行,不存在停机、审查、欺诈、第三方人为干预的可能
以太坊提供了一条公开的区块链,并制定了面向智能合约的一套编程语言。智能合约开发者可以在其上使用官方提供的工具来开发支持以太坊区块链协议的应用(即所谓的 DAPP)
特点
- 单独为智能合约指定编程语言 Solidity;
- 使用了内存需求较高的哈希函数:避免出现算力矿机;
- uncle 块激励机制:降低矿池的优势,减少区块产生间隔为 15 秒;
- 难度调整算法:一定的自动反馈机制;
- gas 限制调整算法:限制代码执行指令数,避免循环攻击;
- 记录当前状态的哈希树的根哈希值到区块:某些情形下实现轻量级客户端;
- 为执行智能合约而设计的简化的虚拟机 EVM。
协议设计
- 核心概念
- EVM:以太坊虚拟机,轻量级虚拟机环境,是以太坊中智能合约的运行环境。
- Account:账户,分两类:合约账户存储执行的合约代码;外部账户为以太币拥有者账户,对应到某公钥。
- Transaction:交易,从一个账户到另一个账户的消息,包括以太币或者合约执行参数。
- Gas:燃料,每执行一条合约指令会消耗一定的燃料,当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。
- 一致性
目前采用了 PoW 作为一致达成保证,未来可能迁移到 PoS 上。
- 降低攻击
- 设计核心思想是通过经济激励机制防止少数人作恶:
- 所有交易都要提供交易费用,避免 DDoS 攻击;
- 程序运行指令数通过 gas 来限制,所消耗的费用超过设定上限时会被取消,避免恶意合约。
- 提高扩展性
以太坊未来希望通过分片机制可以提高整个网络的扩展性。分片之前整个网络的处理取决于单个节点的处理。
分片后,只有同一片内的处理是同步的、一致的,不同分片之间则可以是异步的。
(五) 实际应用
- 去中心化的交易所
- BitShares
- 用户发行资产(User-Issued Assets,UIA)
- UIA本质上是一种注册在平台上的某种凭证,它能够在遵守某些特定要求的情况下在平台上进行交易
- UIA还可以用来作为奖励券、优惠券、第三方货币、信贷、产品收据、众筹凭证、保修凭证,等等。
- 支付结算
- 闪电网络: 加速支付处理速度
- Circle:跨境转账
- 征信和权属管理
- 基于区块链提供数据进行征信管理,将让信用评估的准确率大大提高,并且降低进行评估的成本
- 用于产权、版权等所有权管理和追踪。
- 保全网: 数据保全
- 市场预测
- 赌博
- 其他
- BitShares的SmartCoin: 多种货币间进行对冲,保证某一货币的价值稳定
- 山寨币AltCoin: 800+种