【软考】系统架构设计师 - 知识扩展 - “区块链技术“

目录

一 简介

1 比特币❤️

2 区块链的特点❤️

3 共识算法❤️

二 练习题

三 扩展

1 哈希算法❤️

2 哈希指针❤️

3 UTXO❤️

4 参考资料❤️

 

一 简介

1 比特币❤️

比特币底层采用了区块链技术。
比特币交易在我国定性为非法运用。
比特币采用的就是非对称密码体制。
比特币的所有权是通过私钥和地址来确立的。

2 区块链的特点❤️

(1)去中心化
任意节点的权利和义务都是均等的,不存在中心化的硬件或管理机构。系统中的数据块由整个系统的具体维护功能的节点来共同维护。
区块链是一个分布式账本,一种特殊的分布式数据库。
(2)开放性
区块链上的交易信息是公开的,但是注意账户身份信息是加密的。
(3)自治性
区块链采用基于协商一致的规范和协议使得整个系统中的所有节点能够在去信任的环境自由安全地交换数据。
(4)安全性
数据在多个节点存储了多份,篡改数据得改掉51%节点的数据,这个几乎不可能。
每笔交易都有付款人私钥签名,其他人无法伪造。
(5)匿名性
交易对手无需通过公开身份的方式让对方信任自己。

3 共识算法❤️

【软考】系统架构设计师 - 知识扩展 - “区块链技术“_第1张图片

比特币采用了工作量证明(POW)
争夺记账权 = 挖矿
计算出来的账单节点哈希值前13个字符为0,说明符合规则,得到记账权。
有一个节点计算出结果,就会广播消息告知其他节点,其他节点则会更新数据。


计算困难,但是验证很容易。例如:218903=哪两个质数的乘积?答案为457*479

二 练习题

(1)2020年

以下关于区块链应用系统中“挖矿”行为的描述中,错误的是()
A. 矿工“挖矿”取得区块链的记账权,同时获得代币奖励
B. “挖矿”本质上是在尝试计算一个Hash碰撞
C. “挖矿”是一种工作量证明机制
D. 可以防止比特币的双花攻击
答案:D


解析:双花可以理解为同一货币花费两次。该问题的解决,依赖于系统中维护的一个数据结构,记录货币的使用情况(是否被花过?被谁花过?)。该数据结构由系统中全体用户共同维护,保证了交易的有效性。该数据结构,便是区块链。


(2)2022年

试题三论区块链技术及应用
区块链作为一种分布式记账技术,目前已经被应用到了资产管理、物联网、医疗管理、政务监管等多个领域。从网络层面来讲,区块链是一个对等网络(Peer to Peer, P2P),网络中的节点地位对等,每个节点都保存完整的账本数据,系统的运行不依赖中心化节点,因此避免了中心化带来的单点故障问题。同时,区块链作为一个拜占庭容错的分布式系统,在存在少量恶意节点情况下可以作为一个整体对外提供稳定的服务。
请国绕‘区块链技术及应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.区块链包含多种核心技术,请简要描述区块链的3种核心技术。
3.具体阐述你参与管理和开发的项目是如何应用区块链技术进行设计与实现。

三 扩展

1 哈希算法❤️

(1)哈希算法的特点

单向性。不可逆。
可以根据任意长度的消息计算出固定长度的散列值。
不同的输入就有不同的输出。
算法效率高。


(2)典型的哈希算法
Hash算法中比较著名的是MD系列和SHA系列。
MD5、SHA属于哈希算法,哈希算法的作用为“用于保障信息的完整性,用于防篡改”。

2 哈希指针❤️

普通指针只是保存结构体在内存中的位置,而哈希指针是不仅要保存结构体在内存中的位置,还要保存结构体的哈希值;这样的好处是,通过哈希指针,不仅能够找到结构体的位置,还能知道结构体是否被篡改。


区块链是由一个个区块连接而成,区块链和普通链表的主要区别就在于用哈希指针代替了普通的指针。普通链表如果内容发生了改变,指针不会发生改变,而区块链一旦内容发生了变化,后面区块的哈希指针都会发生变化,类似于多米诺骨牌效应。


区块链的哈希指针能够唯一而精准地识别一个区块,区块链中任意结点通过简单的哈希运算,都可以获得这个区块的哈希指针,计算出的哈希值没有变化就意味着区块链中的信息没有被篡改。

3 UTXO❤️

【软考】系统架构设计师 - 知识扩展 - “区块链技术“_第2张图片

4 参考资料❤️

比特币相关知识

你可能感兴趣的:(系统架构设计师,区块链)