EfonMark

一番码客 : 挖掘你关心的亮点。
http://www.efonmark.com

本文目录:

[TOC]

image-20191126084023246

区块链的演化[1]

区块链是一种计算机程序,计算机程序由数据结构和算法组成,区块链的演化也即是数据结构和算法的演化。

  • 区块链1.0:比特币。
  • 区块链2.0:以太坊(智能合约)。
  • 区块链3.0:仍未有明确共识,代表有hyperledger,eos等。
区块链1.0 比特币
  • 数据结构
    • 张三
    • 李四
  • 算法(转账)
    • 张三 100 -10 = 90
    • 李四 55 + 10 = 65
  • 世界状态变化
    • 100, 55 → function() → 90,65
区块链2.0 以太坊
  • 数据结构

    • 整形,数组,map,结构体等。
  • 算法(智能合约)

    • 图灵完备虚拟机中执行的函数

      • 图灵完备

        图灵完备是指一个能计算出每个图灵可计算函数(Turing-computable function)的计算系统。或者说,图灵完备使我们的脚本系统有能力解决所有的可计算问题。一方面,它带来了强大的处理能力;另一方面,它也使对脚本的静态分析变为不可能:我们永远也无法知道脚本何时会停止,除非我们真正去执行它。——《中本聪:智能合约?比特币自带》

  • 世界状态变化

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

区块链与分布式技术

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

区块链的分类[2]

根据网络范围,可以划分为公有链、私有链、联盟链。

  • 公有链
    • 所谓公有就是完全对外开放,任何人都可以任意使用,没有权限的设定,也没有身份认证之类,不但可以任意参与使用,而且发生的所有数据都可以任意查看,完全公开透明。
  • 私有链
    • 私有链是与公有链相对的一个概念,所谓私有就是指不对外开放,仅仅在组织内部使用的系统,比如企业的票据管理、账务审计、供应链管理等,或者一些政务管理系统。
  • 联盟链
    • 联盟链的网络范围介于公有链和私有链之间,通常是使用在多个成员角色的环境中,比如银行之间的支付结算、企业之间的物流等,这些场景下往往都是由不同权限的成员参与的。

区块链关键技术

  • 抗抵赖与隐私保护(密码学,hash,数字签名…)

  • 分布式共识:pow,pos,dpos,poe,等等。

    • 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 ,消逝时间证明。

      Intel 公司芯片级别的共识协议, 耗电量少。

主流公链交易性能

  • TPS:Transaction Per Second,每秒交易数。
  • 主链TPS = 区块大小 /(出块间隔*交易字节大小)
公链 当前TPS(2019-11-26) 出块时间 共识算法
BTC 3.6 10min POW
ETH 4.28 15s POW+POS
EOS 30 0.5s DPOS

认识误区

  • 区块链不是比特币,比特币只是区块链的第一个现实应用场景。
  • 区块链不是数据库。
  • 区块链并不是一个颠覆万能的技术。

现有落地产品[3]

根据白皮书原理、协议介绍,可以用多种不同编程语言实现。

  • 比特币
    • 简介: 比特币是一种建立在全球分布式网络上的、没有央行和第三方机构参与发行的、总量固定的加密电子货币。
    • 编程语言:c++
    • 更多信息: https://www.8btc.com/p/bitcoin
  • 以太坊Ethereum
    • 简介:Ethereum(以太坊)是一个平台和一种编程语言,使开发人员能够建立和发布下一代分布式应用。 Ethereum可以用来编程,分散,担保和交易任何事物:投票,域名,金融交易所,众筹,公司管理, 合同和大部分的协议,知识产权,还有得益于硬件集成的智能资产。
    • 编程语言:Java、Python、Rust、Ruby、C++、Go
    • 更多信息: https://www.8btc.com/p/Ethereum
  • Hyperledger
    • 简介:超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同利益体,目标是让成员共同合作,共建开放平台,满足来自多个不同行业各种用户案例,并简化业务流程。由于点对点网络的特性,分布式账本技术是完全共享、透明和去中心化的,故非常适合于在金融行业的应用,以及其他的例如制造、银行、保险、物联网等无数个其他行业。通过创建分布式账本的公开标准,实现虚拟和数字形式的价值交换,例如资产合约、能源交易、结婚证书、能够安全和高效低成本的进行追踪和交易。
    • 编程语言:go、nodejs、python
    • 更多信息:https://www.8btc.com/p/Hyperledger
  • Corda
    • 简介:Corda 是由 R3CEV 推出的一款分布式账本平台,其借鉴了区块链的部分特性,例如 UTXO 模型以及智能合约,但它在本质上又不同于区块链,并非所有人都可以使用这种平台,其面向的是银行间或银行与其商业用户之间的互操作场景。
    • 编程语言:kotlin
    • 更多信息: https://www.8btc.com/p/corda

参考


一番雾语:浑浑噩噩的原因不是因为不够聪明,而是因为接收的无效信息太多,干扰信息太多导致我们头脑一片混沌。


免费知识星球: 一番码客-积累交流
微信公众号:一番码客
微信:Efon-fighting
网站: http://www.efonmark.com

蜀ICP备19039940号

总访问量为