区块链技术

1.技术概要

比特币:去中心化,数据防篡改,固定发行量。

去中心化的交易:用户把交易传到网络,节点拼算力争记账权,节点计算打包全网广播,其
他节点验证后加入自己的区块。

区块链:区块id,前区块id,数据(id由数据生成),一处改后续都改的一个连锁效应。

工作量证明共识机制:修改成本高几乎不可能篡改,51%算力几乎不可能,解决分歧大多数人选择的链。(挖矿:穷举的方式查找符合的区块id)

2.哈希算法

hash算法校验文件与数字签名,区块链使用SHA-256。

比特币中的区块

  • Version: 版本号 4字
  • Previous Block Hash: 前块hash 32字
  • Merkle Root: 交易信息的hash值 32字
  • Timestamp: 区块生成的时间,所有节点时间的中位数 4字
  • Bits: hash生成难度(Difficulty Tagrget) 4字
  • Nonce: 随机值,用于找到满足条件的hash值 4字

六个字段区块头(1M),两次hash值为id,Bits字段控制hash,你通过Nonce找到符合的has值就是挖矿。

Merkle Root: 类似二叉树一样的向上两两Hash,优点:

  1. 数据小尺寸化利于校验整合
  2. 内存开销小提高校验难易度
  3. 小数据片传输提高速度

以太坊有三个Merkle Root树:做交易hash,做只能合约State同步,做交易收据

比特币的交易类型:一笔交易包含大量input和output,没有余额概念可以并行多笔交易,统计UTXO交易记录查币。(整个链走一遍验证你账户上的钱是怎么来的)

3.加密与挖矿

密钥: 非对称加密 公钥 私钥。

签名: 私钥加密Digest(信息的hash)得到签名。

证书: 中间人攻击(偷换公钥),权威机构的私钥加密他的公钥和信息生成证书。你用权威机构的公钥解密证书得到得到他的公钥和签名。

比特币的加密:ECDSA密钥对比技术,用户的公钥为账户
发起交易:A的私钥加密交易信息和地址生成签名,放出交易信息 地址 签名 公钥,等其他人验证。
验证交易:A的公钥解密签名,得到hash,交易信息与自己的地址做hash,看与签名解密的hash是否一致

比特币挖矿:SHA-256(SHA-256 (Block Header)) < Target (确保公式成立)
Target决定了计算出的hash字符串前面有几个零,哈希碰撞。
Bits控制难度系数,每2016个区块调整一次(0越多越难,目前18个0了)全网平均10分钟一块。

挖矿流程

  1. 取得网上区块信息
  2. 获取待记账交易数据
  3. 形成块头
  4. 穷举Nonce(如果有18个零成功,没有则重新开始)
  5. 打包成功广播消息其他矿工验证。

4.去中心化与共识机制

分布式一致性算法: 拜占庭将军问题(一致性问题的虚拟模型):CAP, FLP, DLS

CAP理论:网络阻断时,你只能选择数据的一致性或可用性,两者无法兼得。

FLP:异步环境中,节点网络延迟没上限,只要一个恶意节点存在。

容错上线

  1. 部分同步的网络中协议最多容忍1/3拜占庭故障
  2. 异步网络中具体性质的协议无法容忍任何错误
  3. 同步网络中协议可容忍100%拜占庭故障。超过1/2恶意会有限制条件。

工作量证明机制:

  1. 提高对数据的篡改成本
  2. 提高网络中有不同声音的成本
  3. 解决分歧(算力多的为准,去中心的一致性)。

问题:1.越来越中心化记账了(算力导致) 2.越来越跑不动(验证成本导致)

股权证明协议:押金交的多更有记账权,(那是不中心化更好呢?)1.可以不挖矿 2.博弈论(自己不会把自己干死)

PoS机制潜在的问题:1.两个分支导致没有交易 2.导致双重交易 3.贿赂攻击 4.分叉攻击

DPoS机制:例如EOS代议制选举(贿选?sbtc?)中心化,政治化 演进

分布式系统CAP原则: 一致性,可用性,分区容忍性,只能三选二。问题:1.安全高性能就走中心化架构了 2.去中心安全挖矿了 3.去中心高性能不安全没人用。

5.智能合约

民间担保:中间人可信度
银行资金托管业务:例如房产交易 支付宝
以太坊智能合约:合约代码,链上存储 ,看懂合约,执行合约,交易生成存于链上
合同Bug:很难补救

6.传统金融与虚拟货币

金融本质:促进交易价值提升。1.信任问题 2.资金不足问题 3.大额问题
金融业四个重要属性:1.效率提升 2.价值提升 3.激励机制 4.信息用评级
经济运行原理:交易,借贷,支出变多,一片繁荣,目光短浅,形式很好,更多借贷,买金融品,金融品涨,更多投入,巨大泡沫……
次贷危机
金融监管
虚拟货币:需求提高 降低成本 风控评级 高级赌场?
比特币问题:1.交易成本上升 2.个人无法参与 3.社区利益纷争
功能问题:1.交易时身份验证 2.资金归属 3.损失赔偿
逻辑问题:1.技术驾驭能力 2.比特币颠覆了什么 3.是否取消中间商 4.到公司参与区块链?5.投资人投资去中心化的公司
哲学问题:去中心化就好吗?我们不需要权威机构了吗?技术可以解决信任问题吗?建设性破坏与破坏性建设如何协调?