区块链解析(一)

1、区块链的模型架构

                区块链基础模型架构分为六层,自下而上包括数据层、网络层、共识层、激励层、合约层、应用层。每一层在完成一项

         核心功能的同时,与其他各层互相配合,从而实现一个去中心化的信息机制。

               

                数据层:封装了底层数据区块以及相关的数据加密和时间戳等技术;

                网络层:包括分布式组网机制、数据传播机制和数据验证机制等;

                共识层:主要封装网络节点的各类共识算法;

                激励层:将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;

                合约层:主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;

                应用层:封装了区块链的各种应用场景和案例。

             

 

2、区块链的五大模型

               目前,区块链主要发展出了以下五种不同的类型:

             (一)公有链

                       公有链是指全世界任何人都能发送交易且交易能获得有效确认,任何人都能参与它的共识过程的区块链。

                公有链是最早产生、目前应用最广泛的区块链。

                        四个特点:

                               ①对使用端的保护在所有区块链中最高

                               ②访问门槛低

                               ③所有数据默认公开

                               ④完全去中心化的区块链

         

              (二)私有链

                       私有链仅由某个组织、机构或者个人使用,使用者独享写入权限,该链的读写权限、参与记账权限是否对外

                开放,由使用者决定。目前,私有链的应用场景主要是企业内部的应用,如数据库管理、审计等。

                       四个特点:

                             ①部分去中心化

                             ②交易速度非常快

                             ③给隐私更好的保护

                             ④可以选择没有代币的设计方案(记账本来就是员工的职责)

             

              (三)联盟链

                       联盟链,又称行业链,是指其共识过程受到预选节点控制的区块链。预选节点就是从联盟若干节点中指定的参与

                共识过程的节点,若干预选节点共同决定每个区块的生成,其他节点可以参与交易,但不过问记账过程。联盟链的应

                用场景主要是机构之间的交易、结算或清算等B2B场景。

                       四个特点:

                            ①多中心化

                            ②对安全和性能的要求笔公有链高

                            ③可扩展性强,更适用于很大规模的交易

                            ④适用于产业或国家进行的清算、结算、容易进行权限控制
              

             (四) 跨链

                        跨链可以通过技术手段让价值跨过链和链之间的障碍进行直接流通。跨链就像一座桥梁架在两个账本之间,

               使一条区块链上存储的价值转移到另一条链,实现价值的流通。

                       目前出现的跨链技术主要有四种:公证人机制、侧链/中链、哈希锁定、分布式私钥控制。
 

             (五)互联链

                       互联链,就是各种不同的区块链之间通过某种互联互通协议链接起来的一个更大的生态区块链。比如,电子商务

               公有链+物流公有链+物流联盟链+银行联盟链+......它们之间进行互联互通后,可以互相协作、通讯、共识,就形成了一

              个典型的互联链。未来,国内区块链之间,国外区块链之间,国内与国外区块链之间,都可以通过互联互通协议进行

               互联,最终形成区块链全球网络。

3、区块链中的密码学基础

            (一)Hash算法和Hash函数

                       Hash(哈希或散列)算法能将任意长度的二进制明文串压缩为较短的(通常是固定长度的)二进制串(Hash值或散

              列值),并且不同的明文很难映射为相同的Hash值。Hash算法通常用于实现数据完整性和实体认证,并且构成多种密码

              体制和协议的安全保障。

                       Hash算法和Hash函数具有以下特性:

                                ①容易压缩

                                ②容易计算

                                ③原像不可逆性

                                ④抗碰撞性

                                ⑤难题友好型

                                          没有快捷的方法可以产生一个满足特殊要求的哈希结果,这样,通过哈希运算得出的符合特定要求的

                                哈希值,就可以作为共识算法中的工作量证明。

           

            (二)加解密算法

                        1、加密解密编码的基本概念

                                 ①明文:通信过程中,信息的发送方将要发送的信息成为明文。

                                 ②加密:通过某种运算或变换将明文变为表面上获取不到任何有用的信息的随机消息的过程。

                                 ③密文:在加密过程中产生的随机序列成为密文。

                                 ④解密:加密过程的逆过程,即由密文恢复出明文的过程成为解密。

                                 ⑤密钥:加密与解密的算法通常都需要一组密钥参与控制。加密过程中使用的密钥成为加密密钥,解密过程

                                     中使用的密钥称为解密密钥。

         

                       2、加解密算法

                                (1)对称加密算法(私钥加密或单钥加密)

                                          加密和解密过程的密钥相同。

                                                 优点:效率高、速度快、空间占用小、加密强度高。

                                                 缺点:参与方都需要提前持有密钥,一旦有人泄露则安全性被破坏。

                                          对称加密根据明文加密方式的不同又分为流密码和分组密码两种。流密码是指明文消息按字符逐位地

                                   加密,而分组密码是将明文消息进行分组,逐组地进行加密。

                               (2)非对称加密算法

                                        非对称加密中,加密密钥与解密密钥不同,分别称为公钥和私钥。私钥一般需要通过随机数算法生成,

                                 公钥可以根据私钥生成。公钥一般是公开的,是他人可获取地,任何人可用其进行加密从而向特定地接收方

                                 传送消息。私钥一般是个人持有,用于解密过程。

                                        非对称加密算法地优点是公私钥分开,不安全通道也可使用。缺点是速度较慢,加密强度也不如对称。

                       3、加解密算法地基本操作

                                  替换:用明文以外的其他字符以一定的规律去代替明文中出现的字符,从而生成密文来迷惑攻击者。

                                  位移:在生成的密文中不增加明文以外的新的字符,通过改变明文中字符出现的顺序来达到加密的效果。

                                  异或: 因为在现代加密解密编码中大多数是对于0和1的比特序列进行运算操作,所以引入异或概念。

           

             (三)消息验证码和数字签名

                       1、消息验证和消息验证码

                                 消息验证是指验证者验证所接收到的消息是否确实来自真正的的发送方,并且消息在传递的过程中没被修改 

                          的过程。消息认证是抗击伪装、内容篡改、序号篡改、计时篡改和信源抵赖的有效方法。

                                 加密技术和数字签名可用来实现消息验证,但更为简单的实现方法是利用消息验证码。

                                 消息验证码(MAC)是一种认证技术,是指消息被一密钥控制的公开函数作用后产生的,用于认证的、固定

                          长度的数值,也成为密码校验和。认证码与通信中的检错码不同,检错码用来检验由于通信缺陷而导致消息发生

                          的错误,而认证码用来防止攻击者恶意篡改或伪造消息。

                       2、数字签名

                                 对签名的基本要求是无法伪造、容易认证和不可抵赖。在我国设立了电子签名法,承认数字签名和手写签名

                          具有同等的法律效应。如果一份消息附带有某人的数字签名,那么可以确信该消息确实是从该用户处发出的,因

                          此,数字签名也可以说是连接加密技术和认证技术的桥梁。

                                一般而言,最简单的数字签名就是发送方将整个消息用自己的私钥加密,接收方用发送方的公钥解密,解密

                          成功就可验证确实是发送方的签名,但非常耗时。因此,一般是对消息用散列函数求消息摘要,然后发送方用私

                          钥对消息摘要加密,这个加密的信息摘要就是发送方的数字签名,将其附在文件后,一起发送给接收方。验证签

                          名时,接收方先用发送方的公钥解密数字签名,然后将提取到的散列值与自己计算该文件的散列值相比较,如果

                          相同就表明该签名是有效的。

              

                                           

                       

猜你喜欢

转载自blog.csdn.net/myCsdn_Xm/article/details/106380876