区块链基本概念、原理特点、应用场景等简单介绍

1,620 阅读25分钟

「这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战」。

近年,“区块链”再一次成为人们茶余饭后热议的话题。“把区块链作为核心技术自主创新重要突破口”“加快推动区块链技术和产业创新发展”,一时间区块链成为炙手可热的高点。现今,“区块链”正在走进大众视野,成为金融、经济和社会共同关注的焦点。作为互联网从业者,面对这个创新风口,有哪些需要关注和学习的地方呢?

在本篇文章中,你将了解到如下内容:

区块链是什么 区块链的原理 区块链的特点 区块链的应用场景 区块链开发语言与框架 适合人群:对区块链感兴趣的读者

1.区块链是什么

—— Blockchain 是一个正在兴起的交易服务平台

在Wikipedia上,将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构进行持续增长的、不可篡改的数据记录。 在百度百科上,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块 [1] 。

简单来说,可以从狭义和广义两个层面来理解区块链的概念。 狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求。 广义上,区块链还指代基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。

—— Blockchain是否能够改变我们解决问题的方法,我们拭目以待。

2.区块链的发展历程

“过去的20多年,互联网使得个人和组织能够更有效地进行商业和社会活动。 然而个人和组织相互之间进行交易的基本模式并没有改变。
Blockchain 可以带给那些流程更多的开放性和效率,正如我们在互联网时代所期待的那样。”
                                                       —Arvind Krishna, Senior VP, IBM Research

了解过去,是为了更好地把控未来,那么区块链的前世今生又是怎么样地发展历程呢?

  • 2008 年 10 月 31 日,中本聪向一个密码学邮件列表的所有成员发送了一个电子邮件,标题为“比特币:点对点电子现金系统”(Bitcoin:A Peer-to-Peer Electronic Cash System)。

  • 2008 年 11 月 16 日,中本聪公布了比特币系统的源代码。

  • 2009年1月3日,在位于芬兰赫尔辛基的服务器上,中本聪在互联网上生成了第一个比特币区块,即所谓的比特币创世区块(genesis block)。之后,中本聪和几个开发者在网上一起讨论想法,继续开发迭代。随着比特币网络的成熟,他的活动开始减少,比特币系统逐渐进入自治运转的状态。

  • 2010年7月,第一个比特币平台成立,新用户暴增,价格暴涨。

  • 2011 年 11 月后,中本聪不再出现。他成了一个匿名的传奇,没人知道他是谁,他只留下了自己的创造。

  • 2011年2月,比特币价格首次达到1美元,此后与英镑、巴西雷亚尔、波兰兹罗提汇兑交易平台开张。

  • 2012年,瑞波(Ripple)发布,其作为数字货币,利用区块链转移各国外汇。

  • 2013年,比特币暴涨。美国财政部发布了虚拟货币个人管理条例,首次阐明虚拟货币释义。

  • 2014年,"区块链2.0”成为一个关于去中心化区块链数据库的术语。对这个第二代可编程区块链,经济学家们认为它是一种编程语言,可以允许用户写出更精密和智能的协议。

  • 2015年12月,纳斯达克首次在个股交易商中使用区块链技术,其合作伙伴Chain.com在对一位私人投资者发行股票时首次使用了纳斯达克的基于区块链技术的交易平台Linq,该平台正是纳斯达克与Chain.com合作开发的。

  • 2016年1月20日,China人民银行数字货币研讨会宣布对数字货币研究取得阶段性成果。会议肯定了数字货币在降低传统货币发行等方面的价值,并表示央行在探索发行数字货币。

  • 2016年12月20日,数字货币联盟——中国FinTech数字货币联盟及FinTech研究院正式筹建 。

现在区块链技术可能带来互联网的二次革命,把互联网从“信息互联网”带向“价值互联网”。在区块链的对照之下,人们发现,最初被形象地称为“信息高速公路”的互联网处理的是“信息”,而区块链能处理的是“价值”。

变革即将发生,未来已来。我们又一次处于革命的起点——价值互联网的变革,而要理解价值互联网的未来,我们先要搞明白区块链技术是什么。

区块链,可能是当下最有前景又充满分歧的技术与经济趋势。它给数字世界带来了“价值表示”和“价值转移”两项全新的基础功能。
其潜力正在显现出来,但当下它又处于朦胧与野蛮生长的阶段。

3.原理与特点

Blockchain 技术有极大可能性使得有多方参与的商业网络转型,从而明显地降低成本和风险,并进行业务模式创新。

3.1 基本概念

要想对区块链有个大体的认识,可以从如下几个概念开始:

  • 交易(Transaction):一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录;

  • 区块(Block):记录一段时间内发生的所有交易和状态结果等,是对当前账本状态的一次共识;

  • 链(Chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。 如果把区块链系统作为一个状态机,则每次交易意味着一次状态改变;生成的区块,就是参与者对其中交易导致状态改变结果的共识。 在这里插入图片描述

  • 挖矿(Mining)指通过计算形成新的区块,是交易的支持者利用自身的计算机硬件为网络做数学计算进行交易确认和提高安全性的过程。以比特币为例:交易支持者(矿工)在电脑上运行比特币软件不断计算软件提供的复杂的密码学问题来保证交易的进行。作为对他们服务的奖励,矿工可以得到他们所确认的交易中包含的手续费,以及新创建的比特币。

  • 对等式网络(Peer-to-Peer Network)是指通过允许单个节点与其他节点直接交互,从而实现整个系统像有组织的集体一样运作的系统。以比特币为例:网络以这样一种方式构建——每个用户都在传播其他用户的交易。而且重要的是,不需要银行或其他金融机构作为第三方。

  • 哈希散列(Hash)是密码学里的经典技术,把任意长度的字符串输入通过Hash算法,变换成固定长度的由字母和数字组成的输出。

  • 数字签名(Digital Signature)是一个让人可以证明其所有权的数学机制。

  • 私钥(Private Key)是一个证明你有权从一个特定的钱包消费电子货币的保密数据块,是通过数字签名来实现的 。

  • 双重消费指用户试图非法将电子货币同时支付给两个不同的收款人,是电子货币的最大风险之一。

3.2 基本原理

区块链的目标是实现一个分布的数据记录账本,这个账本只允许添加、不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前导区块的哈希(Hash)值。某个区块(以及块里的交易)是否合法,可通过计算哈希值的方式进行快速检验。网络中节点可以提议添加一个新的区块,但必须经过共识机制来对区块达成确认。 下图是基于第三方机构的消费系统存在的问题,这也是比特币创立背景。 在这里插入图片描述 区块链技术是如何进行交易的呢?下面以比特币的交易流通过程进行描述区块链的原理。 在这里插入图片描述 区块链技术作为比特币的基础性技术,具有高度透明、去中心化、去信任、不可篡改、匿名等性质。这些性质体现了分布式自治的理念,逐渐受到拥有创新意识的金融机构的广泛关注。所谓DAC(Distributed Autonomous Corporation,分布式自治机构),就是通过一系列公开公正的规则,以无人干预和管理的情况下自主运行的组织机构。 这些规则往往会以开源软件的形式出现,每个人可以通过支付手段获得不定形式的回报,分享收益,参与系统的成长。比如,比特币、纳斯达克的新平台以及其他应用就是典型的DAC。

3.3 基本特点

1.去中心化

去中心化是区块链最基本的特征,区块链不再依赖于中心化机构,实现了数据的分布式记录、存储和更新。所有在区块链网络里面的节点,都有记账权,都可以进行记账,这可以规避操作中心化的弊端。

在生活中,比如淘宝购物,实际你的钱是由支付宝这样的机构进行管理和储存。转账、消费时在我们的账户余额上做减法,收款时做加法。你的个人信息也都在支付宝的数据中,这些都是中心化的,都是围绕这第三方这个中心。

但如果支付宝的服务器受到损坏,被攻击导致数据丢失,那我们的记录就会被销毁,交易无法查询、在特殊时期,会被随时查封、冻结、无法交易、或者由于天灾导致数据销毁,你存在支付宝内的资金无法追回等。或者另一种常见的问题:个人信息的泄露。这就是中心化的缺点。

但由区块链技术支撑的交易模式则不同,买家卖家可以直接交易,无需通过任何第三方支付平台,同时也无须担心自己的其他信息泄漏。去中心化的处理方式就要更为简单和便捷,当中心化交易数据过多时,去中心化的处理方式还会节约很多资源,使整个交易自主简单化,并且排除了被中心化控制的风险。

2.全球流通

区块链资产首先是基于互联网的,只要有互联网的地方,就可以进行区块链资产的转账流通。相较于中心化的方式,区块链资产在全球流通的转账手续费非常低,比如比特币早期转账手续费为0.0001BTC,相对于传统转账来说,区块链资产到账也非常快。一般几分钟到1小时就能到账。

3.匿名性 匿名性是比特币最基本的特性之一。区块链的匿名性是基于算法实现了以地址来寻址 ,而不是以个人身份信息进行交易流转。区块链的匿名性是指别人无法知道你的区块链资产有多少,和谁进行了转账等。这样,在区块链网络上只能查到转账记录,但不知道地址背后是谁,但是一旦知道这个地址背后对应的人是谁,也就能查到其所有相关的转账记录和资产。

4.公开透明

区块链系统是公开透明的,除了交易各方的私有信息被加密外,数据对全网节点是透明的,即任何人或参与节点都可以通过公开的接口查询区块链数据记录或者开发相关的应用,这也是区块链系统值得信任的基础。区块链数据记录和运行规则可以被全网节点审查、追溯,具有很高的透明度。

5.不可篡改

区块链系统的信息一旦经过验证并添加至区块链后,就会得到永久存储,无法更改(具备特殊更改需求的私有区块链等系统除外)。除非能够同时控制系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。哈希算法的单向性是保证区块链网络实现不可篡改性的基础技术之一。

6.可追溯性

它的机制是设定后面区块拥有前面区块的哈希值,就像挂钩一样,只有识别了前面的哈希值才能挂得上去,从而形成一整条完整可追溯的链。可追溯性还有一个好的的特点就是便于数据的查询,因为这个区块是有唯一标识的。比如说要在数据库里查询一条记录,有很多算法去分块来查找,而在区块链里面是以时间节点来定义找该时间段的区块再去寻址,这就更方便。

7.自治性

区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。

Blockchain 共享帐簿技术实现了在分布式环境里多方参与的双边交易中的去中介化。共享帐簿全网记录, 可追溯,防篡改具有最终性。从而在保证安全的情况下,提高效率,降低成本。

4.应用场景

Blockchain有公有链和联邦链的区分。企业级商用应用中,联邦链是更贴合的选择。

区块链(Blockchain)是一种将数据区块有序连接,并以密码学方式保证其不可篡改、不可伪造的分布式账本(数据库)技术。通俗的说,区块链技术可以在无需第三方背书情况下实现系统中所有数据信息的公开透明、不可篡改、不可伪造、可追溯。区块链作为一种底层协议或技术方案可以有效地解决信任问题,实现价值的自由传递,在数字货币、金融资产的交易结算、数字政务、存证防伪数据服务等领域具有广阔前景。 在这里插入图片描述

1.数字货币

在经历了实物、贵金属、纸钞等形态之后,数字货币已经成为数字经济时代的发展方向。相比实体货币,数字货币具有易携带存储、低流通成本、使用便利、易于防伪和管理、打破地域限制,更好整合资源等特点。

比特币技术上实现了无需第三方中转或仲裁,交易双方可以直接相互转账的电子现金系统。2019年6月互联网巨头Facebook发布了其加密货币天秤币(Libra)白皮书。无论是比特币还是Libra,其依托的底层技术正是区块链技术。

我国早在2014年就开始了央行数字货币的研制。我国的数字货币DC/EP采取双层运营体系:央行不直接向社会公众发放数字货币,而是由央行把数字货币兑付给各个商业银行或其他合法运营机构,再由这些机构兑换给社会公众供其使用。2019年8月初,央行召开下半年工作电视会议,会议要求加快推进国家法定数字货币研发步伐。    2.金融资产交易结算

区块链技术天然具有金融属性,它正对金融业产生颠覆式变革。支付结算方面,在区块链分布式账本体系下,市场多个参与者共同维护并实时同步一份“总账”,短短几分钟内就可以完成现在两三天才能完成的支付、清算、结算任务,降低了跨行跨境交易的复杂性和成本。同时,区块链的底层加密技术保证了参与者无法篡改账本,确保交易记录透明安全,监管部门方便地追踪链上交易,快速定位高风险资金流向。

证券发行交易方面,传统股票发行流程长、成本高、环节复杂,区块链技术能够弱化承销机构作用,帮助各方建立快速准确的信息交互共享通道,发行人通过智能合约自行办理发行,监管部门统一审查核对,投资者也可以绕过中介机构进行直接操作。数字票据和供应链金融方面,区块链技术可以有效解决中小企业融资难问题。目前的供应链金融很难惠及产业链上游的中小企业,因为他们跟核心企业往往没有直接贸易往来,金融机构难以评估其信用资质。基于区块链技术,可以建立一种联盟链网络,涵盖核心企业、上下游供应商、金融机构等,核心企业发放应收账款凭证给其供应商,票据数字化上链后可在供应商之间流转,每一级供应商可凭数字票据证明实现对应额度的融资。

3.数字政务

区块链可以让数据跑起来,大大精简办事流程。区块链的分布式技术可以让政府部门集中到一个链上,所有办事流程交付智能合约,办事人只要在一个部门通过身份认证以及电子签章,智能合约就可以自动处理并流转,顺序完成后续所有审批和签章。

区块链发票是国内区块链技术最早落地的应用。税务部门推出区块链电子发票“税链”平台,税务部门、开票方、受票方通过独一无二的数字身份加入“税链”网络,真正实现“交易即开票”“开票即报销”——秒级开票、分钟级报销入账,大幅降低了税收征管成本,有效解决数据篡改、一票多报、偷税漏税等问题。

扶贫是区块链技术的另一个落地应用。利用区块链技术的公开透明、可溯源、不可篡改等特性,实现扶贫资金的透明使用、精准投放和高效管理。

4.存证防伪

区块链可以通过哈希时间戳证明某个文件或者数字内容在特定时间的存在,加之其公开、不可篡改、可溯源等特性为司法鉴证、身份证明、产权保护、防伪溯源等提供了完美解决方案。

在知识产权领域,通过区块链技术的数字签名和链上存证可以对文字、图片、音频视频等进行确权,通过智能合约创建执行交易,让创作者重掌定价权,实时保全数据形成证据链,同时覆盖确权、交易和维权三大场景。在防伪溯源领域,通过供应链跟踪区块链技术可以被广泛应用于食品医药、农产品、酒类、奢侈品等各领域。

5.数据服务

区块链技术将大大优化现有的大数据应用,在数据流通和共享上发挥巨大作用。未来互联网、人工智能、物联网都将产生海量数据,现有中心化数据存储(计算模式)将面临巨大挑战,基于区块链技术的边缘存储(计算)有望成为未来解决方案。

再者,区块链对数据的不可篡改和可追溯机制保证了数据的真实性和高质量,这成为大数据、深度学习、人工智能等一切数据应用的基础。最后,区块链可以在保护数据隐私的前提下实现多方协作的数据计算,有望解决“数据垄断”和“数据孤岛”问题,实现数据流通价值。

针对当前的区块链发展阶段,为了满足一般商业用户区块链开发和应用需求,众多传统云服务商开始部署自己的BaaS(“区块链即服务”)解决方案。区块链与云计算的结合将有效降低企业区块链部署成本,推动区块链应用场景落地。未来区块链技术还会在慈善公益、保险、能源、物流、物联网等诸多领域发挥重要作用。

区块链技术的难点和突破在于如何创新地应用到各行各业中,服务于经济社会发展。

5.区块链开发语言

5.1 常用开发语言

隐私和秘密都很重要:任何人的ID和行为模式,在blockchain的网络上都不应该被没有授权的人通过研究帐簿搞清楚。 任何在网络上的业务逻辑和交易参数也应该不能被除了保管方以外的其他人所访问。

1.JAVA开发语言(未来币)

定义:Java是一种面向对象的编程语言,不仅吸收了c++语言的优点,也抛弃了在c++、指针等概念中难以理解多重继承的困难,因此Java语言具有强大且易于使用的两个特性。作为静态面向对象编程语言的代表,Java语言完美地实现了面向对象的理论,允许程序员用优雅的思维方式进行复杂的编程。

Java的特点是简单、面向对象、分布式、健壮、安全、平台独立性和可移植性、多线程和动态。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。

2.C++开发语言(比特币、公正通、瑞波ripple)

定义:c++是C语言的继承,它可以是C语言程序设计的过程,也可以是抽象的数据类型,作为基于对象的编程的特征,也可以承担面向对象编程的继承和多态性。c++擅长面向对象编程,它也可以执行基于流程的编程,所以c++是问题大小的大小。

3.GO开发语言(以太坊、IBM)

定义:Go是一种新的语言,并行的,垃圾收集,快速编译的语言。它具有以下特点:

它可以在计算机上编译一个大的Go程序几秒钟。Go提供了一个软件构建模型,使依赖分析更容易,并且避免了大多数c风格的开始,包括文件和库。Go是一种静态类型的语言,它的类型系统没有层次结构。因此,用户不需要花时间在定义类型之间的关系上,这使得他们比典型的面向对象语言更轻量级。Go是一个完整的垃圾收集语言,为并发执行和通信提供基本支持。根据它的设计,为多核机器上的系统软件的构建提供了一种方法。

Go是一种编译语言,它结合了解释语言的灵活性、动态类型语言的开发效率和静态类型的安全性。它还打算成为一种支持网络和多核计算的现代语言。为了实现这些目标,需要解决一些语言问题:一个具有表达性但轻量级的类型系统、并发和垃圾收集机制、严格的依赖规则等等。这些不能通过库或工具来解决,所以创建。

4.Solidity开发语言(以太坊)

定义:Solidity是在Ethereum虚拟机(EVM)上运行的智能契约的高级语言。它的语法接近于Javascript,是一种面向对象的语言。但是当涉及到把网络作为一个真正的东西的时候,这是非常不同的。

5.2 开发框架

开发区块链都用什么框架?以适应不同场景的需求为目标,区块链应用在实际使用过程中向来会需要进行多次修改,来满足特定业务的需求,于是用于定制专用区块链系统的架构就出现了,采用这些框架能够便捷地定制出适用于企业自身业务需求的区块链系统。

1.比特币架构

比特币(Bitcoin)身为区块链的始祖,在区块链的大家族中具备举重若轻的影响力。其有如下特点:

无需中央机构就能够发售货币; 无需中介机构就能够支付; 维持用户匿名; 交易无法被撤销。

2.以太坊架构

以太坊(Ethereum)的目标是提供一个带有图灵完备语言的区块链,用这种语言能够创建合约来编写任意状态转换功能。用户只要简单地用几行代码来实现逻辑,就能够创建一个基于区块链的应用程序,并应用于货币以外的场景。以太坊在比特币的功能之外,还有下列几个设计目标:

图灵完备的合约语言; 内置的持久化状态存储。

3.Fabric架构

Fabric是由IBM和DAH主导开发的一个区块链框架,是超级帐本的项目成员之一。它的功能与以太坊相似,也是一个分布式的智能合约平台。但与以太坊和比特币不同的是,它从一开始就是一个框架,而不是一个公有链,也没有内置的代币(Token)。

身为一个区块链框架,Fabric采用了松耦合的设计,将共识机制、身份验证等组件模块化,使之在应用过程中能够方便地根据应用场景来选择相应的模块。除此之外,Fabric还采用了容器技术,将智能合约代码(Chaincode)放在Docker中运行,从而使智能合约能够用几乎任意的高级语言来编写。

下列是Fabric的一些设计目标: 模块化设计、组件可替换; 运行于Docker的智能合约;

4.Onchain DNA架构

Onchain DNA(Onchain Distributed Networks Architecture),能够同时支持公有链、联盟链、私有链等不同应用类型和场景,并快速与业务系统集成。

Onchain DNA的设计目标关键有下列几点: 多种数字资产的底层支持; 图灵完备的智能合约和持久化状态; 跨链互操作性; 交易的最终性。

5.Corda架构

Corda由Java和Kotlin开发,并在其各项功能中充分依赖于Java,比如智能合约、数据访问接口等。Corda的设计目标关键是: 没有全局账本; 由公证人(Notaries)来解决交易的多重支付问题; 只有交易的参与者和公证人才能看到交易。 为此Corda的所有交易都不会向全网进行广播,而且所有的节点都是直接通信,没有P2P网络。这一点导致了其网络规模会被限制在一个较小的规模内,无法形成大规模的联盟链,适用的业务场景比较狭窄。

区块链技术的业务价值在于提高流程透明度、数据可信度、降本增效。

6.参考

区块链百度百科 baike.baidu.com/item/%E5%8C… 区块链是什么?超级详细,看了无师自通!c.biancheng.net/view/1884.h… 区块链技术的五大应用场景 www.qstheory.cn/llwx/2019-1… 区块链七大应用场景 blog.csdn.net/u010199413/… 区块链的五大特点 www.jianshu.com/p/67cf0855f… 区块链的六大特征 www.jianshu.com/p/2533090b1… 快速理解比特币/区块链的原理 blog.csdn.net/dog250/arti… 区块链:起源、原理及应用 blog.csdn.net/jasonwang19… 区块链技术具体要用到什么开发语言www.toutiao.com/a6527824301… 开发区块链都用什么框架? www.sohu.com/a/283233206… 区块链技术(Blockchain)简介 static.runoob.com/download/ib…