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

目录

一 简介👑

1 比特币❤️

2 区块链的特点❤️

3 共识算法❤️

二 练习题👑

三 扩展👑

1 哈希算法❤️

2 哈希指针❤️

3 UTXO❤️

4 参考资料❤️

 

一 简介👑

1 比特币❤️

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

2 区块链的特点❤️

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

3 共识算法❤️

f3a0e802870745f1a35e1cd0e05429f5.png

比特币采用了工作量证明(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❤️

9f3fa76ffcd148a695e26bee43f6a521.png

4 参考资料❤️

比特币相关知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

03目标检测-传统方法与深度学习算法对比

目录 一、目标学习的检测方法变迁及对比 二、深度学习目标检测算法基本流程 三、传统目标检测算法VS深度学习目标检测算法 一、目标学习的检测方法变迁及对比 “目标检测“是当前计算机视觉和机器学习领域的研究热点。从Viola-Jones Detector、DPM等冷兵器时代的智…

leetcode算法题--求1+2+…+n

原题链接:https://leetcode.cn/problems/qiu-12n-lcof/description/?envTypestudy-plan-v2&envIdcoding-interviews 快速乘,俄罗斯农民乘法 func sumNums(n int) int {res : 0A, B : n, n 1add : func() bool{res Areturn res > 0}_ (B&…

【数据结构】二叉树的链式结构

【数据结构】二叉树的链式存储结构 二叉树的存储结构 typedef int BTDataType; // 二叉树的结构 typedef struct BinaryTreeNode {BTDataType data; // 树的值struct BinaryTreeNode *left; // 左孩子struct BinaryTreeNode *right;// 右孩子 } BinaryTreeNode;二…

EXCEL如何把一个单元格内的文本和数字分开?例如:龚龚15565 = 龚龚 15565

使用工具:WPS 举例: EXCEL如何把一个单元格内的文本和数字批量分开?不使用数据分列。 第一步、将第二行数据冻结 第二步、在B1、C1单元格输入需要分开的示例 第三步、点击选中B1单元格,输入快捷键【CTRLE】进行填充。B2单元格也是…

图书管理系统—Java

文章目录 1.书类2.图书列表3.新增图书4.借阅图书5.删除图书6.显示图书7.退出系统8.查找图书9.接口10.归还图书11.管理员菜单12.普通用户菜单13.用户类14.主函数 1.书类 package book;public class Book {private String name;private String author;private int price;private…

【AIGC】图片生成的原理与应用

前言 近两年 AI 发展非常迅速,其中的 AI 绘画也越来越火爆,AI 绘画在很多应用领域有巨大的潜力,AI 甚至能模仿各种著名艺术家的风格进行绘画。 目前比较有名商业化的 AI 绘画软件有 Midjourney、DALLE2、以及百度出品的文心一格:…

MinGW-W64 下载、安装与配置(支持最新版的GCC,目前 GCC 13.2.0)VSCode配置c/c++环境 彻底删除vscode(包括插件及配置!)

目录 一、简介 二、下载 1 旧版安装(8.1.0) 从 sourceforge.net 下载 2 新版安装(本次采用较新版本~~~) 从 github 下载 从 镜像站点 下载 自己编译 三、安装与配置 1. 在线安装(这里仅作参考了解) 2. 离线安装&…

异步FIFO设计的仿真与综合技术(3)

概述 本文主体翻译自C. E. Cummings and S. Design, “Simulation and Synthesis Techniques for Asynchronous FIFO Design 一文,添加了笔者的个人理解与注释,文中蓝色部分为笔者注或意译。前文链接: 异步FIFO设计的仿真与综合技术&#xf…

自动化测试(五):自动化测试框架的搭建和基于yaml热加载的测试用例的设计

该部分是对自动化测试专栏前四篇的一个补充,本次参考以下文章实现一个完整的谷歌翻译接口自动化测试:   [1]【python小脚本】Yaml配置文件动态加载   [2]【python做接口测试的学习记录day8——pytest自动化测试框架之热加载和断言封装】 目标:框架封…

ununtu中vim的使用

插入命令 i:表示输入 退出命令 :w - 保存文件,不退出 vim :w file -将修改另外保存到 file 中,不退出 vim :w! -强制保存,不退出 vim :wq -保存文件,退出 vim :wq! -强制保存文件,退出 vim …

新增动态排序图、桑基图、AntV组合图,DataEase开源数据可视化分析平台v1.18.10发布

2023年9月14日,DataEase开源数据可视化分析平台正式发布v1.18.10版本。 这一版本的功能升级包括:数据集方面,对字段管理的后台保存做了相关优化,降低了资源消耗;仪表板方面,对联动、查询结果以及过滤组件等…

系统架构:软件工程速成

文章目录 参考概述软件工程概述软件过程 可行性分析可行性分析概述数据流图数据字典 需求分析需求分析概述ER图状态转换图 参考 软件工程速成(期末考研复试软考)均适用. 支持4K 概述 软件工程概述 定义:采用工程的概念、原理、技术和方法来开发与维护软件。 三…

GET,POST,DELETE,PUT参数传递的形式

一.get请求参数在地址后面进行拼接 1.代码&#xff1a; <template><div class""><button click"fn">点击</button></div> </template><script> import axios from "axios"; //安装完之后&#xff0…

Spring MVC 八 - 内置过滤器

SpringMVC内置如下过滤器&#xff1a; Form DataForwarded HeadersShallow ETagCORS Form Data 浏览器可以通过HTTP GET或HTTP POST提交form data&#xff08;表单数据&#xff09;&#xff0c;但是非浏览器客户端可以通过HTTP PUT、HTTP DELETE、HTTP PATCH提交表单数据。但…

MFC中嵌入显示opencv窗口

在MFC窗体中建立一个Picture Control控件,用于显示opencv窗口 在属性中设置图片控件的资源ID为IDC_PIC1 主要的思路: 使用GetWindowRect可以获取图片控件的区域 使用cv::resizeWindow可以设置opencv窗口的大小,适合图片控件的大小 使用cvGetWindowHandle函数可以获取到ope…

conn,cur=DBHelper.connDB(DBconfig.A)是什么意思

这段代码是 Python 中调用 DBHelper.connDB() 方法的语句&#xff0c;并将其返回的连接对象和游标对象赋值给变量 conn 和 cur。 假设 DBHelper 是一个 Python 类&#xff0c;而 connDB() 是类 DBHelper 中的一个静态方法&#xff08;类方法&#xff09;&#xff0c;用于建立数…

OpenCV(四十二):Harris角点检测

1.Harris角点介绍 什么是角点&#xff1f; 角点指的是两条边的交点&#xff0c;图中红色圈起来的点就是角点。 Harris角点检测原理&#xff1a;首先定义一个矩形区域&#xff0c;然后将这个矩形区域放置在我的图像中&#xff0c;求取这个区域内所有的像素值之和&#xff0c;之…

ARTS第6周T:设计模式——外观模式(Facade模式)

下面是一个基于Java语言的Facade模式示例&#xff1a; java // 这个接口是客户端所看到的&#xff0c;也就是外观 public interface ICalculator { int add(int a, int b); int subtract(int a, int b); } // 这个类实现了上面的接口&#xff0c;也就是具体子系统的一…

麒麟v10安装mysql(ARM架构)

下载MYSQL安装包 华为开源镜像站_软件开发服务_华为云 上面的选择一个下载 或者用命令下载 wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mysql-5.7.27-1.el7.aarch64.rpm 检查是否已经安装MySQL rpm -qa | grep mysql将包卸载掉 rpm -…

vue之封装tab类组件

vue之封装tab类组件 vue之封装tab类组件CSS样式方面JS方面 vue之封装tab类组件 需求&#xff1a;点击【上一步】、【下一步】按钮&#xff0c;切换tab&#xff0c;且有淡入浅出的动画。 CSS样式方面 <div class"parent"><div class"childDiv" id…