美文网首页我爱编程
从程序员的角度认识区块链

从程序员的角度认识区块链

作者: 李晏书 | 来源:发表于2018-04-07 11:26 被阅读35次

现在有关区块链的文章铺天盖地的,可真正讲清楚区块链技术底层精髓的设计思路和重点的没有几篇。今天我就从技术上(数据库)的层面说说我的看法(不过是引用别人的观点,表示赞同)

从最本质的功能来看,不管是数据库还是区块链,都是用来存数据的技术。因此,区块链的概念可能引申出了很多商业方面的革新,但是抛开这些上层建筑,从底层地基来看,区块链可以认为是一种特殊的数据库技术。

数据库只是一种用来存储和查询数据的工具,仅此而已。SQL是一种大家用的比较多的手段,而当前除了SQL业界还有NoSQL、NewSQL等一大堆变形。因此,大家先把思路放宽,将“数据库”的概念扩展到一切可以保存与获取数据的机制。

那么来看区块链技术,不管是比特币还是以太坊,或者其他变体,其核心本质都是面向交易业务的数据存储于读取能力。

我们就来说说区块链和数据库技术相通的部分,如果大家了解数据库内核结构,可以看到区块链的核心架构是数据库核心架构一个子集。

区块链的“账本”就相当于数据库的“日志”,数据库是将操作按照顺序写入日志,在区块链里面叫做账本。

区块链技术的设计和机制,与传统数据库的内核理念极为相似。譬如,从其传输和存储的数据结构上来看,区块链的链式结构来源于传统数据库的事务日志。任何数据库的DBA都知道,数据库的事务日志本质上就是不可更改的链式结构,事务中的每一条操作记录都会有一个反向指针指向该事务中的上一条记录。因此,区块链的链式结构本质上脱胎于数据库事务日志,同时增加了区块之间的反向哈希值作为指针,且引入了默克尔树结构进行快速数据校验。

因而,我们可以安全地进行认为:区块链的链式结构在存储体系中等价于数据库的事务日志。本质上数据库的任何操作同样是不可篡改的,只不过当前大部分数据库不会对外暴露事务日志的解析工具,仅保存每一条记录的最终状态而已。

此外,区块链的共识部分也脱胎自数据库的一致性管理机制。比如传统数据库的主从结构(例如IBM DB2的HADR、Oracle的DataGuard)就是在多个节点之间实时复制数据的一种方式。

由于没有足够的认知,所以差异部分将下次介绍。

相关文章

  • 从程序员的角度认识区块链

    现在有关区块链的文章铺天盖地的,可真正讲清楚区块链技术底层精髓的设计思路和重点的没有几篇。今天我就从技术上(数据库...

  • 用Python实现简单的区块链系统

    本篇内容对从技术角度来解释区块链,用Python实现简单的区块链系统,进一步认识区块链的结构与原理。 1、前提条件...

  • 区块链发展历程

    从区块链技术角度出发,在行业发展历程中分为三个阶段区块链1.0、区块链2.0、区块链3.0. 一:区块链1.0 :...

  • 目前的区块链适用于哪些业务场景?

    前言 上一篇从程序员的角度介绍了区块链的一些基础概念和区块链系统的基础功能模块,并介绍了这些功能模块需要实现什么功...

  • 区块链之我见24

    从币到链——区块链能带来什么 谈到区块链,我们就会想到比特币。 从技术角度来看,比特币有三层:区块链、协议以及货币...

  • 区块链时代,如何布局?

    从历史角度看,区块链的意义是什么? 区块链真的会颠覆公司制度吗? 区块链时代如何布局? 区块链技术是一场社会革命,...

  • 从社会历史看区块链共识发展趋势

    共识机制作为区块链的灵魂,维系着区块链世界的正常运转。我们尝试从社会历史角度来看区块链共识的发展趋势。 区块链的共...

  • 区块链、互联网

    社群小讨论:区块链、互联网~~ 1.从区块链角度,互联网产品和区块链产品的差异 区块链最大的特性在去中心化和信任,...

  • 什么是区块链,可能是史上最简单易懂的讲解

    本文从最简单最通俗的角度拆分问题的本质,让区块链在狂欢之后回归到真正存在的意义 一、区块链 = 区块 + 链 1、...

  • 《区块链技术指南》要点摘录及读后感

    区块链技术指南是一本从技术角度讲解区块链的初级入门书,适合对区块链有兴趣、区块链从业人员阅读。其中也涉及了比特币、...

网友评论

    本文标题:从程序员的角度认识区块链

    本文链接:https://www.haomeiwen.com/subject/gtzehftx.html