搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
很楠不爱3
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
spark ml实现逻辑回归案例分析_sparkml 输出逻辑回归的变量系数
2
Go C画图 CSP-J 信息学奥赛 2023.02.16 测试题_粤港澳青少年信息学创新大赛 图形化编程 真题
3
将 Llama 3 与 Ollama 和 Python 结合使用 使用 Ollama API 访问这一领先模型_python 调用本地部署的llama3
4
AI、AGI、AIGC、ChatGpt 理解_什么是agi ugi
5
DW金融风控-task02数据分析_dw金融软件
6
前后端分离的后台管理系统源码,快速开发OA、CMS网站后台管理、毕业设计项目
7
服务器不支持PUT和DELETE请求处理_麒麟服务器不支持put请求
8
FreeRTOS移植到STM32-任务的创建
9
二、图形数据库Neo4j的简介与安装_neo4j是什么公司研发的
10
一篇博客带你领略学习Python的第三方库---如何获取和安装第三方库,关于三种常见第三方库的下载和讲解(pyinstall库,jieba库,wordcloud库),更多第三方库的分类介绍_python第三方库
当前位置:
article
> 正文
区块链技术原理_区块链技术细节
作者:很楠不爱3 | 2024-06-13 14:11:12
赞
踩
区块链技术细节
区块链技术原理
我尽量不涉及太多细节,把区块链大概的工作原理用尽可能简单的语言描述一下,相信你能很快对区块链有所了解。
以比特币的区块链为例,你可以把区块链想象成一个比特币的公共账本,这个账本:
1.存放在互联网的各个比特币节点上,每个节点都有一份完整的备份
2.里面记录着自比特币诞生以来的所有比特币转账交易
3.账本是分区块存储的,每一块包含一部分交易记录。每一个区块都会记录着前一区块的id,形成一个链状结构,因而称为区块链
4.当你要发起一笔比特币交易的时候只需把交易信息广播到p2p网络中,矿工把你的交易信息记录成一个新的区块连到区块链上,交易就完成了。
这里有几个问题:
1.如何保证用户有足够的余额,例如你只有十个币,而你居然发起了一笔转20个币的交易怎么办。
这个问题很好解决,因为区块链上记录了所有的比特币交易记录,只需要回溯所有的和你账户相关的历史交易就能知道你这个账户上到底有多少余额,余额不对矿工是会拒绝记录你的交易的。
由此你可能又会产生一个疑问,那么最初的比特币是从哪里来的呢?
最初的比特币是由系统奖励给记录区块的矿工的。每一个区块在生成的时候就会在生成这个区块的矿工的账户上生成一定数量的新比特币作为奖励。
2.如何保证你的账户不被冒名顶替
这问题也很好解决,用数字签名技术就好了。每个比特币账户都有公钥和私钥。你发起交易的时候用私钥对交易信息签名,矿工收到信息后用公钥检查一下签名就好了。
3.那么多矿工,如何决定该由哪个矿工生成下一个区块?
解决方案是这样的:
中本聪设计了一个数学问题,这个数学问题会耗费大量的计算机cpu时间才能得出答案,同时每一次得出的答案都会作为下一次计算的初始条件进行技术。全世界的矿工一起来计算这个问题,谁先得出答案,他就可以用这个答案生成一个新的区块,再广播到网络中。收到这个新块数据的矿工会立即停止当前的计算,用新块里的数据重新进行下一次计算。这就是所谓的“挖矿”。矿工产生的区块一旦被网络接受,他就能获得一笔比特币作为酬劳。
这时要考虑一种情况:如果同时有两个矿工各自得到一个正确答案,并各自生成了一个区块广播出去会发生什么呢?
这时候在区块链上同一个位置就有了两个区块,所谓的“分叉”就出现了。
分叉是绝对不允许的,所以当矿工发现区块链分叉之后,会选择最长的一条继续计算,短的那条区块链会被丢弃。
仔细思考下这个体系,你会发现它几乎无懈可击。首先你不能凭空造出比特币,只能挖矿获得;其次你无法伪造交易,无法控制不属于你的账户。一旦交易被确认,几乎无法取消。我这里说“几乎”,是因为有“51%攻击”的存在。51%攻击条件非常苛刻,这里就不扩展开讲了。感兴趣的朋友可以自行查阅相关资料。
----------------------
好吧,现在你应该大概明白了区块链是怎么回事。一个公开透明的可信赖的帐务系统,听起来还不错,是吧? 不过,我想告诉你区块链远远不止是一个帐务系统那么简单,它的意义之重大、用途之广泛,一旦你意识到,你一定会像我一样激动万分的。
区块链技术使得DAC成为可能。DAC是一种能够从根本上颠覆人类社会组织模式的东西。我相信它对社会的影响,会超过工业革命,成为互联网给世界带来的最为深刻的变革。
作者:Alex Zhao
链接:http://www.zhihu.com/question/27687960/answer/38301765
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
本文内容由网友自发贡献,转载请注明出处:
【wpsshop博客】
推荐阅读
article
【软考高项
第四版
教材】
第一章
信息化
发展
...
深度融合的新型基础设施、应用模式和工业生态,通过对人、机、物、系统等的全面连接,构建起覆盖全产业链、全价值链的全新制造和...
赞
踩
article
树莓
派
通过
网线
连接
笔记本
实现
笔记本
电脑Wifi的网络共享_
树莓
派
网线
连
笔记本
...
进行设置:通过通过一根
网线
,
连接
树莓
派
和电脑,使电脑和
树莓
派
构成一个局域网,然后
树莓
派
接收来自
笔记本
电脑wifi网络的共...
赞
踩
article
无需公网IP
使用
SSH
远程连接
Linux
CentOS
服务器
【内网穿透】_
linux
不联网能
使用
s...
本次教程我们来实现如何在外公网环境下,
SSH
远程连接家里/公司的
Linux
CentOS
服务器
,无需公网IP,也不需要设...
赞
踩
article
和
区块
链
Say Hi(2)---
以太
坊
Ethereum
...
比特币最初被设计为一种去中心化的数字货币,旨在作为一种替代传统货币系统的支付工具。它的主要目的是作为一种价值储存
和
价值交...
赞
踩
article
区块
链
基础知识_
区块
链
由一系列网络
节点
构建成
一个
分布式
数据库
,其结构
如图
1所示...
区块
链
(BlockChain),是
区块
(Block)和
链
(Chain)的直译,其数据结构
如图
1所示,即每个
区块
保存规定时...
赞
踩
article
xss
-
payload
_
如何
使用
xss
让它返回...
xss
攻击载荷
_
如何
使用
xss
让它返回如何
使用
xss
让它返回
payload
-有效载荷: <...
赞
踩
article
蓝桥
杯
2023省赛:矩阵总
面积
|模拟、数学(几何)
_
蓝桥
杯
矩形
面积
...
由这个方法也可以找到y方向上的上下边界,由此就可以计算出重叠区域的
面积
,但要判断一下区域是否存在(也就是判断边界差值是否...
赞
踩
article
strncat
()
函数
详解
及
坑...
strncat
()
函数
详解
及
坑数组中没有将第二个数组中前N个字符追加到第一个数组的尾部的
函数
但是char类型数组本身就是...
赞
踩
article
【
RabbitMQ
笔记06】
消息
队列
RabbitMQ
七种
模式
之
Topics
主题
模式
_
队列
topic
...
前一篇文章介绍了Routing路由
模式
,它是根据
消息
的唯一标识routing key路由键,将其分发到不同的Queue队...
赞
踩
article
【
Kafka
学习】
Kafka
监控
、
可视化
工具
选用及
对比
_
kafka
可视化
工具
对比
...
Kafka
监控
、
可视化
工具
选用及
对比
_
kafka
可视化
工具
对比
kafka
可视化
工具
对比
本文...
赞
踩
article
消息
队列
的
exclusive
consumer
功能
是
如何
保证
消息
有序和防止脑裂
的
...
一般来说,
消息
队列都会
保证
queue当中
的
消息
的
顺序。然而如果有多个
consumer
同时消费同一个queue,那么这时就...
赞
踩
article
解密
RocketMQ
:
消息
队列
的奇妙旅程,一探
消息
通信的多种模式_
rocketmq
发送
队列
消息
...
RocketMQ
是一个分布式的
消息
队列
系统,具有高吞吐量、高可靠性和强大的扩展性。它是阿里巴巴集团开发并开源的一款分布式...
赞
踩
article
项目
日记(
1
):
boost
搜索引擎
...
parser。
项目
日记(
1
):
boost
搜索引擎
目录
1
.
项目
相关背景 2.
搜索引擎
的相...
赞
踩
article
OpenCV
4基础篇|
OpenCV
图像
的
裁切
_
opencv
图像
裁剪
...
Numpy切片和都是非交互式
的
裁剪
方法,适用于在代码中直接指定
裁剪
区域。是一个交互式
的
裁剪
方法,允许用户通过图形界面选择...
赞
踩
article
如何使用
Gitee
上传
代码...
如何
上传
代码到gitee_gitee
上传
代码gitee
上传
代码 ...
赞
踩
article
Python
库
numpy
中的
svd
分解和
Matlab
中的
svd
的一点区别_
python
和
matlab
...
下面是两个测试,同样的
数据
,不同的版本,请诸君仔细看来:1.
Matlab
版SVD分解H = [3.16991321031...
赞
踩
article
使用
Java
API进行
kafka
topic
开发_
kafka
-
configs
.
sh
java
ap...
package org.sunny.two;import
kafka
.admin.AdminClient;import ...
赞
踩
article
找
工作
经验
分享
贴——
硬件
岗
求职
历程
_
转
硬件
找
工作
...
秋招
经验
分享
贴——
硬件
求职
历程欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文...
赞
踩
article
【论文解读】
ADDS
-
DepthNet
:
基于
域
分离
的全天
图像
自监督单目
深度
...
ADDS
-
DepthNet
利用了白天和夜晚的
图像
数据互补性质,减缓了昼夜
图像
较大的域偏移以及照明变化对
深度
估计的精度带来...
赞
踩
article
【问题记录】
docker
搭建
minio
_
docker
启动
minio
...
Docker 搭建 Minio
_
docker
启动
minio
docker
启动
minio
...
赞
踩
相关标签
笔记
学习
职场和发展
树莓派
树莓派上网设置
树莓派联网
linux
服务器
tcp/ip
运维
ssh
区块链
智能合约
web3
xss
javascript
前端
web安全
蓝桥杯
矩阵
算法
rabbitmq
分布式
RabbitMQ消息队列