028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

一文读懂区块链技术架构-创新互联

创新互联公司从2013年开始,先为阳东等服务建站,阳东等地企业,进行企业商务咨询服务。为阳东企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

区块链就是一个分布式、有着特定结构的数据库,是一个有序,每一个块都连接到前一个块的链表。也就是说,区块按照插入的顺序进行存储,每个块都与前一个块相连。这样的结构,能够让我们快速地获取链上的最新块,并且高效地通过哈希来检索一个块。

1、区块链六层模型

一个标准的区块链项目,应该至少包含数据层、网络层、共识层这三层,应用层、合约层、激励层可以不包含。

以一个交易的例子来说明这模型所起的作用,假如说,我们有三个角色,
A有100btc,B有0btc,c是矿工,现在A给B转10个btc,
1、A->B转账10比特币,数据层
2、转账交易要确认,需要广播出去,网络层
3、把交易打包到区块形成新的区块,并且加入到区块链,共识层
4、第三步的奖励,激励层
5、钱包,应用层

区块链开发语言

2、区块链模型之数据层

1)数据层的特点是:

要实现这样的特点,依靠是链式结构,如下

Prev Hash:父区块哈希,特定值的扫描。比方说SHA-256下的随机散列值,保证数据的可靠性和不可篡改。
Nonce:随机数,类似于区块的随机散列值

2)、数据层之数据结构:

补充:1.安全散列算法(The Secure Hash Algorithm,SHA)美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数。

2.第一个区块高度为0,2016年2月25号区块高度大约为399,900

3)、数据层之区块的链接

4)、数据层之创世区块

备注:

难度公式:difficulty = difficulty_1_target / current_target。
difficulty_1压缩值:0x1d00ffff
difficulty_1_target固定值:0xffff2^(8(0x1d-3)) -------这两个值都是固定的

current(计算目标)压缩值:0x1729d72d(10进制为38818029,如下图中的计算目标)
current(计算目标)固定值:0x29d72d2^(8(0x17-3))

难度系数difficulty= 0xffff2^(8(0x1d-3)) / 0x29d72d2^(8(0x17-3))
即,计算目标越小,难度系数越高

比特币区块链浏览器 https://blockchain.info/zh-cn/

5)、数据层之时间戳

时间戳,指的是各个节点本地的时间戳

6)、数据层之交易记录

7)、数据层之私钥,公钥,钱包地址

比特币系统使用了椭圆曲线签名算法,算法的私钥由32个字节随机数组成,通过私钥可以计算出公钥,公钥经过一系列哈希算法和编码算法得到比特币地址,地址也可以理解为公钥的摘要(hash)。

8)、数据层之记账原理

已知:发送方(张三 公钥地址):19anBP……iPitVr
接收方(李四 公钥地址):1Eu8Uk…….Xy7i2B
金额:10 BTC

9)、数据层之交易签名,校验流程

一个广播出去的区块交易数据包含三部分,

10)、数据层之非对称加密算法

在“加密”和“解密”的过程中分别使用两个密码

11)、数据层之Merkle树

Merkle 树是一种哈希二叉树,用于快速递归和校验大规模数据完整性,是一种平衡树(如果是奇数个交易,则多余的那个自己复制自己)

SPV : 简单支付验证,一个节点只需要仅下载区块头(80字节)+Merkle路径就能证明一笔交易的存在,这个节点称之为轻节点。

如上图,假如我们想要确定H(K)这笔交易的准确性,证明方法:

1)服务器A,轻节点,只有区块头,没有区块体,但是能够与全2节点通信,获得Merkle树的hash;

2)服务器B,全节点,区块头和区块体都有;

3)确定Merkle路径(H(L),H(IJ),H(MNOP),H(ABCDEFGH))

4)向全及诶单请求数据(H(L),H(IJ),H(MNOP),H(ABCDEFGH))

5)进行验证,多次hash运算,最后跟Merkle根做hash比较

12)、哈希(hash)函数

哈希函数:Hash(原始信息) = 摘要信息
原始信息可以是任意的信息,hash之后会得到一个简短的摘要信息。

哈希函数有几个特点:


3、区块链模型之网络层

1)、网络层之数据传播和验证

2)、网络层之P2P技术

P2P组网技术早期应用在BT这类P2P下载软件中,这就意味着区块链具有自动组网功能,支持TCP,UDP等通信协议

3、区块链模型之共识层

拜占庭将军问题:如何让不信任,不可靠的多方,协同工作,达成统一目标——靠共识。
拜占庭将军问题是Leslie Lamport(2013年的图灵讲得主)用来为描述分布式系统一致性问题(Distributed Consensus)在论文中抽象出来一个著名的例子(互不信任的多支军队同时保持进攻或者防守)。

共识层封装了网络节点的各类共识机制算法,共识机制算法是区块链的核心技术,因为这决定了区块的产生,而记账决定方式将会影响整个系统的安全性和可靠性。

目前已经出现了十余种共识机制算法,其中比较最为知名的有

数据层、网络层、共识层是构建区块链技术的必要元素,缺少任何一层都将不能称之为真正意义上的区块链技术。

作者:张凯_9908  来源:简书

互联互通社区


互联互通社区专注于IT互联网交流与学习,旨在打造最具价值的IT互联网智库中心,关注公众号:互联互通社区,每日获取最新报告并附带专题内容辅助学习。方案打造与宣讲、架构设计与落地、人员招聘与培训、数据中台建设等技术咨询与服务合作请+微信:hulianhutongshequ


网站标题:一文读懂区块链技术架构-创新互联
文章地址:http://www.tsicrk.com/article/cdijde.html

其他资讯

让你的专属顾问为你服务

1.6316s