主页 > imtoken官网下载广告 > 区块链产生背景分析(解读区块链的前世今生)

区块链产生背景分析(解读区块链的前世今生)

imtoken官网下载广告 2023-01-17 14:18:12

第一部分,区块链技术背景

一、数字货币是社会发展和信息化的必然产物

货币是人类文明发展过程中一项非常重要的发明。 它的重要功能是价值尺度、流通手段和储存手段。 随着人类社会的发展,货币形态经历了多阶段的演变。 从一开始,原始社会用食物代替货币,然后用金属创造货币,接着是替代货币、信用货币,再到现在的电子货币,进而诞生了数字货币。 货币形态的演变反映了货币本身价值的演变。 在食物或金属货币出现之初,以物代表货币,体现了货币的实物价值。 随着社会的发展和货币形态的变化,替代货币和信用货币体现了货币的信用价值。 比特币、以太币等各种数字货币体现了人类或公众对科学技术和信息系统的一种信任价值。

上表直观地展示了数字货币与纸币的对比,通过便携性、防伪性、匿名性、可交易性、资源消耗、市场控制能力、运营模式等不同属性对比数字货币与纸币的优劣势。

区块链产生背景分析(解读区块链的前世和今生)

在市场控制方面,纸币具有无可比拟的优势。 例如,可以通过控制纸币的流通量来控制通货膨胀。 但数字货币的市场控制能力有待进一步观察,目前还没有定论。 从运作模式来看,数字货币的优势是显而易见的。 数字货币可以实现去中心化交易,有多种适用场景可以作为应用扩展。

传统纸币的发行需要第三方机构的参与,并且必须信任第三方机构。 例如,如果你信任中央银行,它生产的纸币就会有价值。 因此,数字货币是社会发展与信息技术相结合的必然产物。 数字货币的核心是去中心化的实现。

现实生活中,很多应用场景都很难找到安全可靠的第三方记账机构。 原因有多种: 1.汇率变动导致交易双方意见不一; 2、网络匿名者不通过电子商务平台直接购买; 3. 交易双方互不信任,找不到则同意 4. 第三方机构可能存在链接故障或被篡改。

去中心化数字货币需要解决的问题: 1、货币的防伪,如何鉴别货币的真伪? 2、对于货币交易,如何保证货币从一方安全转移到另一方? 3. 为避免重复付款,如何避免将同一种货币支付给多个收款人?

2、比特币首次实现了安全可靠的去中心化。

2008年10月31日,中本聪提出了比特币的设计白皮书,并于2009年发布了最初的实现代码。第一个比特币于2009年1月3日产生。比特币连接POW和共识机制,实现了安全、可靠和去中心化首次采用数字货币加密系统。 比特币的意义和价值是不言而喻的,不仅仅是它的价格。 巧妙设计了一套分布式账本,基于区块链的结构,提供安全可靠、不可恶意篡改的数字货币账本功能。

比特币发行总量由协议调节,发行速度自动调整,避免通货膨胀或滞涨。 区块链的概念是由比特币或数字货币推动的。

3、区块链:摆脱数字货币的束缚

区块链是从比特币网络架构提炼而来,是加密算法、数字签名、共识算法、分布式算法、分布式共识等技术在一定程度上超越应用门槛演进的产物。 记账相关技术对资产管理至关重要,而去中心化或多中心化的分布式账本技术对当前开放多元化的商业模式具有重要意义。

区块链技术特点:分布式容错、修改不可篡改、隐私保护。 如果以区块链为底层构建商业应用,这些商业应用还将具有以下基本特征:可信、降低成本、增强安全性。

第二部分,区块链的基本原理和核心技术

一、区块链的定义

最早公认的关于区块链的描述性文献是中本村的白皮书《比特币:一种点对点的电子现金系统》,但并未明确提出区块链的定义和概念。 它是一种用于记录比特币交易账户历史的数据结构。 维基百科对区块链的定义是:一种分布式数据库技术,通过维护数据块的链式结构来维护一个持续增长的、不可篡改的数据记录。 我个人的理解是:区块链是解决多方信任问题的分布式账本技术; 去中心化架构解决了多方互信问题。 这种分布式账本技术为我们的各种应用场景提供了底层架构基础。

2. 区块链基本原理

区块链的三个基本概念: 1. 交易:对账本的一次操作导致账本状态发生变化,如增加转账记录。 2. 区块:记录一定时间内发生的所有交易和状态结果,是对当前账本状态的共识。 3. Chain:由许多块按出现顺序串联而成,是整个账本状态变化的日志记录。

区块链是一种有效的链式结构,有点像状态机。 相同点: 1. 每笔交易都是一次改变状态的尝试; 2. 对于共识产生的每个区块,参与者实际确认区块中交易状态变化的结果。

上图是区块链结构的一个例子。 可以看出,后续区块通过记录先导区块的哈希值形成链式结构; 要将新数据添加到区块链,此交易必须放在新区块中; 通过计算哈希值可以快速判断数据块是否合法。 例如,在公有链中维护的任何节点都可以提出一个新的合法区块,但这个合法区块必须经过共识机制才能对最终选定的区块达成一致,以保证网络的一致性。

3. 区块链核心技术

区块链的核心问题是: 1. 如何产生包含新交易信息的区块; 2. 对于新产生的区块,如何在去中心化网络架构中被识别并添加到网络中; 3、如何保证Record的安全性和不可篡改性。 得出结论,区块链的核心技术包括两个方面:一是共识算法; 另一个是密码学和安全技术。

共识算法并不是一个新概念,在提到的分布式系统的共识问题中,经常会涉及到共识算法的概念。 一致性是指分布式系统中多副本呈现的数据状态,而实践一致性的手段是通过共识。 共识描述了分布式系统中多个节点就某个状态达成共识的过程。

共识算法

共识算法的问题在于,在理想系统中,网络节点将无故障地运行,节点之间的通信将无损失地到达,并且可以通过广播实现即时投票和确认。 因此,在理想的系统中,不需要考虑共识问题。 但在实际系统中,通常会出现各种现实情况,比如非拜占庭错误/失效错误——一些节点由于断电或其他原因失效,但信息不会被篡改。此外,还会有拜占庭错误

Error——系统中可能存在恶意节点,这些节点会伪造信息,伪造虚假信息对网络进行恶意攻击。

常见共识算法:非拜占庭错误算法,如Paxos、Raft等,容忍度不超过一般故障节点; 拜占庭错误算法,比如 PBFT 等,此类算法一旦对某个结果达成共识,就是不可逆的。 在实践中,底层会根据不同的应用场景使用不同的共识算法,或者创新性的提出一些控制算法,比如比特币架构中POW的提出,以太坊中POS的使用。

密码学和安全技术

区块链中使用了密码学和安全技术中的许多非常新的技术。 不限于以下几点:散列算法、数字摘要、加解密算法、消息认证码和数字签名、数字证书及相关管理和分发制度。 此外,Merkle结构用于以太网中的存储。

现代密码学和信息安全技术的发展是进入信息时代的重要技术保障,也为区块链的底层技术和区块链的不可篡改安全性提供了保障。

第三部分,主流区块链架构介绍

一、区块链的分类

区块链分为公有链、私有链和联盟链三大类。

比特币是典型的公链。 公链任何人都可以使用和维护,公链上的信息是完全公开的。 在公有链的基础上,引入权限机制,诞生了私有链和联盟链。 私有链是一种由中心化管理者管理和约束的结构。 内部只有少数人可以使用,信息/接口不对外公开。 例如,基于区块链的银行间对账系统。 联盟链是介于公有链和私有链之间,由多个组织共同维护的区块链。 联盟链的使用必须有权限限制访问,相关信息会根据不同的权限进行保护。 比如Hyperledger就是一个典型的联盟链场景。

2、比特币:区块链思想的奠基人

比特币是一种基于区块链技术的数字货币实现。 比特币网络是历史上第一个经过大规模、长期验证的数字货币体系。 比特币的底层是区块链网络,提供公开可见的账本记录已经发生的交易的历史信息,从而有效避免重放攻击。 它具有三个功能特点: 1. 去中心化比特币的隐私保护策略,任何交易请求都需要大多数参与者形成共识。 2、匿名性:账户地址是匿名的,无法从交易信息中关联到特定的个人。 3. 防止通货膨胀:比特币独特的经济学方面

确保数字货币系统稳定运行和防止通货膨胀的设计和框架。 其发行通过挖矿计算进行,每四年产能减半。

比特币的基本概念:账户/地址。

比特币采用非对称加密算法,用户保管私钥,发起交易时,对自己发出的交易进行签名,并对外公开公钥/账户地址。 账户地址可以通过一系列的哈希运算计算出来,但账户并不是直接是公钥,而是哈希后的值,可以避免私钥过早泄露后被迫释放带来的一系列问题。 损失。

比特币的基本概念:交易。

交易是完成比特币功能的核心概念。 一笔交易通常包括:付款人地址、付款人对交易的签名认证、支付资金来源的交易ID; 交易金额,时间戳; 收款人的地址,收款人的公钥。

网络中的节点收到交易后进行检查:交易是否被处理,是否合法,输入总和是否大于输出总和等。这种形式是通过底层的UTXO校验实现的比特币。 比特币中的合法交易需要参考一些已有交易的UTXO作为交易的输入,并产生新的输出。

比特币的基本概念:区块。

区块也是比特币中一个非常重要的概念。 在比特币的一个区块中,通常包含区块大小信息、区块头信息、交易次数计数器以及所有交易的具体内容。

比特币的主要创新

首先,解决节点作恶问题。 通过经济博弈模型,合作者获利,非合作者遭受损失和风险。 合作者遵守规则,不作恶,维护网络节点。 当网络参与者众多时,如果一个非合作者作为网络中的一个节点想要作恶,你需要付出的代价大于你获得的收益。 这种邪恶的解决方案称为挖矿。

其次,比特币有独特的负反馈调节机制。 简单来说,当矿工系统中的矿工越多,即维护比特币的网络节点越多,系统就会越稳定,比特币的价值就会越高。 但是对于每一个矿工来说,挖到矿的概率,或者得到比特币奖励的概率会越来越低。 这将使比特币的价格稳定在适当的价值。 对于每个矿工来说,找到矿场的概率就等于预期收益,所以有动力去维护这样一个系统。

三、独创的POW共识算法。 一种基于概率随时间逐渐增强的共识算法。

挖矿——POW的体现

挖矿是 POW 共识算法的直观体现。 挖矿的过程是参与维护比特币网络的节点通过协助新区块的产生获得一定数量的新比特币的过程。 我们称之为挖矿。 挖矿参与者需要付出大量的时间和算力。

具体过程是参与者将前一个区块的哈希值和前一个区块后产生的经过验证的交易内容,加上一个随机数X,一起打包成一个候选新区块,使其哈希值小于给定的比特币网络中的数字。 如果得到这样一组数量,则生成符合要求的区块。 算力越大,挖矿的概率就越大。 简而言之,你挖出的区块被网络识别的概率更高。

比特币系统每两周根据前一周的挖矿时间自动调整挖矿难度,使出块时间稳定在十分钟左右。 理论上,当个人达到全网算力的 1/3 时,就会存在破坏性风险。 但这是不现实的,需要付出巨大的经济成本。

基于POW的共识机制

基于POW共识机制,通过经济惩罚限制恶意参与,作恶成本高。 由于这个哈希问题在当前的计算模型下只能暴力解决,这就保证了一定时间内系统中只会出现少数合法的提案。 能够提出一个合法的提案,也证明提议者做了很多哈希运算,也证明了一定的工作量投入,这也是people for work这个名字的由来。 这些合法提案或合法区块会在网络中广播,经过节点验证后,会根据用户认为最长的链条继续计算拼图。 所以我们可能会遇到一个或者几个合法区块同时在网络中广播的情况,这可能会导致分叉,但是最终会有一条链会成为最常见的链,最长的链的原理保证网络的唯一性。

与比特币相关的研究热点

第一,侧链。 允许资产在比特币区块链与其他区块链之间转移是目前非常热门的研究方向。 二、分叉。 比特币分叉通常分为软分叉和硬分叉。 分叉的原因是修复错误、扩展功能或调整区块结构。 底层需要全网协同升级。 软分叉是指老节点仍然可以验证新节点产生的交易和区块。 硬分叉是对老节点结构进行调整,不接受升级后新节点产生的交易和区块。 此外,扩容问题是区块链中每个区块的大小。 还有比特币相关的监管和追踪问题,一直是社会讨论的热点。

3. 以太坊:智能合约的首秀

以太坊项目最初的目标是打造一个支持图灵完备应用,并根据智能合约逻辑自动执行的智能合约平台。 理想情况下,不存在停机、审查、欺诈和第三方干预的问题。使用一个

用文字概括就是做一台世界范围的计算机。 以太坊网络是在比特币网络核心思想的基础上进行的一系列扩展。 比如比特币网络的脚本是图灵不完备的,只能运行简单的脚本——从A转账到B的账户。 以太坊网络支持图灵完备的智能合约语言,可以基于它开发各种去中心化应用程序(DApps)。

以太坊的主要特点:一是支持图灵完备的智能合约,有编程语言Solidity和虚拟机EVM。 此外,以太坊独特的叔叔块(uncle block)激励机制降低了矿池的优势,减少了区块生成的间隔。 简单的说,比如你通过工作量挖出了一个区块,虽然你没有得到大家的共识,因为可能有人比你先挖出来,在你挖出区块之前就已经在网络中达成了共识,那么你挖出的区块将被称为叔块。 在计算你的收益时,叔块会被计入你的工作,这是以太坊独有的叔块激励机制。

账户系统和世界状态在以太坊中使用,而不是比特币中的 UTXO,可以支持复杂的逻辑。 在以太坊中,账户体系分为两种:一种是用户账户,类似于比特币,有自己控制的账户私钥,发起交易时需要用私钥进行签名; 另一个是合约账户用来管理合约和响应一些外部对合约的调用的代码。

在以太坊中,猜测是用来限制代码执行的次数,从而避免循环执行攻击,保证这台全球计算机的稳定运行。 在共识算法层面,以太坊支持POW,并计划支持POS。

以太坊的核心创新:智能合约。

以太坊支持通过图灵完备的高级语言(Solidity、Serpent、Viper)开发智能合约。 智能合约是运行在以太坊虚拟机中的应用程序。 通过接收外部的交易请求和事件,触发预先编译好的代码逻辑触发相应的功能,进一步产生新的交易和事件,或者供其他智能合约调用。 智能合约的执行结果可以更新以太坊网络上的账本状态。

相关开发工具

以太坊项目从2015年开始开发,截至目前,以太坊社区已经提供了多种语言实现的客户端和开发库,支持标准的JSON-RPC协议。 最常见的是Geth,一个基于GO语言的go-ethereum的单机客户端。此外还有用于编写智能合约和Dapps的IDE,如Truffle、Embark、Remix等。

4. Hyperledger:企业级分布式账本

Hyperledger 是企业级的分布式账本。 该项目由开源世界的旗舰组织Linux基金会于2015年启动,并宣布成立,初始企业成员超过30家。Hyperledger项目的出现,宣告了区块链技术

不局限于完全开放的公链模式,这表明区块链技术已经得到主流企业市场的正式认可并在实践中得到应用。

Hyperledger 分为 8 个顶级项目。 有针对不同目的和应用场景的各种项目:Fabric、Sawtooth、Iroha、Blockchain Explorer、Cello、Indy、Composer 和 Burrow。 Hyperledger 的设计原则有三个方面: 1. 遵循模块化设计; 2.强调代码的可读性; 3.可持续发展路径。

Hyperledger Fabric:企业分布式账本

Hyperledger Fabric项目是第一个加入Hyperledger的顶级项目,目前包括Fabric、Fabric CA、Fabric SDK等项目。 定位为企业级分布式账本平台,或者说企业级区块链底层架构。 重要的特点是引入了联盟链应用场景特有的权限管理机制。 此外,该设计支持可插拔和可扩展。 是第一个面向联盟链场景的开源项目,也是迄今为止最成熟的一套联盟链底层架构。

Hyperledger Fabric:架构设计

上图是超级账本的架构设计。 账本是核心结构,记录应用信息,应用通过发起交易将数据记录在账本中。 交易执行的逻辑由链码承载。 权限管理负责整个过程的访问控制。 这样的层次结构提高了架构的可扩展性和可插拔性,使得开发者更容易以模块为单位进行更敏捷或快速的开发。

Hyperledger Fabric:核心设计

Hyperledger Fabric 的核心设计有五个方面: 1. 节点功能解耦; 2. 多通道(Channel)特性; 3. 共识; 4. 权限和隐私; 5.链码。

在联盟链的应用场景中,将各个节点的功能解耦,将网络中各个参与节点的角色解耦为四种角色: 背书人(Endorser),指对交易提案的背书; 确认者(Committer),指交易的最终检查和落盘; 排序节点(Orderer),用于对交易进行排序以打包生成新的区块; CA,用于管理证书,它不参与交易过程,但用于实现对该权限的控制和管理。

第二个特点是多通道(Channel)特性,不同通道之间的数据相互隔离,从而提高安全性。 节点可以加入不同的通道来实现不同的业务逻辑。

三是共识,对组成一个区块的所有交易进行全面的验证,包括背书策略、读写集的MWVV验证、访问控制等。 发布并支持排序算法,如Solo、Kafka、BFT。

第四是权限和隐私,对网络通道、交易流程等各个层面的权限进行控制。 Fabric CA 实现了一套基于PKI 的证书颁发和管理系统。

Chaincode 是一个扩展智能合约的概念。 Chaincode会响应Fabric应用程序发送的交易,执行代码逻辑,并与账本进行交互。链码会创建一些状态(state)并将其写入账本。 链码在Fabric节点上的隔离沙箱(目前为Docker容器)中执行,通过GRPC协议与节点交互,发布支持多种计算机语言。 链码,常用的有Golang、Java、Java等。

给定超级账本发送pic单片机,客户端可以通过CA的授权获得访问全网的权限,通过APP/SDK发送交易请求。 请求到达 Orders 后,背书模块将验证请求。 Endorsement 后续消息会回复到APP/SDK端,然后签名(已背书交易)转发给Orders。

在一定时间内收到很多这样的背书交易后,将对大区块进行排序和打包,并将新产生的区块广播到网络中。 Peer收到交易区块后,会对交易的结构完整性、是否重复签名、版本等进行一系列的检查和验证。 通过后,交易将根据区块执行,改变账本的状态。

Hyperledger Fabric:部署和使用

需要先安装本地编译环境,然后获取Docker镜像,启动Fabric网络,最后开发调试链码(智能合约)。

5、区块链技术的演进过程。

从比特币到以太坊再到超级账本的演进过程揭示了区块链技术从1.0(记账功能)到区块链2.0(智能合约),再到超级账本(商业应用)的演进过程。 它们的应用场景不同,核心功能也不同。 Ethereum和Hyperledger都支持图灵完备的智能合约,它们的核心共识算法会有所不同,根据应用场景会有不同的改进。 比特币的核心功能只是记账,比特币的区块链底层只是实现数字货币的记账体系。 以太坊在其基础上首次实现了智能合约的功能。 虽然是一条非常稳定的公链,但是在性能上还是存在一些问题。 Hyperledger是联盟链方向的一个应用。 是对区块链底层在商业层和企业级应用场景所做的探索。 这是一个循序渐进的过程。

第四部分,区块链应用

一、应用场景概述

区块链具有分布式容错、不可篡改、隐私保护等特点。 建立在其上的业务应用通常具有以下特点: 可信,去中心化或弱中心化,可以解决多方互信。 问题; 安全性,利用区块链不可篡改信息的安全技术,提供安全可靠的账户管理和结算功能; 降低成本,与传统技术所需的时间、人力和维护成本相比,使用区块链可以做得更少; 经济激励,这是最重要的

更重要的是,它在底层有一套经济激励模型来维护生态的繁荣发展。 我根据实际应用场景的不同需求,利用区块链的特性来解决不同行业的具体问题。

银行理财

区块链技术被认为有可能彻底改变银行业。 很多金融机构都做出了尝试,比如中国人民银行投资区块链研究,加拿大银行提出自己的数字货币,日本政府取消比特币消费税等。 而中国邮政银行也将区块链技术应用到其核心业务系统中,一些机构推出了基于区块链的新型支付业务,也非常具有创新性。

股票交易

传统的中心化交易系统和验证系统往往极其复杂和昂贵,而区块链技术可以大大减少处理时间和减少人工参与,同时作为去中心化应用,保证了多方之间的互信。 但是比特币的隐私保护策略,区块链的性能还没有达到要求(一般每秒10000笔以上的交易),但是随着时间的发展,区块链的性能会逐渐提高。 一个典型的应用是2015年10月,美国纳斯达克证券交易所推出了自己的区块链平台(Nasdaq Linq),实现了一级市场的股票交易流程。 通过该平台发行股票的发行人将享有“数字化”的股票所有权。

众筹投资

作为去中心化众筹管理的代表,DAO创下历史最高融资记录,融资总额超过1.6亿美元。 ICO 是为加密货币/区块链项目筹集资金的常用方式,早期参与者可以从中获得初始生成的加密数字货币作为回报。 ICO was shut down by the government in September 2017. Blockchain has brought revolutionary innovation to many application scenarios, but it needs to be treated rationally. While accepting this technology, it also needs to be aware of risks and comply with corresponding management policies.

信用管理

Credit management is a very huge potential market, and it is also one of the most promising directions in the field of big data applications. The current platform problems include: insufficient data volume, poor correlation, and insufficient timeliness. The blockchain is naturally immutable and non-repudiable. It can accurately locate these data in time and space and strictly associate them with users, thereby improving the accuracy of credit evaluation and reducing corresponding costs. A typical application is that in July 2016, Deloitte, Stratumn and LemonWay jointly launched a "micro-insurance" concept platform designed for sharing economic scenarios, and the blockchain plays the role of a trusted third party.

Ownership Management

区块链技术可用于产权、版权等所有权的管理和追踪。 Using blockchain technology, the ownership of items can be written directly on the data chain, and no one can tamper with it. Once the situation stipulated in the contract occurs, the blockchain technology will ensure the accurate execution of the smart contract, effectively reducing manual intervention and execution costs.

其他应用

2018 will be the first year of blockchain applications. Combining the characteristics of blockchain technology, it will bring revolutionary innovations to different industries. For example: sharing economy, trade management, Internet of Things, cloud storage, medical industry, communication, social networking, voting system, etc.

The development trend of the underlying technology of the blockchain has three aspects: security and privacy, distributed consensus, and transaction performance. Among them, transaction performance exists in all current public chain platforms and is the key to relatively stable operation of public chain platforms. It is necessary to increase throughput and reduce latency to achieve different levels of commercial applications. For example, it is necessary to improve the performance of a single node, put high-frequency transactions outside the chain, and optimize the design based on certain trust premise and interest constraints in the alliance chain scenario, so as to improve transaction performance, etc.

In the future development trend of blockchain, alliance chain will be widely used. Mainly because it has two characteristics: 1. Fine-grained authority control. In a commercial application scenario, multiple organizations participate, and each organization has different access or data reading authority. The chain can realize this kind of fine-grained permission control. 1. Commercial-level application performance. In addition, the performance of the relatively stable public chain cannot meet the commercial-level standards, while the alliance chain can reach the commercial level and meet some commercial needs. We have reason to believe that with the improvement of performance, blockchain will be used more in various business scenarios. And in actual applications, according to the specific needs of different application scenarios, the corresponding underlying architecture can be modified to build a common underlying architecture for blockchains in different vertical fields.