区块链通识


一、什么是区块链

1. 分布式数据库(本质)

每个用户都可以通过合法手段进行读写,不存储于某一辆个特定的服务器或安全节点上,而是分布式地存放于网络上所有的完整节点上,每个节点保留一个备份。

2. 网络底层协议(抽象)

它是一种共识协议,基于这种协议,可以在其上开发出各种应用,这些应用在每一时刻都保存一条最长的、最具权威的、共同认可的数据记录,并遵循共同认可的机制进行无需中间权威仲裁的、直接的、点对点的交互信息。

  • TCP/IP: 数据层,网络层,传输层,应用层
  • 区块链:数据层,网络层,共识层,激励层(Token,通证),合约层,应用层

网卡 -> TCP协议

比特币/以太坊 -> 区块链协议

二、区块链的特点

1. 特点

- 去中心化

所有参与其中的网络节点共同维护,无需中心节点调控。

- 不可篡改

整个链条按照时间顺序和哈希指针链接起来,环环相扣。

- 匿名性

私钥和地址是使用网络的所有条件,无需身份验证。

- 可溯源

所有写入区块的数据需多方验证,公开透明。

2. 不可能三角

安全性、去中心化、高效率

四、区块链的发展

0. 概览

D : 去中心化

APP: 应用

1. V1.0时代(可编程货币)

区块链1.0仅仅是电子货币,可编程货币

特点:

  1. TPS(Transaction per second)低,比特币每秒处理7笔交易,
  2. 基于栈编程,图灵不完备(脚本,无循环语句,不能实现复杂的编程)

2. V2.0时代(可编程金融)

区块链2.0是可编程金融,是经济、市场和金融领域的区块链应用,例如股票、债券、期货、贷款、抵押、产权、智能财产和智能合约。

代表:以太坊(ETH)、小蚁(NEO)、比原(BTM)

特点:处理速度加快,图灵完备(可以用代码实现各种复杂的逻辑)

创始人: V神

3. V3.0时代(可编程社会)

区块链与社会,区块链与各个行业融合:物联网、存储(IPFS)、游戏、区块链+ ,通证经济

代表:柚子(EOS)Enterprise Operation System 、墨客(MOAC)

特点:处理速度快,可达到商用级别

创始人:BM

五、区块链协议层

0. 协议层概览

1. 数据层

包括:区块链数据、链式结构、哈希函数、Merkle树、非对称加密、时间戳。

问题:需要突破的就是区块容量的问题。

比特币:1M容量

比特币现金:BCH:8M

以太坊:gas(汽油),一个区块能够装的汽油量是有限的,每一个交易消耗的汽油不同,这就决定了能够容纳交易的数量。

2. 网络层

P2P网络、传播机制、验证机制(自组网)

3. 共识层

- 共识机制

共识机制是指可以使所有节点对某一种状态达成一致的方式,有共识机制去中心化才有意义,才具备可信度,否则只是数据共享,目前主流的共识机制有:POW、POS、DPOS、==PBFT==等。

- POW(工作量证明)

POW(Proof Of Work,工作量证明),比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件。当节点拥有占全网n%的算力时,该节点即有n/100的概率挖到矿。

* 特点

  • 算一道很难的谜题,系统给予挖矿奖励。

  • 多劳多得【社会主义】。

* 优点

  • 所有节点均可参与,记账权公平的分派到每个节点,去中心化。

  • 多劳多得,矿工积极性高。

  • 安全性高,欺诈成本高,如果能够欺诈成功,那么做诚实节点收益更大。

* 缺点

  • 主流矿池垄断严重(中本聪设想:1CPU 1挖矿),存在51%算力攻击风险。

  • 浪费资源严重(2018年底消耗全球0.5%电量)。

  • 持币人没有话语权,算力决定一切。

  • 网络性能低,共识时间长。

* 项目

  • 比特币、以太坊(pow 后期想要改成pos)、比原链等。

- POS(股权证明)

POS(Proof Of Stake,股权证明),类似于财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。 举个例子,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个POS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(假定利息可理解为年利率5%),那么在这个案例中,利息 = 3000 * 5% / 365 = 0.41个币,持币有利息。具体的利息不同币种不一样。

币:token

持有的天数: 天数

币龄(币天) = 币的数量 * 持有的天数

币龄越大,获得记账权利的几率就越大,记账之后,获得奖励。

奖励 = 币龄* 利息数

获得奖励之后,币龄清零。

* 特点

  • 不挖矿,依靠币龄也叫币天(币持有数量 * 持有天数),币龄越大,获得记账几率越大,利息即为奖励,记账后币龄清零。

  • 按钱分配,钱生钱【资本主义】。

* 优点

  • 在一定程度上缩短了共识达成的时间。

  • 节约资源。

  • 防作弊,币龄越大,获得记账权几率越大、避免51%攻击, 因为攻击会使自己权益受损。

* 缺点

  • 数字货币过于集中化,富者越来越富有,散户参与积极性低。

* 项目

  • ADA等。

- DPOS

比特币,以太坊:矿池垄断了记账机会,

名义上是人人平等,实际上只有少数人记账:3~5矿池

DPOS(Delegated Proof Of Stake, 委托权益证明),它的原理是让每一个持有币的人进行投票,由此产生n个代表 , 我们可以将其理解为n个超级节点或者矿池,这n个超级节点彼此的权利是完全相等的。从某种角度来看,DPOS有点像是议会制度或人民代表大会制度。如果代表不能履行他们的职责(当轮到他们时,没能生成区块),他们会被除名,网络会选出新的超级节点来取代他们。DPOS的出现最主要还是因为矿机的产生,大量的算力在不了解也不关心比特币的人身上,类似演唱会的黄牛,大量囤票而丝毫不关心演唱会的内容。

黄色节点:记账的节点(一把手)

绿色节点:备用节点(二把手,随时准备上位)

蓝色节点:散户,把票投给自己相信的节点(小弟)

当选节点如果作恶,未能履行记账职责,就会被踢掉。

当选的节点要记账,需要提供丰富的网络资源,计算资源。记账有奖励。

奖励来自于系统每年的增发。

EOS引力区

火币

老猫

* 特点

  • 不挖矿,每年按比例增发代币,奖励超级节点。

* 优点

  • 高效、扩展性强

* 缺点

  • 21个节点太少,非去中心化,而是多中心化

* 项目

EOS

- 常见项目共识机制

4. 激励层

发行机制、分配机制

token经济,通证经济

5. 合约层

- 智能合约(以太坊课程重点)

“智能合约”(smart contract)这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克·萨博(Nick Szabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:

“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。”

  • 本质:数字化合同。

  • 特点:代码代替人仲裁和执行合同,同时能够触发支付。

- 普通合约示例

- 智能合约示例

  • 代码化的合同,去除人的主观因素,一个合约写好以后,就无法再被编辑或者修改。因此,你可以保证无论合约的内容是什么,它都会无条件执行。

  • 整个步骤包括: 构建-》存储-》执行

预言机(Oracle):

智能合约就是一个部署在以太坊区块链上的程序

6. 应用层

DAPP,合约调用

六、区块链按应用场景分类

1. 公有链

- 特点

所有人都可以随时自带有的加入和退出,每个节点平等,都有权交易和记账,属于开放式。

- 代表

比特币、以太坊、EOS、NEO、量子链、比原链、井通链。

2. 联盟链

- 特点

仅部分人参与,加入和退出需要授权,选定某些节点为记账人,其他人可以交易,但无记账权,属于半封闭式。

- 代表

R3CEV,全球40多个银行成立的联盟组织,2017年7月成立,共享区块链技术。

IBM farbric项目

Linux基金会发起的超级账本(HyperLedger)项目, 2015年成立, farbric 是子项目。

3. 私有链

- 特点

公司内部使用, 可实现更好的权限控制:管理和审计,属于封闭式。

- 代表

以太坊可以定制自己的私有链、商用区块链链定制。

七、几个概念

1. 分叉

代码升级时不同社区意见发生分歧时的结果、重大bug修复是会分叉。

- 软分叉

旧节点接受新协议产生的区块,毫无感知,新老协议共同维护一条链。

- 硬分叉

硬分叉是指区块格式或交易格式发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。

旧节点拒绝接收新节点创造的区块,从此分裂为两条独立的链

THE DAO事件,以太坊上最大规模的一个众筹项目,被盗了,几千万美金的以太币。

A: 应该接受损失,这是区块链精神。

B: 损失太大,进行回滚。不能因为是区块链就纵容黑客作恶。

案例:以太坊分叉,分为ETC(以太经典),ETH(以太坊v神)

BCH,比特币现金,比特币的分叉币,发展最成功的分叉币,大皇子。

  • 只做现金功能
  • 做智能合约
  • 导致BCH分叉

- 叔块(孤块)

在同一时间出现两个矿工同时挖出矿的情况,此时出现临时的分叉,区块链会同时保留两条链,并等待新生成的区块,新区块选择链接的链就是最长链,即主链,

那么另外一个区块就被称为叔块(以太坊,有奖励)/孤块(比特币,无奖励)

==比特币的孤块是没有奖励的,以太坊是有(叔块)奖励,因为分叉比较频繁(10几秒出一个块)==