区块链基础入门

1. 区块链定义 区块链技术本质上是一个去中心化的数据库,它是比特币的核心技术与基础架构,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改、不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。 1.1 区块链的技术特征 区块链上存储的数据需由全网节点共同维护,可以在缺乏信任的节点之间有效地传递价值。相比现有的数据库技术,区块链具有以下技术特征。 块链式数据结构 区块链利用块链式数据结构来验证和存储数据,通过上文对区块链基本概念的介绍可以知道,每个区块打包记录了一段时间内发生的交易是对当前账本的一次共识,并且通过记录上一个区块的哈希值进行关联,从而形成块链式的数据结构。 分布式共识算法 区块链系统利用分布式共识算法来生成和更新数据,从技术层面杜绝了非法篡改数据的可能性,从而取代了传统应用中保证信任和交易安全的第三方中介机构,降低了为维护信用而造成的时间成本、人力成本和资源耗用 密码学方式 区块链系统利用密码学的方式保证数据传输和访问的安全。存储在区块链上的交易信息是公开的,但账户的身份信息是高度加密的。区块链系统集成了对称加密、非对称加密及哈希算法的优点,并使用数字签名技术来保证交易的安全。 1.2 区块链的功能特征 区块链系统的以上技术特征决定了其应用具有如下功能特征。 多中心 不同于传统应用的中心化数据管理,区块链网络中有多个机构进行相互监督并实时对账,从而避免了单一记账人造假的可能性,提高了数据的安全性。 自动化 区块链系统中的智能合约是可以自动化执行一些预先定义好的规则和条款的一段计算机程序代码,它大大提高了经济活动与契约的自动化程度。 可信任 存储在区块链上的交易记录和其他数据是不可篡改并且可溯源的,所以能够很好地解决各方不信任的问题,无需第三方可信中介。 2. 区块链的相关概念 区块链以密码学的方式维护一份不可篡改和不可伪造的分布式账本,并通过基于协商一致的规范和协议(共识机制)解决了去中心化的记账系统的一致性问题,其相关概念主要包括以下三个。 交易(Transaction) 区块链上每一次导致区块状态变化的操作都称为交易,每一次交易对应唯一的交易哈希值,一段时间后便会对交易进行打包。 区块(Block) 打包记录一段时间内发生的交易和状态结果,是对当前账本的一次共识。每个区块以一个相对平稳的时间间隔加入到链上,在企业级区块链平台中,共识时间可以动态设置。 链(Chain) 区块按照时间顺序串联起来,通过每个区块记录上一个区块的哈希值关联,是整个状态改变的日志记录。 区块链的主要结构 如何解决交易中的信任和安全问题 区块链技术体系不是通过一个权威的中心化机构来保证交易的可信和安全,而是通过加密和分布式共识机制来解决信任和安全问题,其主要技术创新有以下4点。 分布式账本 交易是由分布式系统中的多个节点共同记录的。每一个节点都记录完整的交易记录,因此它们都可以参与监督交易合法性并验证交易的有效性。不同于传统的中心化技术方案,区块链中没有任何一个节点有权限单独记录交易,从而避免了因单一记账人或节点被控制而造假的可能性。另一方面,由于全网节点参与记录,理论上讲,除非所有的节点都被破坏,否则交易记录就不会丢失,从而保证了数据的安全性。 加密技术和授权技术 区块链技术很好地集成了当前对称加密、非对称加密和哈希算法的许多优点,并使用了数字签名技术来保证交易的安全性,其中最具代表性的是使用椭圆曲线加密算法生成用户的公私钥对和使用椭圆曲线数字签名算法来保证交易安全。打包在区块上的交易信息对于参与共识的所有节点是公开的,但是账户的身份信息是经过严格加密的。 共识机制 共识机制是区块链系统中各个节点达成一致的策略和方法。区块链的共识机制替代了传统应用中保证信任和交易安全的第三方中心机构,能够降低由于各方不信任而产生的第三方信用成本、时间成本和资本耗用。常用的共识机制主要有PoW、PoS、DPoS、Paxos、PBFT等,共识机制既是数据写入的方式,也是防止篡改的手段。 智能合约 智能合约是可以自动化执行预先定义规则的一段计算机程序代码,它自己就是一个系统参与者。它能够实现价值的存储、传递、控制和管理,为基于区块链的应用提供了创新性的解决方案。 3. 区块链分类 按照节点参与方式的不同,区块链技术可以分为:公有链(Public Blockchain)、联盟链(Consortium Blockchain)和私有链(Private Blockchain)。按照权限的不同,区块链技术可以分为:许可链(Permissioned Blockchain)和非许可链(Permissionless Blockchain)。前述的三大类区块链技术中,联盟链和私有链属于许可链,公有链属于非许可链。...

April 17, 2021 · 1 min · 李昌