编者按:在加密货币和区块链领域,有一个业内人士常挂在嘴边的新术语:分布式账本技术(简称DLT)。但具有讽刺意味的是,恰恰是比特币和各种区块链试图颠覆的实体们,例如银行,政府和大公司,对分布式账本技术情有独钟,而分布式账本技术和区块链,其实存在很大的差异。

分布式账本技术

分布式分类帐技术或简称DLT,顾名思义是一个未由任何一个中央机构存储或确认的记录数据库。听起来有点像区块链不是吗?但事实并非如此。

在DLT中,实施者可以更好地控制其实际实现方式。原则上,它们可以决定支持其服务的网络的结构,目的和功能。它突然听起来不是很分散,是吗?

也就是说,DLT在技术上是分散的,并且依赖于区块链的类似共识原则。但是,原则上,一个机构控制所谓的分散网络的情况不是分散的 - 至少从意识形态的角度来看。

DLT可以被认为是区块链的第一步,但重要的是它不一定构建一系列区块。相反,有问题的分类帐将存储在许多服务器上,然后进行通信以确保维护最准确和最新的事务记录。

一些赞成DLT优于纯区块链的公司包括谷歌,最近与Digital Asset的合作伙伴关系旨在将DLT工具带给他们的云服务客户。大众汽车此外,它还与IOTA合作,作为“分布式账本技术”的实验。

区块链

另一方面,我们有区块链。区块链实际上是一种分布式分类账,具有非常具体的技术基础。众所周知,它是一个创建一个由分散网络维护的不可更改的记录分类账,所有记录都以协商一致方式获得批准。加密签名和链接分类账中的记录组,形成一个链是区块链与DLT区别开来的原因。此外,根据区块链的具体应用,公众和用户有机会对其结构和运行方式发表意见。

以比特币为例,作为区块链和分散的真实例子。虽然技术及其结构是分散的,但其组织和发展也是如此。在DLT中,技术是分散的,但其企业组织可能不是。

DLT和区块链不是一回事

这里要注意的重要一点是,这些短语和术语不可互换,即使它们可以这样使用。像英格兰银行这样的组织可能会赞成使用DLT来摆脱与区块链相关的炒作和波动。或者出于同样的原因,公司可以使用区块链这个词来利用利息,即使他们提供的东西不是真正的区块链。

DLT与区块链的关系

DLT和传统会计学的技术是吻合的,而区块链倡导的特征是DLT可以实现的。区块链与分布式账本技术的共同点是系统账本是由网络中的多个参与者集体进行校验及维护的,使得账本在网络中的单一参与者被操纵、攻击或失效的情况下依然保持稳定及不可篡改的状态。

人们经常把DLT与区块链混为一谈,其实DLT与区块链并不完全一样,可以认为DLT更为广义。(记账相关的技术对于资产的管理十分关键;而去中心化或多中心化的分布式记账本技术,对于当前开放、多维化的商业模式意义重大。区块链的思想和结构,正是实现这种分布式记账本系统的一种极具可行潜力的技术。)一个DLT是一个共识系统,它复制、共享、同步分布在世界各地的、来自各个组织、网站和机构的数字信息。DLT为实时、安全、高效的数据共享创造了一个健壮良好的环境。区块链则是DLT的一种类型,区块链把数据分成不同的区块,每个区块通过特定的信息链接到上一区块的后面,前后顺连呈现一套完整的数据。每个区块的块头(BlockHeader)包含前一个区块的哈希(PreviousBlock Hash)值,该值是对前区块的块头进行哈希函数计算(HashFunction)而得到。区块之间都会由这样的哈希值与先前的区块环环相扣形成一个链条,如下图所示。

可以说区块链是DLT的一种,也是现阶段获得最多认可的一种方式,但不是唯一的方式。像IOTA就是DLT,但不是区块链技术。它用缠结(Tangle)代替了区块链,使用有向无环图(DAG)的架构,用于创建可扩展的分布式账本,并且没有交易费用。所以,一个系统可能是DLT,但不一定是区块链,而一个区块链都应该是DLT。而从架构上来看,区块链系统简而言之,就是底层的基础层、中间的核心层和服务层,以及上面的用户层,和开发、运营、安全、审计和监管的结合。

第一代区块链是以比特币为代表的。比特币代表了密码学和分布式系统的巅峰之作,除了去中心化的点对点网络和全民记账外,最重要的是工作量证明(PoW)的共识机制和交易验证系统。一是工作量证明,即一方提交已知难以计算但易于验证的计算结果,其他任何人通过验证这个答案就确信证明者已完成大量的计算工作。发行、获得比特币其实是一种对计算工作的奖励,客观上是全网记账,主观上是解SHA256难题,也即挖矿,得到合理的符合要求的区块哈希值(这是一个概率事件,当节点拥有占全网n%的算力时,即有n/100的概率找到区块哈希)才抢到记账权。二是交易验证系统。比特币的交易就是转账,这不是通过账户增减来实现的,而是通过一笔笔关联的输入/输出交易事务,“锁定脚本”和“解锁脚本”实现的,即利用私钥签名解锁自己某一条未花费过的交易输出(UTXO),然后使用对方的公钥锁定新的输出,成功后,这笔新的输出就成为了对方的UTXO。交易确认需要判断输入的地址是否存在余额(所有矿工们都有账本),以及上面附带着输入方对应的电子签名(所有人可以验证是否正确,但无法伪造)是否有效。同时,一个交易直到满足两个条件才能算作确认:一是它存在于最长的分支中的区块里,二是至少有5个验证过的区块在其后得到验证。

第二代区块链由以太坊(Ethereum)创始人Vitalik Buterin在2013年提出,他针对比特币的性能等问题进行改进,主要有以下三个重要贡献:一是把以太坊转型为一个平台,而不只是一个数字货币应用;二是让以太坊拥有完整的账簿,是维护交易历史和账户信息的完整账本,解决了比特币没有账户历史的缺点,这是区块链技术一个很大的进步;三是在以太坊平台上加上“链上代码(Chaincode)”,俗称“智能合约”。第二代区块链提供了区块链平台,二次开发,它同第一代区块链一样,仍是公有链,采用挖矿机制。

第三代区块链的技术正在进展中,这是在全账本和链上代码的基础上采用许可链的设计,具有隐私的完整账本,支持监管。它的设计是一个底层系统而非应用,除了更好地支持二次开发外也支持链上代码,并且采用了很多工程化的方法。

【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同相关推荐

  1. 区块链基础知识系列 第三课 区块链中的默克尔树

    "区块链是实现无中心分布式总账的一种技术.除了采用块.链结构的典型区块链以外,还有其他的方式实现分布式总账这个需求.总账技术的基本单元是'交易',整个账本是由一条条的交易构成.'块'类似于账 ...

  2. [C#基础知识系列]专题十七:深入理解动态类型

    本专题概要: 动态类型介绍 为什么需要动态类型 动态类型的使用 动态类型背后的故事 动态类型的约束 实现动态行为 总结 引言: 终于迎来了我们C# 4中特性了,C# 4主要有两方面的改善--Com 互 ...

  3. 【问链财经-区块链基础知识系列】 第四十一课 中外银行跨境业务运用区块链技术创新案例对比

    中国作为贸易大国,国际贸易和内外贸一体化的市场规模庞大.近年来,随着"走出去"和"一带一路"国家战略的深化,企业层面的跨境支付与结算业务将迎来新的市场契机.加之 ...

  4. 区块链基础知识系列 第二课 区块链共识算法

    共识算法解决的是对某个提案(proposal)大家达成一致意见的过程. PBFT (拜占庭容错)算法 -Fabric 0.6采用 五个阶段:request,预准备(pre-prepare).准备(pr ...

  5. 区块链基础知识系列第5课 Hyperledger fabric1.0网络中transaction产生以及流转过程

    一.发起transaction 当client想要发起一个transaction时,它会首先发送一个PROPOSE消息到它选择的一组endorser节点,消息模式有以下两种,节点可以自由选择(可能有更 ...

  6. 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程

    一.fabric网络结构(暂时不包括CA) 如上图所示,在fabric网络中,O表示Orderer,P代表Peer,EP代表Endorsing Peer(endorser),CC代表Chaincode ...

  7. Linux 基础知识系列第二篇

    精选30+云产品,助力企业轻松上云!>>> Linux 02 今日学习目标 [x] 磁盘管理 [x] 网络管理 [x] 系统管理 [x] 重定向和信息黑洞 学习进度 Linux(11 ...

  8. 区块链需要学习哪些东西_学习区块链需要哪些 这些基础知识要知道

    基于区块链技术未来的发展前景,以及区块链人才的严重紧缺,当前许多人都萌生了自学区块链技术的想法,可是作为一种刚刚兴起几年而已的技术,如何能做到高效地学习呢?掌握合理地方式十分关键,分清主次,紧抓基础是 ...

  9. c#物联网_C# 基础知识系列- 16 开发工具篇

    0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...

最新文章

  1. Echarts 解决饼图文字过长重叠的问题
  2. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)
  3. 【Java代码】实现字符串转数据库的 inStr【使用 JDK8 stream.collect(Collectors.joining(delimiter, prefix, suffix)) 实现】
  4. oracle extract()截取时间值函数
  5. mongo shell连接到mongoDB及shell提示符下执行js脚本
  6. 在统计学中参数的含义是指_《统计学》名词解释及公式
  7. 记录一次线上事故:SparkStreaming 写入 Hive 延迟
  8. Linux设备文件的创建
  9. [bzoj5301][Cqoi2018]异或序列
  10. WiFi mac地址详解
  11. Arm Compiler 5 在 Keil MDK 5.37中不可用
  12. 关键词云图,实现搜索功能
  13. ArrayList集合学生管理系统,java笔试基础题
  14. Rhythmbox乱码的解决办法
  15. 人体捕捉:《SMPL-X》
  16. 如何关闭苹果手机自动扣费_iPhone自动扣费怎么取消?App Store、微信、支付宝关闭自动扣费教程...
  17. 一年中的第几天 哔哩哔哩2020校园招聘笔试题讲解
  18. 4G模组通信配置相关概念及流程
  19. win7各种插件的下载与使用
  20. if中逻辑运算符表达式运行顺序

热门文章

  1. 手动制作python的exe可执行程序
  2. Linux下的图形界面编程
  3. 亡羊补课2019-12-19
  4. 配置nginx/apache的404状态码来申请百度闭站保护
  5. cd库图像处理php,PHP图像处理类库及演示分享
  6. 无监督分类:聚类分析(K均值)
  7. Qt修炼手册11_多线程编程和QThread类
  8. 不使用sprintf函数使用共用体进行STM32单片机通讯解析
  9. 为了输出“,可以使用如下语句print(“““)————(×)
  10. 电路交换网络中,每条电路独占其经过的物理链路。