区块链技术概述

区块链技术概述

什么是区块链?

  • 从字面意义理解,区块链是由多个记录数据的区块构成的链式数据结构。
  • 从技术角度理解,区块链是基于P2P网络架构的一种分布式账本,以“块-链”式数据结构来存储和验证账本数据,由多方维护的分布式节点共识机制来生成无法篡改、无法抵赖的账本数据,使用密码学方法保证数据的传输和访问安全,可自动执行高级语言或脚本语言编写的智能合约来生成或查询账本数据。
  • 从应用角度理解,区块链面向由陌生主体构成的开放网络环境的价值记录,价值创造和价值交换过程,提供多方集体维护的不可篡改、不可抵赖、可追溯、公开透明的分布式账本服务记账服务,大幅降低第三方信任服务成本和风险,提高服务效率,是一种新型的无中介陌生人信任服务应用支撑平台系统。

区块链出现的原因

传统信任服务模式的局限性

根据信任主体之间的关系,可把信任服务模式分为三类:

信任服务模式 信任主体关系 是否依赖第三方 信任依据
无中介熟人信任 熟人 熟人
第三方信任 陌生人 第三方可信度
无中介陌生人信任 陌生人 软件算法与机器系统

无中介熟人信任的局限性:

  • 熟人信任需要信任主体之间维持有特定社会关系为基础
  • 信任的建立需要投入大量的时间、资源,甚至情感
  • 信任的范围十分局限,信任主体对象数量极其有限

第三方信任的局限性:

  • 第三方信任的构建成本十分高昂
  • 第三方信任的信任风险广泛存在

人性难以经受住考验, 最好的办法或许是不让其受到考验。

区块链信任解决的问题:

  • 去信任,陌生主体之间建立信任依赖公开透明的软件算法,使信任的建立相对容易的。
  • 信任范围可以做到十分广泛。
  • 去中心化,多方维护、验证,极大的增加了系统内部作恶的难渡。(51%攻击)
  • 成本相较于中心化的第三方信任服务较低

  但相较传统的信任服务模式,区块链对使用者的要求是较高的。区块链因为交易一旦上链就无法更改的特性,代码即法律,没有中心化的干涉,每个人都对自己的行为负全部责任,这是区块链社区的共识。所以在进行交易前必须确保其是完全符合预期的,没有漏洞(即使这是极其困难的)。总而言之,目前为止区块链不论对于区块链使用者或是应用区块链的开发者,对于区块链技术的要求是相对高的。
  由于区块链的匿名和不可更改的特性,不乏试图利用区块链及其应用的漏洞获利的人,行业内将其戏称为“科学家”。

区块链的特点

  • 去中心化/弱中心化
      区块链不依赖的中心化或第三方管理机构及硬件设施,去除或弱化中心管理,通过P2P网络构建分布式的结构体系和开源协议,让所有的节点都参与数据的记录和验证,再通过分布式传播发送给各个节点,即使部分节点受到攻击或者发生故障,也不会影响整个分布式账本数据的一致性和完整性,各个节点实现了信息自我验证、传递和管理。
      去/弱中心化是区块链最突出最本质的特点。
  • 数据不可篡改
      信息一旦经过验证并添加到区块链,就会被永久地存储起来,在系统任何节点上对数据的修改都是无效的,除非有人能同时控制超过半数以上的系统节点,但是区块链系统的节点是由多方公共维护的,要控制超过半数以上的节点,需要付出的代价可能远远大于篡改数据获得的收益,因此,区块链技术从根本上改变了中心化的信用创建方式,通过数学算法与博弈论原理而非中心化信用机构来低成本地建立信用,比特币、以太坊等系统已充分证明了区块链的这一特点。
  • 数字价值唯一性
      在信息世界中,最基本单元是比特(bit),数字比特序列是可复制,但是数字价值不能被复制,数字价值必须是唯一的,这本身就是矛盾的。在区块链技术出现之前,要让一个文件在全世界范围内是唯一的,需要花费巨大的代价。区块链采用共识机制和密码学方法,以很小的代价实现数字化表达唯一性,真正使数字价值变得唯一,可以模拟真实世界中的实物唯一性。
  • 智能合约
      区块链通过可编程的智能合约,让机器系统自动执行双方所达成的契约或一些无法预见的交易模式,排除了传统交易过程中人为单方不完全履约或毁约等干扰因素,从制度上确保合约的全面执行,防止任何一方的抵赖。区块链有助于推动价值传递过程进入智能化状态,实现数字经济发展的质的飞跃。
  • 开放性
      区块链技术基础是开源的,除了对交易各方的私有信息进行加密外,区块链数据对所有人公开,任何人都能通过公开的接口,对区块链数据进行查询,并能开发相关应用,整个系统的信息高度透明。
  • 去信任
      传统的互联网应用系统是通过可信任的中央服务器节点或者第三方信任平台(如微信)进行信息的匹配验证和信任积累。区块链基于自身去/弱中心化、数据不可篡改、数字价值唯一性等特性,系统所有节点都能在去信任的环境中自由安全地交换数据,交易各方不用通过公开身份的方式让对方对自己产生信任,让对“人”的信任改变为对机器系统与公开算法的信任,更有利于由陌生主体构成的开放网络环境中信用的积累。

    区块链的类型

    |类型|节点归属|准入原则|共识范围|数据公开范围|应用范围|代表技术系统|
    |:——:|:—-:|:—-:|:—-:|:—-:|:—-:|:—-:|
    |私有链|单一主体|受控加入|单一主体节点|不公开|单一主体内部|/|
    |公有链|任意陌生主体|自由加入|所有节点|完全公开|公众|比特币、以太坊|
    |联盟链|联盟成员主体|联盟成员自由加入|联盟通道节点|联盟内部公开|公众/联盟范围内|超级账本(Hyperledger Fabric)|

区块链分叉

区块链分叉是指由于某种原因,从区块链的某一个区块开始,后续的区块构成了两条子链。

区块链分叉的原因

  • 区块链软件升级。
      由于区块链系统节点众多且由不同的主体维护,当区块链软件升级时,不同的节点升级到最新版本不可能做到完全同步(甚至部分节点选择不更新系统)。区块链系统的节点被划分为两大阵营,旧节点拒绝验证新节点产生的区块,新、旧节点各自延续各自认为正确的链,区块链发生永久分歧(硬分叉),所以分成两条链。
  • 区块链出块冲突
      在竞争计算的过程中,若两个不同的节点同时(或几乎同时,信息的同步是需要时间的)求解出满足要求的哈希值结果,都生成一个新的区块并向网络广播,彼此先得到信息得节点追随不同的区块,继续进行竞争计算 ,导致出块冲突,使区块链发生临时分叉。由于区块链只承认最长链的机制,所以当两条分链中,先得出下一区块得将成为唯一合法的链,非最长链将被抛弃,其中的区块将成为孤块。

    区块链的硬分叉和软分叉

      区块链中的硬分叉与软分叉的区别在于:
      协议更新后的节点是否向前兼容。
      软分叉向前兼容,所有被更新节点认为合法的区块同样被未更新的节点认为是合法的。硬分叉则要求所有的不向前兼容,所有更新后的节点生成的区块被未更新的节点认为是不合法的

    区块链技术发展历史

区块链的发展历程

  业界普遍认为区块链技术已经经过三个阶段的演化:

阶段 核心功能 共识机制 区块链类型 性能 实现语言
区块链1.0(比特币) 加密货币 PoW 公有链 简单脚本语言
区块链2.0(以太坊) 智能合约 PoW/PoS 公有链 一般 专用语言(如以太坊使用solidity)
区块链3.0(超级账本) 数字价值交换应用平台 PBFT/Raft等多种机制 公有链/私有链/联盟链 较高扩展性 高级编程语言

区块链1.0——比特币区块链系统

比特币:一种点对点电子现金系统
  区块链1.0阶段使以基于区块链技术的加密货币系统为代表,其中最有影响力、应用范围最广的使比特币系统。

与法定货币相比,比特币具有如下特点:

  • 去中心化:意味着没有任何独立个体可以对网络中的交易进行破坏,任何交易请求都需要大多数参与者的共识;
  • 匿名性:比特币网络中账户地址是匿名的,无法从交易信息关联到具体的个体,但这也意味着很难进行审计;
  • 通胀预防:比特币的发行需要通过挖矿计算来进行,发行量每四年减半,总量上限为2100万枚,无法被超发。(这也代表着比特币的发行永远不会有尽头,算力消耗并不减少的情况下,挖取的奖励却在减少,这或许必然使比特币的价值一直上涨?另外,或许现实中资源的大量消耗或许也是让比特币系统、比特币价值保持稳定的一个因素。作者对金融的了解十分局限,以上只是一些个人的肤浅猜测)。

比特币系统自2009年1月上线运行以来,经历的重要事件如下:

  • 2009年1月3日18:15:05,中本聪在位于芬兰赫尔辛基(Helsinki)的一个小型服务器上挖出了第一批50个比特币,第一个区块被称为创世区块或初始区块(Genesis Block)。1月9日出现序号为1的区块与创世区块相连,这标志着区块链的诞生。

  • 2010年5月21日,第一次比特币交易∶佛罗里达程序员Laszlo Hanyecz用1万BTC 购买了价值25美元的披萨优惠券。这是比特币的首个兑换汇率1: 0.0025美元。这些比特币在2021年3月价值已超过5亿美元。

  • 2011年,开始出现基于显卡的挖矿设备。2011年年底,比特币价格约为2美元。

  • 2012年6月,Coinbase公司成立,支持比特币相关交易,该公司目前已经发展为全球数字资产交易平台,同时支持包括比特币、以太币在内的一系列数字货币。

  • 2012年9月27日,比特币基金创立,此时比特币价格为12.46美元。

  • 2012年11月28日,比特币产量第一次减半。

  • 2013年3月,超过30%的专业矿工已经采用专用ASIC矿机进行挖矿。

  • 2013年10月,世界第一台可以兑换比特币的ATM在加拿大上线。
  • 2013年11月29日,比特币的交易价格创下1242美元的历史新高,而同时黄金价格为一盎司1241.98美元,比特币价格首度超过黄金,开始被称为“数字黄金”。
  • 2014年3月,中国第一台可以兑换比特币的ATM在香港上线。
  • 2014年6月,美国加州通过AB-129法案,允许比特币等数字货币在加州进行流通。
  • 2015年6月,纽约成为美国第一个正式进行数字货币监管的州。
  • 2015年10月,欧盟法院裁定比特币交易免征增值税。
  • 2016年7月9日,比特币产量第二次减半。
  • 2017年7月,比特币网络全网算力首次突破6 exahash/s(每秒6×1018次哈希计算)。
  • 2020年5月13日,比特币产量第三次减半。
  • 2020年7月26日,比特币价格达到10000美元。
  • 2021年2月9日,比特币价格达到50000美元。

区块链2.0——以太坊区块链系统

  以太坊在比特币的基础上引入智能合约机制(比特币的UTXO模型中的脚本,可以看作是一种简单的智能合约),将区块链技术带向了更广阔的应用领域,使更多基于区块链的去中心化应用场景得以实现。

  与比特币系统相比,以太坊的区块链平台具备以下的主要技术特点:

  • 支持图灵完备的智能合约应用(比特币采用的交易脚本开发语言是非图灵完备),设计了编程语言Solidity和虚拟机 EVM;
  • 哈希计算选用了同时需要计算性能和内存容量的哈希函数(比特币的哈希计算只一来依赖算力);
  • 引入叔块(Uncle Block)激励机制,缩短了区块产生间隔到15秒左右,提升了交易处理性能(比特币需要10分钟左右)(以太坊出块速度快,更容易产生孤块,引入叔块同时有利于公平性);
  • 引入账户系统和世界状态,更容易支持复杂的业务逻辑(比特币采用UTXO模型,没有账户的概念);
  • 引入燃料(Gas)机制限制智能合约代码执行指令数,即在以太坊平台运行应用要支付成本,有效避免循环执行攻击(比特币系统对每个网络节点发出交易的行为没有任何限制);
  • 最初仍然采用PoW工作量证明共识机制,2022年9月15日PoS信标链与 PoW以太坊完成合并,以太坊从此支持效率更高的权益证明(Proof of Stake,PoS)共识机制。

以太坊系统自2015年7月上线运行以来,经历的重要事件如下:

  • 2015年7月30日,以太坊第一阶段Frontier(前沿)正式发布,标志着以太坊区块链网络的正式上线。以太坊Frontier阶段采用类似比特币的PoW共识机制,参与节点以矿工挖矿形式维护网络,支持上传智能合约。

  • 2016年3月14日,以太坊进行了第二次分叉,正式发布第二阶段 Homestead(家园)稳定版本,主要改善了安全性,区块数超过1150000,同时开始提供图形界面的客户端,提升了易用性。

  • 2016 年6月,以太坊上的一个去中心化自治组织 DAO 受到漏洞攻击,造成价值超过5000万美元的以太币被移动到攻击者控制的“伪DAO”。为解决该问题,2016年7月20日,以太坊进行第三次硬分叉,作出一个向后不兼容的改变,让所有的以太币(包括被移动的)回归原处,而不接受此改变的区块链则成为经典以太坊(Ethereum Classic,ETC)。这导致了以太坊的分裂,Ethereum (ETH)被支持使用分叉的人使用,而Ethereum Classic(ETC)被继续使用旧区块链的人使用。

  • 2017年3月1日, 企业以太坊联盟(Enterprise Ethereum Alliance,EEA)宣布成立,其称旨在创建一个企业级区块链解决方案,共同开发产业标准。

  • 2017年10月16日,以太坊网络第4370000个区块诞生时通过“拜占庭”代码执行一次硬分叉,发布第三阶段Metropolis(大都会)。“大都会”阶段被视作提升以太坊平台整体可用性的重要基石,它主要的特性就是为平滑引入PoW和PoS的混合链模式建立基础。大都会升级分成了三次分叉,2017年10月的“拜占庭”、2019年2月的“君士坦丁堡”和“圣彼德堡”、以及2019年12月的“伊斯坦堡”。

  • 2020年12月1日以太坊的Layer2信标链正式上线,并于2021年成功完成柏林跟伦敦硬分叉,EIP1559协议升级后,透过销毁手续费和降低区块奖励的方式控制总发行量。而当Layer1原本的这条公链,跟信标链Layer2新公链完成合并后,以太坊就正式进入2.0(宁静)阶段。

区块链3.0——超级账本

  区块链3.0阶段的标志就是区块链技术开始向社会经济各个领域应用延申,人们逐渐意识到,区块链不仅是一种技术,更是一种代表公正透明、协作信任的模式,区块链思想与技术可以有效应用在政企管理、社会治理、供应链、物联网、权属管理、医疗健康等诸多领域,成为面向社会全行业的应用。

区块链的总体架构

区块链系统体系结构

  区块链作为一种分布式计算软件系统,在体系结构上没有采用传统具有中心化服务器节点的C/S或B/S架构,而是采用无中心化节点的P2P体系结构。在区块链系统中,每个存储区块链与账本数据的网络节点都是对等关系,节点之间会共享区块链与账本数据,无论新区块从哪个节点生成,都会通过特定的P2P网络协议以广播的形式向其它节点进行传播,所有节点对区块进行验证后,新区块才能被添加到链上。

区块链系统的逻辑架构

区块链系统的逻辑架构

区块链方式思维

  • 去/弱/多中心化
       去中心化是研究应用区块链技术首先要建立的一种思维方式。开展一项涉及信任构建的工作,首先要思考,如果使用去中心化怎样来解决?不仅高价值数据资产及其相关计算能去中心化,普通Web数据访问存储也可以去/弱/多中心化。通过去/弱/多中心化思考,可能会获得中心化信任体系下难以获取的诸多新特性、新能力。   
    
  • 透明开放
       研究应用区块链技术,在所属的共识范围内,需要机制、规则、代码的完全透明、开放,透明、开放是让共识群体积极参与的前提和基础;黑箱运行、潜藏规则或独有专利,在区块链中难以获得更大范围的共识,并难以被更多参与者所拥护。   
    
  • 协同合作
       不要试图一个人或一个机构独自完成所有工作和享有所有回报,要习惯人与人之间、团队与团队之间的协同合作,共定游戏规则,共建生态,共同发展产业,共获回报。
    

区块链面临的挑战

技术上的挑战

  • 不可能三角
    区块链三元悖论是指普遍持有的观点,即在去中心化、安全性和可扩展性方面,去中心化网络在任何给定时间只能提供三个好处中的两个。

区块链技术概述
https://1303-yzym.github.io/2023/12/28/区块链概述/
作者
YZYM
发布于
2023年12月28日
许可协议