区块链技术的基本理论

天翼云开发者社区
• 阅读 222

本文分享自天翼云开发者社区《区块链技术的基本理论》,作者:z****n

2008年10月31日,“中本聪”首次提出数字加密货币的概念。2009年,第一枚加密数字货币——比特币诞生。区块链技术作为比特币的核心技术,凭借去中心化、公开透明、不可篡改的特点受到国内外各界人士的高度关注,将其应用于各个领域(如金融、医疗保健、资产注册)。区块链是一个分布式系统,它记录所有的状态更新信息,例如加密货币系统中的交易。状态更新信息被复制并在所有参与方之间共享。区块链的主要特性是,它允许不受信任的参与方以一种安全的方式相互通信和发送状态更新信息,而无需完全受信任的第三方或授权的中心方。

为保证存储在区块链中的信息的安全性与完整性,区块链技术主要结合了以下三种密码学算法: 1.哈希算法:利用哈希函数,可以将任何长度的信息压缩为一个固定的二进制序列(哈希值)。哈希函数具有抗碰撞、不可逆和随机性等特性,为哈希算法的计算结果提供了安全性的保障。 2.非对称加密:在区块链中,使用了非对称加密技术来处理交易信息在传输过程中的安全问题。非对称加密算法中包含公钥与私钥。公钥是由私钥产生的,而私钥生成公钥的过程是单向的,因此私钥的安全性得到了保障。非对称加密过程可以归纳为:甲、乙双方首先分别产生一堆密钥,并将公钥公之于众;乙方使用甲方的公钥,对消息进行加密后发送给甲方,甲方利用自己的私钥解密其收到的加密消息;同理,甲方也会使用乙方的公钥对消息进行加密后发送给乙方,而乙方利用自己的私钥解密其收到的加密消息。 3.数字签名:在实际应用中,只采用非对称加密无法保证消息数据的安全性。在区块链系统中,可以使用数字签名来解决这个问题。数字签名是附加在交易信息上的具有不可否认性的数据,其签名过程如下图所示。传输交易信息时,发送方通过哈希运算生成对原始交易数据的数据摘要,并利用私钥对生成的数据摘要进行加密产生摘要密文,生成的摘要密文就是该交易的数字签名,随后将数字签名和交易信息打包发送给接收方。接收方接收到打包消息后,用与发送方一样的哈希函数对打包消息中的原始数据进行哈希运算生成数据摘要x,然后通过发送方的公钥对打包消息中的数字签名进行解密形成数据摘要y,若x和y的值相等,则接收方就能确认该交易信息是发送方的并且没有被篡改。

区块链技术的基本理论

区块链平台一般被划分为数据层、网络层、共识层、协议层和应用层数据层:区块链技术中的最底层,该层进行数据的安全存储和交易,通过封装的链式结构、非对称加密和共识算法等技术手段实现。区块内存储区块链网络中产生的所有交易数据。区块结构如下图所示,每个区块由区块头和区块体构成。区块头包含当前区块版本号、前一区块哈希值、时间戳、随机数、当前区块哈希值以及Merkle数根。区块体包含交易的数量和具体的交易信息。

区块链技术的基本理论

其中,区块版本号是要遵循的区块验证规则集;前一区块哈希值为上个区块的256位哈希值,它确保之前的区块无法被篡改,并使区块链在逻辑上链接到一起;时间戳标记了区块形成的大概时间,使得区块能够按照时间的先后次序进行排列;Merkle树根是该区块所有交集信息的哈希值;区块体中的Merkle树的叶子节点上的值是每个交易的哈希值,Merkle数根通过区块中Merkle树上的所有交易进行哈希运算产生并记入区块头,Merkle树上的每一叶子节点的哈希值发生改变都会导致Merkle树根值发生改变。因此,在Merkle树形成的过程中,一旦某一交易信息被人篡改,就会导致Merkle根节点发生改变。此时可以通过遍历Merkle树很容易定位找到篡改的交易。

网络层:区块链采用点到点(Peer-to-Peer)的方式来实现组网,消息以及数据的传输是在节点之间进行的,不需要任何中间环节或中央服务器,节点就拥有随时加入或离开网络的权利,因此P2P协议是网络层使用的传输协议。在区块链网络中,节点必须共同维护区块链系统。在区块链网络内,当一个新的交易被一个节点发布时,其他节点收到消息后对交易进行验证,该交易在验证通过后被放到一个新的区块中,由获得记账权的节点广播到网络中,而其他节点对新的区块进行验证,通过后存储到区块链中。

共识层:节点间的共识过程是指,互不信任的节点在区块链内利用特定的算法,短期之内消除恶意节点带来的干扰,从而对正确结果达成一致。区块链的关键技术之一是使高度分散的节点能够在去中心化的区块链中实现有效地共识。当前的共识机制主要有:比特币的工作量证明、以太坊的权益证明、EOS的委托权益证明等等。

合约层:由各种脚本、代码、算法机制及智能合约组成,是区块链可编程的基础。智能合约作为传统合约的数字化形式,就是利用算法或程序等技术在区块链内自动执行一段由传统合约编码的程序。智能合约为区块链增加了可编程的特性。

应用层:区块链的各种应用场景和案例,常应用在数字货币、金融交易、数据鉴证、选举投票、物流等方面。

区块链按准入机制可以分为三类:公有链、联盟链、私有链: 在公有链中,不需要经过许可,任意节点便可随意加入或离开区块链网络,一旦加入到区块链内,节点就可以获取从创世区块到当前区块上的所有交易数据,所有节点为确保区块链的稳定性,需要通过共识对新区块的产生以及对区块上记录的交易达成一致。

联盟链是一种半开放式区块链,内部由负责打包交易、生成新区块的记账节点和负责生成交易、查询交易的普通节点组成。联盟链适用于某个团体或者组织,它可以在一定范围内建立一个网络,仅通过授权的节点才能加入到网络中,使数据的生成和访问是可控的,同时也可以保证数据进行多方维护以及防止数据泄露。超级账本(Hyperledger Fabric)是联盟链的主要平台。

私有链中,只利用区块链的总账技术进行记账,该区块链的写入权限仅由一个公司或个人独享。

根据区块链的发展演化阶段,区块链经历了以比特币为代表所实现可编程货币的区块链1.0模式、以太坊为代表实现可编程金融的区块链2.0模式、以 EOS为代表实现可编程社会的区块链3.0模式的三个发展时期

区块链1.0:可编程货币是区块链1.0的典型应用。其中,比特币系统是一种全新的去中心化数字支付系统,可以满足用户随时随地进行交易的需求。交易过程信息都被存储在区块中,并且,每个区块中的内容都由全球网络中的无数计算机来检查、维护和更新,以确保区块中的内容不被篡改,做到记账结果的公开透明性。

区块链2.0:基于区块链1.0可编程的特点,人们将智能合约的理念加入到区块链中,获得了图灵完备的区块链2.0技术架构。区块链2.0中的节点可以通过简单的脚本实现对流通的数字资产的精确控制,区块内的交易内容扩展到可以包括金融信息,如知识产权、房产的契约等。如以太坊可通过智能合约使得区块链能够支持社会系统的诸多应用。

区块链3.0:随着区块链技术的进一步发展,为了有效的治理社会,人们预将在全社区对区块链普遍认可的前提下,将其应用于公证、仲裁、审计、投票等各种基础设施及日常应用中,形成一个可编程的社会。可编程社会能够以去中心化的形式配置全球资源,能够使得民主投票选举等与信用相关的社会活动变得更加公开透明,从而促进经济社会的发展和管理。区块链影响未来的互联网以及社会是必然的发展趋势。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Python从零实现区块链仿真【含源码】
在区块链或数字货币领域,Python并不是主流的开发语言。但是如果你的目的是研究区块链技术的原理,或者需要在自己的笔记本上仿真一个区块链网络并进行一些研究性的实验,比如完成自己的毕业设计项目或科研课题,那么Python就是合适的。在这个教程里,我们将学习如何使用Python从零开发一个多节点的区块链网络,并基于这个仿真区块链网络,开发一个去中心化的数据分享应
Stella981 Stella981
3年前
Go语言Tendermint Core开发指南
TendermintCore是一个用Go语言开发的支持拜占庭容错/BFT的区块链中间件,用于在一组节点之间安全地复制状态机/FSM。TendermintCore的出色之处在于它是第一个实现BFT的区块链共识引擎,并且始终保持这一清晰的定位。这个指南将介绍如何使用Go语言开发一个基于TendermintCore的区块链应用。TendermintCo
Wesley13 Wesley13
3年前
NEO从源码分析看UTXO交易
_0x00前言_社区大佬:“交易是操作区块链的唯一方式。”_0x01交易类型_在NEO中,几乎除了共识之外的所有的对区块链的操作都是一种“交易”,甚至在“交易”面前,合约都只是一个小弟。交易类型的定义在Core中的TransactionType中:源码位置:neo/Core/TransactionType
Stella981 Stella981
3年前
DCF Plus重塑区块链产业联盟链,任重道远
  当前,区块链技术已进入联盟链阶段,而监管成为制约区块链产业健康可持续发展的关键问题,如何有效监管一直是各国最大的课题与挑战。区块链行业如何实现有效安全的监管,监管标准制定显得尤其关键,这是区块链行业向好的一大指标。  DCFPlus重塑区块链产业联盟链,任重道远  2019年年底,在区块链技术大会上,中国工程院院士谈及区块链的监管挑战时,再次为
Wesley13 Wesley13
3年前
1区块链底层技术
  每次在讲解区块链时,都会收到很多关于底层技术问题,感觉很有必要对区块链的底层技术进行分享,这也是我写这一系列文章的动力。  2015年接触比特币(可惜当时没有囤币),作为一个在IT行业摸爬滚打多年,并且是技术出身的人,成功的被比特币底层技术区块链所吸引。区块链与其说是新兴技术,不如说是新的理念、新的概念或者说是一种架构应用,是对目前中心化系统存在问
linbojue linbojue
9个月前
数字货币交易所开发(数字货币交易所开发价格)
数字货币交易所开发是当前数字货币行业中备受关注的一个话题。随着区块链技术的不断发展和数字货币市场的蓬勃发展,数字货币交易所作为数字货币买卖的主要场所,其开发和运营也显得尤为重要。数字货币交易所开发(数字货币交易所开发价格)(https://www.ming
hashgame776 hashgame776
2年前
哈希竞猜游戏算法原理及特性说明hashgame776
PoH作为一种新的共识算法近期受到了较大的关注,而PooI验证池和PBFT则是联盟链和私链中较为常见的共识算法。1、PoH:即历史时间证明算法,旨在通过将时间本身编码到区块链中来减轻处理块中网络节点的负载。PoH采用创新的分片式时钟,将时间和状态解耦。简单来说就是将全局的时间链和每个区块的时间链分开,状态的更新不再需要全局时间的同步。PoH通过引入一个名叫信
搭建平台吧 搭建平台吧
2年前
哈希竞猜游戏技术方向-区块链技术游戏
哈希是区块链技术和防篡改潜力的核心基础和最重要的方面,通过哈希算法可以保持记录以及查看数据的真实性和区块的完整性。这就是区块计数最重要技术特征的一部分。区块链指的是一个又一个区块组成的链条,该链条被保存在所有的服务器中,但凡整个系统中有一台服务器可以工作,那么整条区块链就是安全的;这些服务器在区块链系统服务中被称为节点,是为整个区块链系统提供储存空间和算力支
搭建平台吧 搭建平台吧
2年前
爆火游戏--哈希竞猜游戏
哈希值是区块链技术不可变的和确定的潜力核心基础和最重要的方面。它保留了记录和查看的数据的真实性,以及区块链作为一个整体的完整性。这是一个更技术性的方面,然而,理解区块链如何工作以及它所具有的不可估量的潜力和价值是更坚实的一步。区块链已经出来这么长时间了,有人就在讨论这个东西到底有没有未来,然后这东西的未来又是什么呢?区块链现在的确是有着很多的应用,就比如这种
哈希搭建 APP 哈希搭建 APP
2年前
什么是数字货币?
数字货币是信息和技术革命的产物。2009年成功诞生。“比特币”是数字货币世界的第一种货币。数字货币的发行是通过计算机程序的算法以分散的形式实现的。在过去十年中,这些货币的交易继续发展,并产生了规范相关交易操作和实施监督的程序。通过“区块链”记账法,监控交易过程,了解每一笔账。这些数据可以通过在线交易中获得的密码和用户名提供给所有经销商。矿工被视为加密货币市场
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
727
粉丝
15
获赞
40