区块链相关概念

区块链是什么,就算是做计算机技术开发的程序员,100个当中都没有几个能把这个概念理解明白,更不要说讲清楚了。那对于普通人来说,就更扯了。

除了“挖矿”表面意思似乎比较好理解外,其他的基础概念真TMD绕。

去中心化、共识机制、NFT、智能合约、Gas 等基础概念随便一个拿出来都能砸死你。

说白了,很大程度上就是背后的资本故意炒作这些让人难以理解的概念,刻意令个东西让人难以理解的。只有这样,他们才更容易忽悠普通人。如果普通人很容易看明白,看懂,他们还怎么忽悠普通人啊!

区块链

“区块链”可以简单理解为“分布式账本”,其本质是一个数据库

1、“区块链”概念是“区块”+“链”

2、理解“区块”,需要先理解“哈希值”这个概念。比较好理解的是“任何一份数据,都可以通过哈希函数生成一个一个固定长度的哈希字符串”

3、区块是“记账”用的:也就是记录数据。(通常是交易/资产相关数据)

4、

5、“挖矿”--就是用某人的计算机对某一份数据执行哈希函数,算出其哈希值。把哈希值算出来了就会得到一份奖励,相当于挖到一份矿。

智能合约

”智能合约“这个概念在比特币区块链上并不突出,例如在比特链上完成一笔简单的转账,并不涉及“智能合约”

“智能合约”概念是在以太坊上才被强调的(貌似是通过智能合约可以实现更复杂的交易)。

以太坊与比特币很大的不同是以太坊拥有智能合约的概念。

“智能合约”这个名称非常误导。 它不是真正的合约、也不是特别智能,它们只是可以区块链上运行代码。

简单转账交易:这种交易仅仅是从一个以太坊地址向另一个地址转移一定数量的以太币,没有涉及到智能合约的调用。

对于执行一笔简单的转账,比特币链上的流程如下:

  1. 创建交易: 发送方创建一笔转账交易,指定接收方地址和转账金额。
  2. 签名交易: 发送方使用他们的私钥对交易进行签名。
  3. 广播交易: 发送方将签名后的交易广播到比特币网络。
  4. 验证交易: 矿工和全节点验证交易的签名和有效性。
  5. 打包交易: 一旦交易通过验证,矿工将交易添加到待处理的交易池中。
  6. 打包区块: 矿工从交易池中选择一些交易,打包成一个新的区块。
  7. 挖矿验证: 矿工进行工作量证明的计算,以确保区块的有效性,并将区块添加到比特币区块链上。

而以太坊链的流程会在【验证交易】和【打包交易】之间增加两个环节:

执行智能合约: 如果接收方是一个智能合约地址,以太坊节点将执行智能合约中定义的转账逻辑。

状态更新: 智能合约执行可能导致状态变化,比如更新账户余额。

共识机制:

这么多矿工都想挖这个矿,那这个矿究竟给谁呢?共识机制的重要目的之一是确定谁有权利来挖矿或者创建新的区块。

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

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

相关文章

2024MathorCup(妈妈杯) C题完整思路+数据集+完整代码+高质量成品论文

C题物流网络分中心货量预测及人员排班 (完整的资料数据集代码在文末) 电商物流网络在订单履约中由多个环节组成,其中,分拣中心作为网络的中 间环节,需要将包裹按照不同流向进行分拣并发往下一个场地,最终使…

快速实现一个Hibernate的例子

写第一个简单的Hibernate程序: 具体的开始第一个Hibernate程序之前: 找到jar包, hibernate 的核心包, mysql数据库的连接驱动包, junit测试包 ①创建Hibernate配置文件 ②创建持久化类 也是和数据库中数据表一一对应这个类 ③创建对象-关系映射文件 ④通过hibern…

Chrome 浏览器无法保存或自动填充密码

Chrome 浏览器无法保存或自动填充密码 分类 平时使用 Chrome 浏览器都会对网站的用户名密码自动填充,今天发现突然不行了,找到一个解决办法: 1、退出 Chrome 浏览器。2、打开 Chrome 安装目录下的的 Profile 目录,删除 Login Da…

Android开发基础:对话框,Toast,Notification的使用 选项菜单,上下文菜单,弹出式菜单的使用

目录 一,Android提示消息 1.提示消息的形式 2.对话框 (1)默认对话框的创建步骤 (2) 自定义对话框的创建步骤 3.Toast 4.Notification 二,菜单 1.选项菜单 OptionsMenu 2.上下文菜单 ContextMenu …

CMake简单笔记

文章目录 cmake预设变量预定义变量表格预设变量详解其他预定义变量:设置CMAKE预定义变量 set()设置 项目构建设置编译选项 编译链 编译器 设置 项目输出 添加编译选项add_compile_optionsadd_definitions(-DDEBUG -DMYDEFINE) 添加宏定义 搜寻&添加 源文件 .c .…

LeetCode-1143. 最长公共子序列【字符串 动态规划】

LeetCode-1143. 最长公共子序列【字符串 动态规划】 题目描述:解题思路一:动规五部曲解题思路二:1维DP解题思路三:0 题目描述: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。…

【2024年MathorCup数模竞赛】C题赛题与解题思路

2024年MathorCup数模竞赛C题 题目 物流网络分拣中心货量预测及人员排班背景求解问题 解题思路问题一问题二问题三问题四 本次竞赛的C题是对物流网络分拣中心的货量预测及人员排班问题进行规划。整个问题可以分为两个部分,一是对时间序列进行预测,二是对人…

通往大厂Java面试题及参考答案2万字长文

目录 解释Java的基本数据类型及其大小 描述Java中的类加载机制 什么是Java的反射机制?

【示例】MySQL-索引失效的情况

前言 本文主要讲述MySQL中索引失效的常见情况。 case1:索引列参与函数运算 # 索引失效 explain select * from tb_user where substring(phone,10,2) 15;case2:数据库的隐式类型转换 对于字符串类型的索引列,是否加引号不会对查询结果产…

【MATLAB源码-第186期】matlab基于MLE算法的8天线阵列DOA估计仿真,对比粗估计、精确估计输出RMSE对比图。

操作环境: MATLAB 2022a 1、算法描述 第一部分:基本概念与系统设置 方向到达估计(Direction of Arrival, DOA)是信号处理中一项重要的技术,主要用于确定信号的到达方向。这种技术在雷达、无线通信和声纳等领域中有…

蓝桥杯省赛冲刺(3)广度优先搜索

广度优先搜索(Breadth-First Search, BFS)是一种在图或树等非线性数据结构中遍历节点的算法,它从起始节点开始,按层级逐步向外扩展,即先访问离起始节点最近的节点,再访问这些节点的邻居,然后是邻…

异常处理java

在Java中,异常处理可以使用"throws"关键字或者"try-catch"语句。这两种方法有不同的用途和适用场景。 "throws"关键字: 在方法声明中使用"throws"关键字,表示该方法可能会抛出异常,但是并不立即处理…

python脚本一键删除匹配项的所有key

1、安装redis模块 pip3 install redis Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/ Collecting redisDownloading http://mirrors.cloud.aliyuncs.com/pypi/packages/bb/f1/a384c5582d9a28e4a02eb1a2c279668053dd09aafeb08d2bd4dd323fc466/redis-5.0…

有关格式输入输出的问题

对于格式输入输出问题&#xff0c;我们最好用c语言编写代码&#xff01;&#xff01;&#xff01; 成绩统计 难点&#xff1a;格式化输出 #include <cstdio> using namespace std; typedef long long ll;ll n,score,a,b;int main() {//及格>60 优秀>85 求及格率…

变更docker的缓存路径

承接上一篇文章&#xff0c;定期清理docker&#xff0c;仍感觉有些累&#xff0c;这个变更一下缓存路径&#xff0c;可以根本解决问题。 linux磁盘清理_docker/overlay2爆满_linux overlay目录满了-CSDN博客 当然&#xff0c;变更docker的缓存路径&#xff0c;也可以使用上一…

mysql题目1

tj11: ​ select * from t_student where grade 大一 and major 软件工程 ​ tj12: SELECTt_student.name, count(t_choice.cid)FROMt_choiceINNER JOINt_courseON t_choice.cid t_course.idINNER JOINt_studentON t_choice.sid t_student.id GROUP BYt_choice.sid HAVIN…

PyTorch神经网络打印存储所有权重+激活值(运行时中间值)

很多时候嵌入式或者新硬件需要纯净的权重模型和激活值&#xff08;运行时中间值&#xff09;&#xff0c;本文提供一种最简洁的方法。 假设已经有模型model和pt文件了&#xff0c;在当前目录下新建weights文件夹&#xff0c;运行最后三行代码&#xff0c;就可以得到模型的权重&…

《疯狂java讲义》Java AWT图形化编程中文显示

《疯狂java讲义》第六版第十一章AWT中文没有办法显示问题解决 VM Options设置为-Dfile.encodinggbk 需要增加变量 或者这边直接设置gbk 此外如果用swing 就不会产生这个问题了。

京东采集器使用教程 京东商家爬虫软件分享

京东采集器是一款功能强大的京东商家爬虫软件&#xff0c;可以帮助用户快速采集京东商家的商品信息&#xff0c;并提供丰富的数据分析功能。 第一步&#xff1a;安装及配置 首先&#xff0c;你需要下载并安装京东采集器软件。下载完成后&#xff0c;双击安装文件并按照提示完…

YOLOv8最新改进系列:融合最新顶会提出的HCANet网络中卷积和注意力融合模块(CAFM),有效提升小目标检测性能,大幅度拉升目标检测效果!遥遥领先!

YOLOv8最新改进系列&#xff1a;YOLOv8最新改进系列:融合最新顶会提出的HCANet网络中卷积和注意力融合模块(CAFM)&#xff0c;有效提升小目标检测性能&#xff0c;大幅度拉升目标检测效果&#xff01;遥遥领先&#xff01; B站全文戳这里&#xff01; 详细的改进教程以及源码…