区块链及其数据溯源

  • Ⅰ、区块链的介绍
    • 1.区块链本质
    • 2.四个方面
      • 一、数据结构
      • 二、数据备份
      • 三、POW(工作量证明)
      • 四、时间戳(timestamp)
    • 3.区块链的四个核心技术
      • 一、分布式账本
      • 二、非对称加密
      • 三、共识机制
      • 四、智能合约
  • Ⅱ、区块链溯源
    • 1.类别
      • 一、公有链溯源
      • 二、联盟链溯源
      • 三、私有链溯源
    • 2.区块链溯源核心技术
      • 一、区块+链,实现数据可追溯,且不可篡改
      • 二、分布式结构,实现去中心化,信息受多方监督
      • 三、非对称加密算法,保证了链上信息的安全

Ⅰ、区块链的介绍

1.区块链本质

  区块链本质上是一个去中心化的分布式存储数据库,它打破了中心化机构授信,通过数据协议、加密算法、共识机制,点对点地传输到这个区块中的所有其他节点,从而构建一种去中心化、不可篡改、安全可验证的数据库,建立一种新的信任体系。
  下面我们一起从数据结构、备份,POW(工作量证明)、时间戳(timestamp)四个方面来介绍区块链。

2.四个方面

一、数据结构

  区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。区块被从后向前有序地链接在这个链条,每个区块都指向前一个区块。其实它就是链表(文档)。就像是一份PDF电子文档,其每一页都有「页码编号」,以保持字句及章节的有序性。只是区块链中的“页码”比较特殊,当前页的页码是上一页「内容的指纹」,因此修改任何一页的内容,都会导致后一页的页码不能与之对应。因此链式结构的有序数据集具备了一定的「自校验功能」,或者一定程度上的「防篡改功能(tamper-proof)」,但链式结构并不能防止最新的若干个区块被删除。

  区块链的设计中还引入了树状结构(比如Merkle Tree)与图状结构(DAG),其本质都是让数据自身含有严谨的结构,可以被工具软件识别处理。这一点很像我们听到一段声音,我们能分辨出是音乐,或是噪音,我们近距离观察一个物体,我们能分辨出是人造物,或者是自然物。

二、数据备份

  区块链是由连接其中的所有电脑共同维护的,对于已经产生的区块,所有连接进来的电脑都有一份完整的区块链备份记录。仅仅让账本数据自身具备特殊的结构,做的还不够。若将同一份账本数据复制给跨越地域及文化界线的多个人存储起来,并且这些人之间不需要预先建立任何信任关系,则在最大程度上保障了账本数据的安全,也就是所谓的「去中心化存储」。

  账本数据分布的越广泛,备份节点越多,则越安全,反之则容易被摧毁。除了账本数据之外,人们还在积极探索通用数据的去中心化存储及访问取回,IPFS就是一个示范项目。

三、POW(工作量证明)

  工作量证明系统主要特征是客户端需要做一定难度的工作得出一个结果,验证方却很容易通过结果来检查出客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中的,对于验证方则是易于验证的。它与验证码不同,验证码的设计出发点是易于被人类解决而不易被计算机解决。
  POW (工作证明) 简单理解就是一份证明,用来确认你做过一定量的工作。

  对于 pow(工作量证明)这个词汇,人们比较熟悉了,而从自然语言的使用角度来看,对于特别熟悉的词汇,人们往往不会做深入的思考。人们看到、听到、说到 pow 这个词时,可能会立即想到“挖矿”、“算力”、“耗电”、“共识”等诸多概念,但也许很难想到,pow铸造出的账本,其实表达了一段难以磨灭的工作历史。pow 就像一个带有喷漆功能的车轮,被其碾压过的路面,必将留下车辙印记。账本中的每一个区块都需要付出制造代价,这些代价见证了真实的历史痕迹,若想伪造出另一份有竞争力的不同账本,就得付出同量级的制造代价。理解了这一点,就不难明白BCH-ABC、BCH-SV、BTC三套账本之间的本质区别:铸造难度相差悬殊,所以BTC仍然是BTC。耗费巨量算力创造的历史最难被伪造或篡改,这是PoW和PoC(Capacity,存储容量证明)、PoS、DPoS等共识算法的本质区别。

四、时间戳(timestamp)

  时间戳(timestamp),百度百科这样解释:一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。使用数字签名技术产生的数据, 签名的对象包括了原始文件信息、 签名参数、 签名时间等信息。广泛的运用在知识产权保护、 合同签字、 金融帐务、 电子报价投标、 股票交易等方面。

  区块链在P2P网络上通过节点间的共识算法实现了一个分布式的时间戳服务。
  区块链是在时间上有序的、由记录块(区块)组成的一根链条。一个区块包含两个部分:区块头(Block Header)和记录部分;区块中的所有记录通过默克尔树(Merkle Tree)组织起来,默克尔树根(Root)的哈希值做为本区块里所有记录的数字指纹被放入区块头。
  时间戳的设计,使得更改一条记录的困难程度按时间的指数倍增加,越老的记录越难更改。这是因为,如果改动某个区块里的一条记录,意味着该区块原来的默克尔树根失效了,需要改动区块头,该区块的数字指纹随之失效。又由于下一个区块的区块头包含这个哈希指针,这就意味着下一个区块也需要改动。如此直到最新的那个区块。

  每条数据都带有一个真实可信的时间戳(这条数据产生的真实时间点),这样造假行为就比较难奏效,因为假数据的时间戳一般都是最近的 。

  区块链的核心优势在于其去中心化的特质,指在该数据库可以看作一张巨大的可交互电子表格,所有参与者都可以进行访问和更新,并确认其中的数据是真实可靠的。区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统结构。
  区块链的数据同时存储于去中心化系统的所有节点上,即使部分节点失效,只要仍存在一个正常运行的节点,区块链主链数据就可完全恢复而不会影响后续区块数据的记录与更新.
  关于区块链数据的维护(这里指的皆是公有链),区块链系统采用特定的经济激励机制,保证分布式系统中所有节点均可参与数据区块的验证过程(如比特币的“挖矿”过程),并通过共识算法来选择特定的节点将新区块添加到区块链,该数据库是由所有的网络节点所共享,并由数据库的运营者进行更新,同时也受到全民的监管。
  此外,区块链的数据安全基于非对称密码学原理对数据进行的加密,同时借助分布式系统各节点的工作量证明等共识算法形成的强大算力来抵御外部攻击,如果希望能够修改区块链数据则意味着需要拥有51%全节点算力,保证了区块链数据不可篡改和不可伪造,因而具有较高的安全性。

3.区块链的四个核心技术

一、分布式账本

  分布式账本(Distributed ledger) 是一种在网络成员之间共享、复制和同步的数据库,指的是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
  跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性 。

二、非对称加密

  存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私 。

三、共识机制

  共识机制就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡 。
  区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能 。

四、智能合约

  智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。因此,笔者认为利用区块链技术,从数据管理的角度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督。

首先,分布式账本是区块链的基础结构,它构建了区块链的框架,它本质是一个分布式数据库,当一笔数据产生后,经大家处理,就会储存在这个数据库里面,所以分布式账本在区块链中起到了数据储存的作用。
其次,因为分布式账本去中心化的特点,决定了区块链网络是一个分布式的结构,每个人都可以自由地加入其中,共同参与数据的记录。但与此同时,也就有了出来了令人头疼的“拜占庭将军问题”,即网络中参与的人数越多,全网也就越难以达成统一。在互联网大背景下,当需要与不熟悉的对方进行价值交换活动时,人们如何才能防止不会被其中的恶意破坏者欺骗、迷惑从而作出错误的决策。于是就需要另一套机制来协调全节点账目保持一致,共识机制就出现了,它制定了一套规则,明确每个人处理数据的途径,并通过争夺记账权的方式来完节点间的意见统一,最后谁取得记账权,全网就用谁处理的数据。所以共识机制在区块链中起到了统筹节点行为、明确数据处理的作用。
然后,数据进入分布式数据库中,也不是单纯地进来就没事了,底层的数据构架是由区块链密码学来决定的。打包好的数据块,会通过密码学中的哈希函数处理成一个链式的结构,后一个区块包含前一个区块的哈希值,因为哈希算法具备单向性、抗篡改等特点,所以只要在区块链网络中,数据一旦上链就不可篡改、且可追溯。他是一种特殊的加密和解密技术主要起到了维护数据安全和数据证明的作用,有了它,我们才能在网络中证明我是我,才能证明这是我的比特币,而不是你的比特币。
最后,可以在分布式账本的基础上,搭建应用层面的智能合约,当我们想要解决一些信任问题,可以通过智能合约,将用户之间的约定由代码的形式,将条件罗列清楚,并通过程序来执行,而区块链中的数据,则可以通过智能合约进行调用。所以智能合约在区块链中起到了数据的执行与应用的功能
所以当一笔数据产生后,会有共识机制进行数据维护,通过分布式储存记录在链上,然后将有智能合约去执行,最后由密码学保障整个体系的安全,大家各司其职,共同构建出了整个区块链系统。
总的来说,区块链就像是一个数据传输的应用模型,由这四种技术所构成,就好比区块链是一座高楼大厦,而技术则是搭建这所高楼的材料,正是因为有这些技术作为基础。解决了一个又一个问题,才有了区块链的广阔前景,相信随着时代的发展,技术会逐渐成熟。

  区块链技术只能保证输入的数据不被窜改,但是并不能不能保证输入的数据的真实性。

Ⅱ、区块链溯源

1.类别

  区块链溯源是指利用区块链技术,通过其独特的、不可篡改的分布式账本记录特性与物联网等技术相结合,对商品实现从源头的信息采集记录、原料来源追溯、生产过程、加工环节、仓储信息、检验批次、物流周转,到第三方质检、海关出入境、防伪鉴证的全程可追溯。
  区块链利用时间戳、共识机制等技术手段实现了数据的不可篡改和追本溯源等功能,给跨机构溯源体系的建立提供了技术支撑。同时把第三方监督机构与消费者纳入监督体系中,打破了信息孤岛,提供了信息支持,在一定程度上实现了生产流程透明。区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统结构。根据区块链类型的不同,区块链溯源可分为公有链溯源、联盟链溯源、私有链溯源。

一、公有链溯源

  公有链是指全世界任何人都可读取、发送交易,且交易能获得有效确认的、也可以参与其中共识过程的区块链。公有链溯源过程中,产品质量受到各个节点的监督。供应链的相关参与方把所有的商品信息记录到公有链上。所有节点通过共识机制进行信息确认,并获得数字货币奖励。

二、联盟链溯源

  联盟链是指由某个特定群体的成员和有限的第三方参与区块生成及节点验证的区块链。其内部指定多个预选节点为记账人,每个块的生成由预选节点共同决定,具有弱中心化的特征。采用联盟链进行区块链溯源是一种应用比较多的技术手段。它通过供应链的各个重要节点的交叉验证来保证信息的真实性,从而实现商品信息的可追溯、可查询、可验伪。

三、私有链溯源

  私有链是指区块链的写入权限仅掌握在某个人或某个组织手中,数据的访问以及编写等有着十分严格的权限。私有链进行商品溯源的模式是指可以由第三方监督机构掌握信息验证的权力,从而保证信息的真实性。由于企业与顾客都缺乏上链动力,目前没有关于私有链溯源的应用。

2.区块链溯源核心技术

区块链溯源核心技术主要包括以下三点:

一、区块+链,实现数据可追溯,且不可篡改

  在区块链技术中,数据以电子记录的形式被永久储存下来,并按照时间顺序生成。这些电子记录就叫做区块。区块链就是区块以链的方式组合在一起,以这种方式形成的数据库被称之为区块链数据库。
  区块结构有两个非常重要的特点,第一,每一个区块上记录的交易是上一个区块形成之后、该区块被创建前发生的所有价值交换活动,该特点保证了数据库的完整性;第二,在绝大多数情况下,一旦新区块完成后被加入到区块链,则此区块的数据记录就再也不能被改变或删除,该特点保证了数据库的严谨性和真实性,即无法被篡改。
  区块链提供了数据库内每一笔数据的查找功能。区块链上的每一条交易数据,都可以通过“区块链”的结构追本溯源,一笔一笔进行验证。区块+链=时间戳,这是区块链数据库的最大创新点。区块链数据库让全网的记录者在每一个区块中都盖上一个时间戳来记账,表示这个信息是这个时间写入的,形成了一个不可篡改、不可伪造的数据库。

二、分布式结构,实现去中心化,信息受多方监督

  现如今中心化的体系中,数据都是集中记录并存储于中央电脑上,中心节点存在篡改数据、造假的可能。但是区块链结构设计通过构建一整套协议机制,把数据存储在每一个参与数据交易的节点上,且参与节点都会记录结果并进行验证,保证了存储数据受多方监督和上链信息的真实性。

三、非对称加密算法,保证了链上信息的安全

  区块链系统内,所有权验证机制的基础是非对称加密算法。非对称密钥也叫公开密钥加密,它是用两个与数学相关的密钥对信息进行编码。
  在此系统中,其中一个密钥叫公开密钥,可随意发给期望同密钥持有者进行安全通信的人。公开密钥用于对信息加密。第二个密钥是私有密钥,属于密钥持有者,持有者需要仔细保存私有密钥。密钥持有者用私有密钥对收到的信息进行解密。
  传输信息的一方可以用来对明文进行加密,密文只能由私钥进行解密。非对称加密主要基于运算的不可逆原理,大大提高了信息传输的安全性。

关于区块链及其数据溯源的学习笔记相关推荐

  1. 《区块链原理与技术》学习笔记(六) — 区块链安全

    <区块链原理与技术>学习笔记 第六部分 四.区块链网络层 1. 网络层安全 1.1 分布式拒绝服务攻击(DDos) 1.2 延展性攻击 1.3 日蚀攻击 1.4 分割攻击 1.5 延迟攻击 ...

  2. java以太坊源码分析_以太坊区块链Java(EthereumJ)学习笔记:区块链结构-Go语言中文社区...

    本文对EthereumJ的区块链相关的代码做一个简单的介绍. 以太坊区块链 以太坊区块链是在Bitcoin区块链的基础上发展起来的.区块链的数据结构既保留了Bitcoin区块链验证数据的真实性和完整性 ...

  3. 【区块链2.0 以太坊学习笔记1】第一个solidity程序与整型/bool型基本运算

    Hint:此系列学习笔记为准备毕设期间学习记录所书,有任何疑问,欢迎一起讨论 学习资料及工具推荐 Solidity IDE Remix(在线浏览器编辑器) 关于此在线ide的使用介绍,可以参考这里 B ...

  4. 以太坊区块链Java(EthereumJ)学习笔记:概述

    本系列文章介绍以太坊区块链基于Java语言的解决方案.通过介绍EthereumJ定义的主要模块和Class,希望为大家学习和使用EthereumJ提供一些帮助. 整体架构 以太坊的Java解决方案主要 ...

  5. 《区块链技术与应用》学习笔记10——ETH数据结构

    在以太坊中,有三棵树的说法,分别是状态数.收据树和交易树. 一.引入 我们要实现从账户地址到账户状态的映射.在以太坊中,账户地址为160位,表示为40个16进制数.状态包含了余额(alance).交易 ...

  6. 区块链在数据流通中的应用

    区块链在数据流通中的应用 闫树,卿苏德,魏凯 中国信息通信研究院,北京 100191 摘要:大数据的流通是创造数据价值的关键一环,然而目前数据流通面临着诸多问题.区块链是一种分布式账本技术,具有去中心 ...

  7. AI:一个20年程序猿的学习资料大全—区块链/大数据/数据集/云计算/前沿大会资料——只有你不想要的,没有你找不到的

    AI:一个20年程序猿的学习资料大全-区块链/大数据/数据集/云计算/前沿大会资料--只有你不想要的,没有你找不到的 目录 区块链 ​​​大数据资料 数据集 云计算资料 前沿大会资料报告​ 相关文章 ...

  8. 区块链相关数据报表_区块链行业数据统计

    区块链是一种可信的数据处理和存储技术,全球以提供区块链技术或服务为主营业务的公司为主.截止2020年1月,全球区块链市场规模达37104亿美元,信息与通信领域占比30.7%,底层技术与基础设施占比25 ...

  9. 链上天眼2.0版本上线,欧科云链深耕区块链大数据产业成绩斐然

    4 月 21 日,欧科云链发布了面向全体用户的链上天眼2.0版本.链上天眼是欧科云链在2020年9月发布的一款链上数据监测和交易行为可视化工具,专注于链上数据的追踪和监控,提供交易图谱.地址查询和地址 ...

  10. 技术推动产业变革 京东万象通过区块链解决数据流通顽疾

    对于政府来说,数据流通该不该管,谁来管,怎么管? 对于数据源提供者来说,经济效益不明显,维权困难: 对于购买者来说,所买数据是否合法,数据质量如何,价格是否合理? 数据交易是否是个人信息的倒买倒卖行为 ...

最新文章

  1. Python:在列表中查找
  2. python软件是免费的吗-python软件都是免费的吗
  3. 洛谷 P2296 寻找道路
  4. 《ArcGis地图数据资料》(DataMap)ArcGis 9.0
  5. MacBook Pro macOS 安装 Linux 双系统教程(一)
  6. 软件测试个人求职简历该怎么写,模板在这里
  7. hive sql 日期格式转换
  8. Python3爬取淘宝网商品数据
  9. 等额本息房贷月供计算
  10. 再见了繁琐的Excel,掌握数据分析处理技术就靠它了
  11. int类型整数的表示范围
  12. Linux操作系统下的权限设置
  13. Shell进阶(三) 交互式脚本 函数 数组 分片 字符串处理
  14. Windows下使用pip时出现TSL/SSL错误解决方案
  15. 浅谈border-radius对border的影响
  16. 通过CMD启动MATLAB的同时运行M脚本
  17. 基于JAVA-游戏账号交易平台-演示录像-计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  18. Tomcat禁止打印日志
  19. 大话存储-学习总结-4-磁盘阵列以及存储系统(DAS、SAN和NAS)
  20. C#:100以内能被7整除的最大自然数

热门文章

  1. short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
  2. 批量将B站学习视频以MP4格式下载到本地
  3. [深入研究4G/5G/6G专题-58]: - L3信令控制-7-关键概念和常见问题之信道、UE 上下文, RRC连接,SRB0/1/2, DRB Bear。
  4. 报道|香港科大校友“盐马行”活动成功举办
  5. (Android) 如何使用HOOK实现动态注入以及自动化操作
  6. c语言 char * 遍历,使用指针遍历char数组
  7. 亿阳信通:结盟微软深化四轮驱动战略
  8. 中国信息消费产业前景动态及未来发展趋势预测报告(2022-2027年)
  9. 使用 zsh 后HOME/END 键以及小键盘失效
  10. 由于启用计算机,win10由于启动计算机时出现了页面文件配置问题的详细解决方案...