0

0

一文详细了解区块链原理

DDD

DDD

发布时间:2024-03-07 09:07:06

|

1101人浏览过

|

来源于脚本之家

转载

区块链技术是一件神奇的东西。对于许多技术人员来说,这只是一个神作。对于这样一个强大的东西,你们知道区块链的原理是什么吗?下面小编就来给大家分析分析区块链原理是什么?区块链是比特币的一个重要概念。该货币与清华大学五道口金融学院互联网金融实验室相连。、新浪科技发布《2014-2016全球比特币发展研究报告》提到区块链是比特币的底层。技术和基础设施。

区块链本质上是比特币的基础技术,它是一种分散的数据库系统。区块链通过加密技术生成一系列数据块,每个数据块包含有关比特币网络交易的信息,用于验证交易的有效性并生成下一个数据块。

一文详细了解区块链原理

它的原理是什么?

看到关于区块链的不同定义,我开始意识到我以前对这个概念的解释总是囿于比特币。区块链的定义并不是唯一和明确的。在这里,我想分享一些我个人根据研究论文总结的关于“区块链”特征的见解:

使用"哈希链"形式的数据结构保存基础数据(如下所述)

多个节点参与系统操作(分布式)

通过特定协议或算法达到共识(共识协议/算法)以确保基础数据的一致性。

比特币是区块链技术中最具代表性和影响力的应用之一。通过了解比特币如何利用区块链,我们可以更容易地理解其他种类的区块链应用。

在谈论应用程序之前,最重要的是要了解它的技术性质。区块链的所有答案都是首先提到区块链的无形特征,所以首先要理解的是它是如何实现的?

必备知识;密码Hash()函数的单向性:Hash(x)= y,很难找到x的y

哈希链:如果现在有数据块A,B,C依次。然后我们可以像这样计算一个哈希值。注意“||”拼接

H0 =哈希(A)

H1 =哈希(B || h0)

H2 =哈希(C || h1)H2是我们计算的哈希头。现在,为什么我们称这个东西为哈希链,因为h2的值取决于前一系列数据的内容和计算顺序。如果您现在知道h2,其他人持有A,B,C,无论他是修改A,B,C中的任何一个还是A,B,C的顺序,您都无法再次计算正确的h2。

好吧,事实上,区块链的概念在这里有点感觉。不是吗?"区块链单词"是英语区块链的翻译。如果从字面上理解,由链"组成的"数据块足以解释其基本含义。比特币区块链实际上是哈希链的变体(请注意,比特币添加了下面描述的随机数和随机数的特殊要求的规则,以实现工作证明的共识机制)。 ,而不是区块链的必要特征)。如何改变?添加随机数(Nonce)

一文详细了解区块链原理

假设现在存在顺序生成的数据块A,B,C。让我们像这样计算哈希头。注意“||”拼接

H0 =哈希(A || Nonce0)

H1 =哈希(B || h0 || Nonce1)

H2 =哈希(C || h1 || Nonce2)

这里我们还添加了一个额外的要求,即h0,h1,h2必须都以指定的0位数开始,例如,每个哈希值必须以5 0开头,然后是h0,h1,h2它应该是这样的(00000 *****************)

添加此要求后,h0,h1,h2不是那么容易计算,因为你不能根据输出的形式反转输入,并给出A,B,C,它只能是不断改变Nonce进行详尽的计算,然后找到满足要求的Nonce值,以便h0,h1,h2满足要求。

每个人都知道所谓的矿工正在做什么,即接受广播的数据块,然后计算当前哈希链的头部。成功计算成功的Hash后,每个人都会被告知。我自己找到了,让其他人计算下一个哈希头。事实上,在这里,区块链的性质几乎是相同的。如果网络中的每个人默认协议,并且只计算最长哈希链之后的新头,那么一切都很好,但是如果有人想要以同样的方式,他必须拥有更多的计算能力。当诚实的人遵守规则时,他们可以计算出一系列的叉子,甚至可以直接计算出新的链条,这样每个人都可以承认。

至于这个难度的证明,Satoshi Nakamoto建立了泊松分布的概率模型,假设由诚实节点计算的新哈希头的概率和由不诚实节点计算的新哈希头的概率q。 ,计算出N值。

该N值的含义是在计算新的散列头h1之后,然后附加N个头(h2,h3,h4 ....),网络应该识别新的头。 H1。因为此时,如果攻击者想要成功发起攻击,则需要计算至少一个长度大于N的分支。当攻击者没有50%的总网络计算能力时,很难实现这种可能性。

一文详细了解区块链原理

所以在这里,区块链已经很清楚了,它是加密工具的巧妙应用。当然,区块链的可能性不仅仅是我提到的这些,包括保险、审计、医疗等等各行各业的巨头们都在探索其潜力,如果你有好的想法,认为区块链能够带来的好处会远大于它的副作用,你大可去尝试尝试。

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

319

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

228

2023.10.07

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

529

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

6

2025.12.22

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

387

2023.08.14

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

331

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2068

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

346

2023.08.31

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
c语言项目php解释器源码分析探索
c语言项目php解释器源码分析探索

共7课时 | 0.3万人学习

光速学会docker容器
光速学会docker容器

共33课时 | 1.8万人学习

PHP WEB 项目实战
PHP WEB 项目实战

共16课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号