区块链相关概念

news2024/11/29 4:43:59

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

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

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

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

区块链

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

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

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

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

4、

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

智能合约

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

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

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

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

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

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

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

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

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

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

共识机制:

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

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

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

相关文章

堡垒机(安全运维,产品简述)

目录 跳板机与堡垒机 跳板机(Jump Server) 堡垒机(Bastion Host) 区别 堡垒机 功能 工作原理 类型 安全运维中的作用 jumpserver 简述 应用场景 技术特点 核心功能 主要组件 基础架构 应用架构 逻辑架构 优势 …

企业版ChatGPT用户激增至60万;百度文心一言推出个性化声音定制功能

🦉 AI新闻 🚀 企业版ChatGPT用户激增至60万 摘要:OpenAI首席运营官Brad Lightcap在接受采访时透露,企业版ChatGPT的注册用户已超60万,相较2024年1月的15万用户,短短三个月内增长了300%。这一版本自2023年…

JavaScript逆向爬虫——使用Python模拟执行JavaScript

使用Python模拟执行JavaScript 通过一些调试,我们发现加密参数token是由encrypt方法产生的。如果里面的逻辑相对简单的话,那么我们可以用Python完全重写一遍。但是现实情况往往不是这样的,一般来说,一些加密相关的方法通常会引用…

2024年妈妈杯数学建模MathorCup数学建模思路B题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享,点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间:2024年4月11日(周四)12:00 比赛开始时间:2024年4月12日(周五)8:00 比赛结束时间&…

数据库相关知识总结

一、数据库三级模式 三个抽象层次: 1. 视图层:最高层次的抽象,描述整个数据库的某个部分的数据 2. 逻辑层:描述数据库中存储的数据以及这些数据存在的关联 3. 物理层:最低层次的抽象,描述数据在存储器中时如…

docker 部署 Epusdt - 独角数卡 dujiaoka 的 usdt 支付插件

部署 部署说明 部署之前必须注意的几点事项,该教程不一定适合所有用户: 本教程主要是使用 docker 部署,宝塔用户或宿主机直接安装的用户请直接参考官网教程.本教程是独立部署 epusdt,使用独立的mysql和redis,与dujiaoka项目分开. 在研究的过程中发现 epusdt 也需要用到 mys…

【Java】maven是什么?

先看一下基本概念: ①Maven 翻译为"专家","内行"是跨平台的项目管理工具。 主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。 ②项目构建 项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报…

3D目标检测跟踪 | 基于kitti+waymo数据集的自动驾驶场景的3D目标检测+跟踪渲染可视化

项目应用场景 面向自动驾驶场景的 3D 目标检测目标跟踪,基于kittiwaymo数据集的自动驾驶场景的3D目标检测跟踪渲染可视化查看。 项目效果 项目细节 > 具体参见项目 README.md (1) Kitti detection 数据集结构 # For Kitti Detection Dataset └── k…

解决前端性能瓶颈:高效处理大量数据渲染与复杂交互的策略与优化方法

✨✨祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、分页加载数据 二、虚拟滚动 三、懒加载 四、数据缓存 五、减少重绘和回流 …

如何在 Windows上安装 Python

系列文章目录 作者:i阿极 作者简介:数据分析领域优质创作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒…

循环双链表算法库构建

学习贺老师数据结构数据结构之自建算法库——循环双链表_数据结构编写一个程序linklist.cpp-CSDN博客 模仿单链表逻辑,实现双链表, 大差不差 v1.0: 实现基本功能 V1.0 1.主要功能: //(1)头插法建立循环双链表 void Create_Double_CyclicList_Head(DoubleLinkList_Cyclic *&am…

第十四讲:C语言字符函数和字符串函数

目录 1. 字符分类函数 2、字符转换函数 3. strlen的使⽤和模拟实现 4. strcpy 的使⽤和模拟实现 5. strcat 的使⽤和模拟实现 6. strcmp 的使⽤和模拟实现 7. strncpy 函数的使⽤ 8. strncat 函数的使⽤ 9. strncmp函数的使⽤ 10. strstr 的使⽤和模拟实现 11. strt…

云原生之旅第一课(2站搜索K8s成神之路)

自己动手搭建Kubernetes集群,学习如何自定义CRD,以及使用Kubebuilder快速搭建Operator项目,云原生之旅第一课。从一开始准备录制课程,到如今已经有了500位忠实粉丝,我感到无比欣慰。这门课程完全开源,每一集…

C++【组合模式】

简单介绍 组合模式是一种结构型设计模式, 只有在可以将对象拆分为【树状结构】的情况下使用。并且像使用独立对象一样使用它们。 常用于表示与图形打交道的用户界面组件或代码的层次结构。 基础理解 Q:为什么要用组合模式 ? A:在…

JavaScript - 你知道数组去重都有哪些实现方案吗

难度级别:初级及以上 提问概率:70% 数组去重是一道非常经典而又高频的面试题,这里我们提出6种解决方案: 目录 1 第一种 2 第二种 3 第三种 4 第四种

Tokenize Anything via Prompting

SAM的延续,把SAM输出的token序列用来进行分类,分割和一个自然语言的decoder处理,但其实现在多模态的图像的tokenizer也几乎都是用VIT来实现的。一开始认为这篇文章可能是关于tokenize的,tokenize还是很重要的,后来看完…

MUX VLAN

目录 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.使用Hybrid端口实现网络需求 3.使用Mux VLAN实现网络需求 原理概述 在实际的企业网络环境中,往往需要所有的终端用户都能够访问某些特定的服务器,而用户之间的访问控制规则则比较复杂。在…

Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止 文章目录 Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止1. 备份mysql的data文件夹2. 重新构建 Wind…

helm与k8s

文章目录 一、helm二、K8S/K3S1.K8S基本组件1.1 资源对象1.2 核心组件1.3典型的创建 Pod 的流程1.4 Kubernetes 多组件之间的通信原理 2. YAML 文件2.1 Maps2.2 Lists2.3 使用 YAML 创建 Pod2.4 创建 Deployment 4.静态pod4.1 配置文件4.2 通过 HTTP 创建静态 Pods4.3 静态pods…

【Linux系列】如何确定当前运行的是 RHEL 9 还是 RHEL 8?

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…