“区块链是一个自带对账功能的分布式账本”

 

区块链的演化

区块链1.0 比特币

  • 数据结构
    •   例如:张三100
    •   例如:李四55
  • 算法(转账)
    •   张三100 -10 = 90
    •   李四55 + 10 = 65
  • 世界状态变化
    •   100, 55 function() 90,65

区块链2.0 以太坊(智能合约)

  • 数据结构
    •   开始丰富:整形,数组,map,结构体...
  • 算法(智能合约)
    •   图灵完备虚拟机中执行的函数
  • 世界状态变化
    •   00110011 function() 10110110

区块链3.0 hyperledger

  • 数据结构
    •   任意数据结构
  • 算法(智能合约)
    •   Nodejs , java, go, python编写的chaincode
  • 世界状态变化
    •   00110011 全功能function() 10110110

区块链的分类

  • 公有链 :全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链。
  • 私有链 :其写入权限是由某个组织和机构控制的区块链。参与节点的资格会被严格的限制,由于参与的节点是有限和可控的,因此私有链往往可以有极快的交易速度、更好的隐私保护、更低的交易成本、不容易被恶意攻击、并且能够做到身份认证等金融行业必须                 的要求。
  • 联盟链 :指由若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。


共识协议

  • POW:Proof of Work,工作证明。

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

  • POS:Proof of Stake,股权证明。

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

  • DPOS:Delegated Proof of Stake,委任权益证明

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

  • POE: Proof of elapsed time ,消逝时间证明

区块链适合的场景

  • 有共享通用数据库的需要;
  • 流程设计的参与方存在激励冲突,或者在参与方之间没有信任;
  • 一个数据库有多方参与或者有多个写入者;
  • 现在由受信任的第三方参与流程, 托管服务、数据提供服务、发放牌照的权威以及公证人;
  • 密码学正在被使用或者应当被使用。密码学促进数据保密,数据完整性,权威性以及不可复制性。
  • 一个商业流程的数据在整个流程中被导入许多不同的数据库。
  • 系统中的参与者受到统一的规则制约;
  • 各方的决策是透明的而不是保密的;
  • 有对客观、不可更改的历史或者对各方指定的事实的日志的需求;
  • 交易频次不超过10,000次/秒 (存在对账瓶颈)。

区块链不适合的应用场景

  • 业务场景涉及机密数据
  • 业务过程存储大量的静态数据,或者数据非常大
  • 交易规则经常变化
  • 使用外部或者三方服务来收集/存储数据

是否需要区块链,可以看如下图,任意一个规则不满足,那么并不需要区块链

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!