当前位置: 首页 > news >正文

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

目录

一 简介👑

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 参考资料❤️

比特币相关知识

相关文章:

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

目录 一 简介👑 1 比特币❤️ 2 区块链的特点❤️ 3 共识算法❤️ 二 练习题👑 三 扩展👑 1 哈希算法❤️ 2 哈希指针❤️ 3 UTXO❤️ 4 参考资料❤️ 一 简介👑 1 比特币❤️ 比特币底层采用了区块链技术。 比特币交易…...

Pytorch 分布式训练(DP/DDP)

概念 PyTorch是非常流行的深度学习框架,它在主流框架中对于灵活性和易用性的平衡最好。 分布式训练根据并行策略的不同,可以分为模型并行和数据并行。 模型并行 模型并行主要应用于模型相比显存来说更大,一块 GPU 无法加载的场景&#xf…...

替换滚珠螺杆需要了解哪些参数?

滚珠螺杆具有定位精度高、高寿命、低污染和可做高速正逆向的传动及变换传动等特性,因具上述特性,滚珠螺杆已成为近来精密科技产业及精密机械产业的定位及测量系统上的重要零组件之一。 众所周知,滚珠螺杆是可以替换的,不仅同品牌之…...

CentOS系统环境搭建(十九)——CentOS7安装chat GPT

centos系统环境搭建专栏🔗点击跳转 CentOS7安装chat GPT Welcome to the AI era! 基于上一篇文章CentOS系统环境搭建(十八)——CentOS7安装Docker20.10.12和docker compose v2,你已经安装了docker20以上的版本。那么&#xff0…...

【办公类-19-03】办公中的思考——Python批量制作word单元格照片和文字(小照片系列)

背景需求: 工会老师求助:如何在word里面插入4*8的框,我怎么也拉不到4*8大小(她用的是我WORD 文本框) 我一听,这又是要手动反复黏贴“文本框”“照片”“文字”的节奏哦 我问:你要做几个人&…...

【Spring】Spring Bean的4种依赖注入方式

文章目录 前言1. 构造方法注入2. set方法注入3. 自动装配4. 注解 前言 所谓依赖注入,其实就是给对象里的属性赋值,因为对象里有其他对象,因此就形成了依赖。Spring有4种方式来给属性赋值: 构造方法注入set方法注入自动装配注解 …...

overleaf 参考文献引用,创建引用目录.bib文件,在文档中引用参考文献,生成参考文献列表

目录 1 创建一个Overleaf项目 2 导入或创建 .bib 文件 2.1 导入 .bib 文件: 参考文献的 .bib文件获取步骤 (1)打开谷歌学术 (2)输入文献题目 (3)点击引用,然后选择BibTex格式…...

算法通关村第十八关:青铜挑战-回溯是怎么回事

青铜挑战-回溯是怎么回事 回溯,最重要的算法之一 主要解决一些暴力枚举也搞不定的问题,例如组合、分割、子集、排列、棋盘等 从性能角度来看回溯算法的效率并不高,但对于这些暴力都搞不定的算法能出结果就很好了,效率低点没关系…...

【Redis】深入探索 Redis 的数据类型 —— 字符串 string

文章目录 前言一、string 类型的操作命令设置和获取相关命令1. SET 和 GET2. MSET 和 MGET3. SETNX、SETEX、SETPX 计数相关命令1. INCR 和 INCRBY2. DECR 和 DECRBY3. INCRBYFLOAT 字符串操作相关命令1. APPEND2. GETRANGE3. SETRANGE4. STRLEN string 相关命令总结 二、strin…...

Linux操作命令笔记

Linux Linux的字母大小写下载和卸载软件更新查看空间使用情况当前目录所在的位置查看文件中的内容查看目录下的文件重启关机移动文件磁盘管理软件修改权限删除文件或文件夹新建文件夹移动一个文件夹文件重命名编译C和C文件VIM编辑器的相关操作 Linux的字母大小写 Linux的文件以…...

1.8 工程相关解析(各种文件,资源访问

目录 1.8 工程相关解析(各种文件,资源访问) 分类 Android 基础入门教程 本节引言: 1.工程项目结构解析: 1.res资源文件夹介绍: 2.如何去使用这些资源 2.深入了解三个文件: MainActivity.java: 布局…...

unity 前后左右 移动

using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { public float moveSpeed 5f; // 移动速度 public float rotateSpeed 180f; // 旋转速度 // Start is called before the firs…...

计算机视觉传统图像处理库opencv的使用

人工智能领域的图像处理分支,整理了计算机视觉传统图像处理库opencv的使用网址链接。 opencv使用范围,主要用在计算机视觉、视频分析、机器学习、医学影像处理、自动驾驶、工业检测、游戏开发上。 1):opencv效果视频 opencv10个应…...

【数据库】通过实例讲清楚,Mongodb的增删查改,分组查询,聚合查询aggregate

目录 一.基础概念 二.数据库的管理 1.创建数据库 2.删除数据库 二.集合的管理 1.显示所有集合 2.创建集合 3.删除当前集合 4.向集合中插入元素 三.文档的管理 1.文档插入 2.文档的更新 3.文档的删除 4.文档查询 (1)查询基本语法&#xff1…...

vue + video.js 加载多种视频流(HLS、FLV、RTMP、RTSP)

起因: 由于需要在一个项目内接入多种常用的视频流,所以接触到video.js,这里就做个记录。 框架: vue2 video.js videojs-contrib-hls videojs-flvjs-es6 videojs-flash video-js.swf vue安装就不讲了,直接从项目…...

用 Python 微调 ChatGPT (GPT-3.5 Turbo)

用 Python 微调 ChatGPT (GPT-3.5 Turbo) 备受期待的 GPT-3.5 Turbo 微调功能现已推出,并且为今年秋季即将发布的 GPT-4 微调功能奠定了基础。 这不仅仅是一次简单的更新——它是一个游戏规则改变者,为开发人员提供了完美定制人工智能模型的关键解决方案…...

单目标应用:基于蜘蛛蜂优化算法(Spider wasp optimizer,SWO)的微电网优化调度MATLAB

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、蜘蛛蜂优化算法 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该…...

2023年7月京东饮料行业数据分析(京东运营数据分析)

饮料消费已成为当下快消品行业里的主力军,随着社会群体喜好的改变、消费群体的不断扩大,可选择的饮料种类越来越多,我国饮料市场的体量也较为庞大。根据鲸参谋电商数据分析平台的数据显示,今年7月份,京东平台饮料的销量…...

执行 JUnit 单元测试前,修改环境变量

同一份代码,在不改变配置文件的情况下,可以连接不同的数据库,进行JUnit测试。 非开发、测试、生产环境的区别。而是 我就站在这里,指哪打哪! 避免重复造轮子,参考博文: 使用junit&spri…...

openGauss学习笔记-63 openGauss 数据库管理-资源池化架构

文章目录 openGauss学习笔记-63 openGauss 数据库管理-资源池化架构 openGauss学习笔记-63 openGauss 数据库管理-资源池化架构 本文档主要介绍资源池化架构下的一些最佳实践和使用注意事项,用于支撑对相关特性感兴趣的开发者可以快速部署、实践或进行定制化开发。…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

基于Springboot+Vue的办公管理系统

角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

Unity中的transform.up

2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...