区块链简介

    区块链简介
        区块链的概念
        区块链的发展历史
        区块链的特点
        区块链的结构
        区块链的应用
        参考文献

区块链简介

区块链(blockchain)作为比特币的底层技术受到了越来越多的关注,其去中心化的分布式数据库存储结构有着广阔的应用场景。本文从一下五个方面介绍一下区块链技术:

        区块链的概念
        区块链的发展历史
        区块链的特点
        区块链的结构
        区块链的应用

1. 区块链的概念

狭义上讲,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学的方式保证其不可篡改、不可伪造的去中心化共享总账(Decentralized Shared Ledger),能够安全存储简单的、有先后关系、 能在系统内验证的数据。[1]

    简单的讲,区块链就是一个去中心化的分布式数据库,分布式环境中的每一个节点都不能保证可信。数据库中存储的是以时间先后顺序排列的数据区块,每一个区块中保存的是若干条交易记录,运用密码学的方法生成区块以保证其中数据不可篡改、不可伪造、可以验证;以共识算法使全网所有节点(理论上是所有节点)完成对区块的认可。

广义上讲,区块链技术是利用加密链式区块结构来验证和存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来编程和操作数据的一种全新的去中心化基础架构和分布式计算范式。[2]
2. 区块链的发展历史

区块链技术脱胎于比特币,在中本聪2008年发表的《比特币:一种点对点的电子现金系统中》一文中,区块(Block)和链(Chain)作为比特币系统的核心技术被提出来。区块链发展至今可分为3个阶段[3]:

    第一阶段:区块链1.0 —— 数字货币
    最具有代表意义的就是比特币了,其以区块链作为底层技术,是区块俩最初始的应用。
    第二阶段:区块链2.0 —— 数字资产和智能合约
    代表产品有2014年7月的Ethereum(以太坊),其将智能合约理念推进到了极致,还有2015年3月的Factom(公正通)以及国内的太一系统等。
    第三阶段:区块链3.0 —— DAO、DAC → 区块链大社会
    DAO、DAC指区块链自治组织、区块链自治公司。这一阶段是区块链技术广泛应用于人们生活和生产的各个方面,区块链被人们广泛接受,比如区块链应用于能源互联网的能源区块链,区块链应用于医疗事业的医疗区块链等等

3. 区块链的特点

1. 去中心化

    区块链是一种分布式数据存储结构,没有中心节点,所有节点都保存全部的相同的区块信息,完全实现去中心化。对于特殊的应用场景,可以适当地采用弱中心化的管理节点,即中心节点不影响整个区块链结构的运行,比如弱中心化的监管机制;若从安全角度来说,弱中心化结构中的中心节点要满足对于区块链的安全不构成威胁,对用户隐私不构成威胁等。

2. 不可篡改性

    一方面,区块链中存储的交易信息每一条都有相对应的Hash值,由每一条记录的Hash值作为叶子节点生成二叉Merkle树,Merkle树的根节点(Hash值)保存在本区块的块头部分,区块头部除了当前区块的Merkle树的根节点,还要保存时间戳以及前一个区块的标识符(Hash指针)形成一条链式结构。因此,要想篡改区块链中的一条记录,不仅要修改本区块的Hash值,还要修改后续所有区块的Hash值,或者生成一条新的区块链结构,使得新的链比原来的链更长。实际上,这是很难实现的。一般,一个区块后面有6个新的区块生成时,即可认为该区块不可篡改,可以将该区块加入到区块链的结构中了。

3. 不可伪造性

    区块链保存的交易数据中不仅含有Hash值,还有交易双方的签名以及验证方的签名。签名具有不可伪造性,因此具有不可伪造性。

4. 可验证性

    可验证性指的是数据来源的可验证。每一笔交易中电子货币的产生和输入、输出都是可以验证的。区块链结构中不会凭空增加电子货币。以比特币为例,每一笔交易的输入都是前一笔交易的输出,每一笔交易的输出又是下一笔交易的输入,即交易的可追溯性。除了来源的可验证外,还有交易金额的可验证,即验证金额的正确性,确保交易过程中的每一笔资金都是可靠的。目前,为了保证用户的隐私,很多电子货币通过混币、环签名、零知识证明等技术在数据可验证的情况下,尽可能地切断金额的可追溯性。

5. 匿名性

    区块链中的匿名性实际上是一种伪匿名性。区块链中使用假名技术来切断账号和真实身份的联系。比如,对用户公钥进行一系列的Hash运算,得到的固定长度的Hash值作为对应的电子账号。实际上,随着使用次数的增加,通过数据分析可以分析出账号的很多交易行为,比如经常和那些账号做交易,交易金额多少等,甚至可以和现实中的真实身份相联系。

4. 区块链的结构

(1) 层次结构

比特币系统将区块链分成6层结构:数据层、网络层、共识层、合约层、激励层、应用层。其架构图如下:

    区块链6层架构图

文献[4] 中将区块链分成3层:网络层、交易层、应用层。架构图如下:

    区块链3层架构图

文献[5] 中的北航链将区块链分成6层:存储层、基础区块链层、缓存层、API层、链上代码层、应用层。其架构图如下:

    区块链6层架构图

(2) 数据结构

区块链中的数据结构根据不同的应用会有所不同,但基本上都是由区块头(块头)和区块体(块身)组成。区块体保存的是若干条记录以及由每条记录的Hash值构成的二叉Merkle树。区块头一般包括版本号、前一区块的Hash值(Hash指针)、随机数、目标Hash(本区块的Hash值)、Merkle根,有时还会有用于PoW的计算困难门限值Difficulty等。根据不同的应用,块头和块身的数据项也会有所不同。根据需求,可以建立单链结果,还可以建立双链结构。下面是一个单链结构的简单的区块数据结构图[3]:

    数据结构

5. 区块链的应用

    区块链由于其结构特点有着广阔的应用前景。最早,区块链作为比特币的核心技术被提出来。随着区块链的发展,尤其是与智能合约的结合,区块链技术的应用早已不再仅仅局限于数字货币等金融领域。
    区块链除了应用于金融领域(如Bitcoin, Monero, Zcash)外,还可以应用于能源互联网(能源区块链)、医疗事业(医疗区块链)、学术界学术记录、供应链管理、共享单车、云存储等。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值