《这就是区块链》之区块链基础(5)--去中心化的意义

2023-10-27



在上一篇中,花了比较大的篇幅来阐述去中心化的概念。其实对于有计算机基础的朋友来讲,去中心化或者P2P网络并不是新颖的观点。但是,我还是希望本系列文章可以从基础展开,让所有的朋友都可以理解区块链的意义所在。

今天我们来谈谈去中心化到底在区块链中有什么样的作用和意义,为什么每个人都说区块链最牛逼的地方就是去中心化(这里我保留意见)。我先直接概括一下区块链中去中心化的意义:去中心化通过各个节点的运行保证了区块链的稳定,从而避免数据丢失、篡改、恶意支付等问题。

我们先想象这样两个应用场景:

1.比特币式:资产转移完全匿名,不需要中央机构控制,每一笔交易都可以追根溯源。(追根溯源是指可以每笔交易的地址,匿名是指通过比特币地址找不到对应的人。)

2.进口奶粉式:每一罐奶粉都被打上生产和运输的标签,无法被伪造和篡改。

其实,目前很多做区块链的企业,或多或少都是受到了这两种应用场景的启发。要实现这两种场景,必须要解决以下几个问题:

1.如何让所有节点同步数据?

2.如何避免恶意节点的行为?

3.如何保证区块链的稳定持续运行?

下面我们一个个来看:

1.如何让所有节点同步数据?

既然要实现去中心化,那么必然会存在有多个并行节点,如何让所有的节点同步数据看起来是一个大问题。

还是以比特币为例,如果松子向小明支付了1个比特币,在区块链内部会做如下这些操作:

松子向区块链中的所有节点发送广播(我向小明支付了1个比特币),其他节点收到广播信息,把数据写入区块。

细想一下,这里会出现的问题,如果节点的网络不好收不到交易数据或者说收到的交易数据顺序不对怎么办?如果这个节点是个恶意节点,他不想写入正确的数据又怎么办?

在去中心化作用下,区块链需要进行数据同步,有一种方法是,每隔十分钟就会向系统中所有的节点搜寻正确的区块,如果有个区块的有超过50%的节点认可,那么他便可以作为下一个区块被写入到区块链中并同步所有节点。这样,所有节点的数据便是一致的,这就解决了数据同步的问题。

注:比特币不是和其他区块做比对,而是通过POW工作量证明选择打包的节点直接生成区块后广播出去。



51%攻击:如果系统中恶意节点的数目已经超过51%,那么其便可以控制区块的产生和延长方向,但是有一点需要明确,即使恶意节点的数据足够多,由于加密系统的限制,恶意节点依然无法伪造交易,恶意节点提出的区块也无法被正常节点所接受。这就会导致区块链分叉的发生。除了51%攻击,数字货币被盗也会导致分叉,比如以太坊(ETH)在2017年被攻击,大部分节点支持回滚数据,而不支持回滚的节点在原区块链继续挖矿,便出现了以太经典(ETC)。

2.如何避免恶意节点的行为?

在上面同步数据的部分,其实我们已经谈到了恶意节点的不配合行为,除了不接受新的交易数据,恶意节点还可能伪造交易数据。

伪造交易数据有两种方式:直接伪造和双重支付,直接伪造就是恶意节点直接伪造一条交易数据并广播出去,但是上面其实已经提到过,由于加密系统签名的作用,恶意节点其实无法伪造别人的交易数据。我们来看看双重支付。

双重支付简单说就是松子已经将自己1个比特币支付给了小明,但是他依然用这个币去支付其他的东西。我们不从道德层面去评价松子的为人,因为实际的确会有很多人有这样的想法。回到这个问题,松子已经将比特币支付给了小明,那么区块中的所有节点都收到了这条消息,并且由于有签名限制,节点知道松子的这个比特币来源并且知道松子只有一个比特币,在实际处理的时候,他们会把先收到的消息写入区块中而忽略后一个消息,如果有节点网络不好等原因,由于数据会同步,此节点依然会得到正确的区块。



3.如何保证区块链的稳定持续运行?

前面谈到了去中心化环境下区块链的同步数据和防止恶意节点捣乱,那么如何去保证节点对数据的打包(形成区块)效率呢,或者说如何保证所有节点听从指挥呢?

在说打包问题之前,我们需要引入区块链的分类:

私有链:由公司和个人等中心机构运行的区块链,一般用于公司内部使用。

联盟链:由联盟内部指定多个节点共同维护的区块链,一般用于同性质企业的数据共享。

公有链:没有中心机构干预的公开区块链,参与节点不受限制,一般用于加密货币,以后会有更大的延伸。

如何保证区块链的稳定运行,在私有链和联盟链中都不需要过多考虑,因为这两种区块链都可以内部驱动,由中心的机构进行维护。所以我们主要说公有链的运行,公有链一般使用奖励机制,也就是说,参与打包的节点会在打包成功之后得到一定的奖励,但是我们知道,打包对于节点来说其实是个很快并且没有难度的事情,那么如何选取哪个节点来打包呢,打包的时间,区块的大小又如何控制呢,这些就需要POW,POS等共识算法了。



今天,我们对区块链做一个简单的回顾,回到我们开篇提到的问题--什么是区块链?(具有匿名性、去中心化、共识保证的分布式数据存储系统),截止目前,我们已经在技术层面解释了匿名性和去中心化这两个很关键的点,我相信您对区块链的了解也更加深入了。但是,我需要强调的是,加密和去中心化不是区块链的首创,区块链只是应用罢了。我们在接下来的文章中会陆续谈到区块链的核心价值以及争论焦点,比如共识机制和运行机制等。




加入《这就是区块链》学习群:

http://oyf24qjpw.bkt.clouddn.com/%E7%BE%A4%E4%BA%8C%E7%BB%B4%E7%A0%81.jpg

或者添加好友:xiaomingqkl


加入《这就是区块链》学习群:

http://oyf24qjpw.bkt.clouddn.com/%E7%BE%A4%E4%BA%8C%E7%BB%B4%E7%A0%81.jpg

或者添加好友:xiaomingqkl

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《这就是区块链》之区块链基础(5)--去中心化的意义 的相关文章

  • 智能合约 -- 安全考量

    相关概念 就是我们写代码是考虑这种涉及到合约安全的问题 下面这个方面写合约是重点考虑 创建消息发送以太币 1 要创建消息发送以太币 您需要构建一个有效的交易 并将其发送到以太坊网络中 2 交易被发送到以太坊网络后 会经过矿工的验证和打包 并
  • Fisco技术文档总结2---开发第一个区块链应用

    开发第一个区块链应用 本文介绍合约编译以及如何部署到区块链 通过Java SDK实现对区块链上合约的调用访问 本教程要求用户熟悉Linux操作环境 具备Java开发的基本技能 能够使用Gradle工具 熟悉Solidity语法 如果您还未搭
  • 【元宇宙】临界质量,元宇宙的关键要素

    考虑到电气化和移动技术的普及过程 我们可以自信地说 元宇宙不会突然到来 同时 也不会有明确的 元宇宙之前 beforeMetaverse 和 元宇宙之后 afterMetaverse 阶段一它们只是对应着生活发生改变的历史时期 一些高管认为
  • 区块链与分布式数据库的区别

    1 来源 分布式数据库 应对互联网条件下大规模数据的增删改查需求 解决传统数据库面临的通信开销大 性能差 容量可扩展性差和可靠性低的问题 通信开销大 假设只有一个数据库 并且放在北京 那么纽约的用户就需要等待网络从纽约到北京的往返通信延迟
  • Fisco技术文档总结3---使用工具

    前言 本文介绍fisco技术文档中的使用工具模块 该模块中将重点介绍开发部署工具和控制台 这都是开发过程中十分常用的 其他的工具是封装的工具 方便开发者使用这里接受一下方便之后使用 开发部署工具 功能 build chain sh脚本用于快
  • 北京大学肖臻老师《区块链技术与应用》公开课笔记16 The Dao

    这个是接着北京大学肖臻老师的课记的笔记 由于前面的笔记在 https blog csdn net Mu Xiaoye article details 104299664 已经有前人写好了 并且写的不错 所以这里直接给出链接 然后这个是剩下的
  • 从零开发区块链应用(五)--golang网络请求

    文章目录 一 http请求简介 二 初始化客户端 三 golang发起GET请求 3 1 GET请求方法 3 2 基本的GET请求 3 3 带参数的GET请求 四 golang发起POST请求 4 1 POST请求方法 4 2 不带参数的P
  • 以太坊虚拟机EVM的工作原理是怎样的

    以太坊虚拟机EVM的工作原理是怎样的 如果你打算尝试在以太坊区块链上开发智能合约 或者已经在该领域工作了一段时间 可能会遇到EVM一词 EMV是太坊虚拟机的缩写 虚拟机本质上是在执行代码和执行的机器之间创建一个抽象级别 需要这一层抽象来提高
  • 区块链23问,你想知道的都在这里了

    本文将以一问一答的方式给大家送上一篇关于区块链的科普文 区块链是比特币吗 金融领域为什么要使用区块链技术 所有的区块链都需要挖矿吗 区块链和大数据什么关系 这些问题本文将会一一解答 前方高能 问 什么是区块链 答 区块链 Blockchai
  • 工业制造业亟需数字化转型,区块链可以发挥哪些价值?

    智能信息化技术驱动的第四次工业革命正推动制造业积极拥抱物联网 云计算等新技术进行数字化 智能化转型升级 制造业是一个纷繁复杂的庞大网络 不仅涉及机器 零件 产品等实体还有机器制造商 物流公司 销售等诸多利益相关方 在当今数字化时代中 如何帮
  • 跨境市场下一个蓝海:区块链+跨境支付?

    全球经济的现在需要跨境支付的场景越来越多 比如出国旅游 求学 海外购物等 但是跨境支付中会面临高昂手续费 交易过程繁琐 收款时间漫长等问题 跨境市场 下一个蓝海 随着近年来跨境电商的迅猛发展 越来越多的优质海外商品郑加速进入中国市场 跨境市
  • 密码学基础(一)——哈希算法

    一 常用密码学算法分类 哈希算法 哈希算法不可逆 包括 MD4 MD5 hash1 ripeMD160 SHA256 SHA3 Keccak256 国家标准SM3 国家密码管理局 加密 解密算法 加密解密算法可逆 但是必须要有秘钥 对称加密
  • 专访《白话区块链》作者蒋勇:学习区块链空谈不如实践

    上周HiBlock区块链社区联合蒋勇老师推出课程 区块链技术概念及智能合约实践 课程上线一天内报名42人 3天时间报名80多人 其中70人通过审核 超额完成第一期招生 为保证学员学习效果 不得已提前关闭报名通道 近几天来 很多学员还在留言问
  • 你认为DAO是否可行?新年计划,卯足干劲,兔必No.1

    文章目录 课前小差 聚沙成塔 社会价值 DAO是什么 国产化 商业化回报 写在最后 课前小差 哈喽 大家好 我是几何心凉 这是一份全新的专栏 唯一得倒CSDN王总的授权 来对于我们每周四的绿萝时间 直达CSDN 直播内容进行总结概括 让大家
  • 对区块链技术的一些思考

    作者 朱金灿 来源 clever101的专栏 为什么大多数人学不会人工智能编程 gt gt gt 缘起 本想把标题起为有些扯淡的区块链 但想想咱们还是别标题党了 实在一些吧 前段时间有个朋友向我介绍区块链技术 提到区块链技术如何牛逼 说到
  • 区块链能否开启人工智能金融2.0时代?

    随着人们对区块链技术地不断探索挖掘 区块链在金融领域的应用也是越来越多 其对传统金融机构的影响也越来越深 人们越来越期望能够利用区块链开启人工智能金融2 0时代 这将对银行业的再造与重构产生颠覆性的结果 随着全球区块链技术峰会的频繁举办 这
  • 区块链之元宇宙

    区块链之元宇宙 元宇宙概念 元宇宙 Metaverse 是利用科技手段进行链接与创造的 与现实世界映射和交互的虚拟世界 具备新型社会体系的数字生活空间 元宇宙本质上是对现实世界的虚拟化 数字化过程 需要对内容生产 经济系统 用户体验以及实体
  • 解读:新基建为区块链带来的新机遇

    导读 区块链作为融合点对点传输 共识机制 加密算法等技术的分布式数据库技术 目前已渗透到数字金融 供应链管理 数字资产交易等多个领域 2019年10月 中共中央政治局集体学习区块链技术发展现状及趋势 2020年3月4日 中共中央政治局常务委
  • 区块链基本加密概念

    什么是区块链 目前狭义就任务就是一个超级账本 区块链可以用来做什么 可以用来无障碍的置换 既然是用来交易的 那么我们就要有一个地址存放我的资产 地址 举例比特资产地址 一个比特币地址由两部分组成 一部分是公钥哈希值经过Base58check
  • 在区块链世界中的token到底是什么?

    token的概念很广泛 在计算机领域中 无论是基础的网络架构还是服务系统的身份验证等 都有涉及到token的概念 然而在这里我想阐述的是在区块链世界中的token是什么 相信对区块链有些了解的朋友 都或多或少的听过或者看过关于token的描

随机推荐

  • iOS 开发中的争议(二)UI到底应该用xib/storyboard完成,还是用手写代码来完成?

    文章来源 http www devtang com blog 2015 03 22 ios dev controversy 2 参考文章 关于代码手写UI xib和StoryBoard http blog csdn net likendsl
  • 用Sutherland-Hodgman算法实现裁剪任意凸多边形

    一 实验目的 用Sutherland Hodgman算法实现裁剪任意凸多边形 二 实验工具 VC6 0 三 实验步骤 思想 每次用窗口的一条边界以及其延长线来裁剪多边形 裁剪得到的多边形的顶点由两部分组成 落在可见一侧的原多边形顶点 多边形
  • 【论文阅读】APDrawingGAN:利用分层GAN从面部照片生成艺术人像

    APDrawingGAN Abstract Introduction Related Work APDrawingGAN 概述 网络结构 生成器Generator 判别器Discriminator 损失函数 训练网络 通过预训练进行初始化
  • Mongodb入门安装

    标题 1 MongoDb 概念入门 什么是MongoDB MongoDB 使用场景 不使用MongoDB 的场景 2 MongoDB 应用与开发 安装 启动mongodb 1 MongoDb 概念入门 什么是MongoDB MongoDB
  • 四种信号量

    传送门 1 整型信号量 2 记录型信号量 3 AND型信号量 4 信号量集 例 应用信号量实现同步与互斥 说在前 信号量机制是对具体物理资源的抽象 同类资源的个数用 gt 0的信号量值来表示 0或1的则为临界资源 1 整型信号量 1 1 D
  • 自定义Weex组件——Weex的学习之路(八)

    在四月份和五月份的时候我用业余时间来学习weex 在这期间一直在看文档写demo 每一个组件都自己写demo运行一遍 我本人是做Android开发的 对JS CSS和Html有一定的了解 所以学习weex不是很难 然后我把自己所学的主要经历
  • 一种基于Harris-Laplace算法的角点检测方法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 Harris Laplace 检测方法原理 2 运行结果 3 Matlab代码实现 4 参考文献
  • 深度学习目标检测方法汇总

    目标检测简介 目标检测是计算机视觉的一个重要研究方向 是指从一个场景 或图片 中找到感兴趣的目标 任务大致分为三个流程 从场景中提取候选区 从候选区提取特征 识别候选区的类别并对有效的候选框进行位置精修 目标检测在生活的各个领域都有了广泛的
  • 算法 数列异或操作

    给你两个整数 n和start 其中n为数据的数量 start为第一个数据 当前数据定义为 num start 2 i i表示第几个数据 从0开始 请返回数列中所有数据按位异或 XOR 后得到的结果 示例 1 输入 n 5 start 0 输
  • Kali Linux 下搭建DVWA靶场和Sqli-labs注入环境

    Kali Linux 下搭建DVWA靶场和Sqli labs注入环境 DVWA靶场介绍 DVWA是一款基于PHP和mysql开发的web靶场练习平台 集成了常见的web漏洞如sql注入 xss 密码破解等常见漏洞 适合刚基础网络安全的小白
  • pytorch中的 relu、sigmoid、tanh、softplus 函数

    四种基本激励函数是需要掌握的 1 relu 线性整流函数 Rectified Linear Unit ReLU 又称修正线性单元 是一种人工神经网络中常用的激活函数 activation function 通常指代以斜坡函数及其变种为代表的
  • GMAC RGMII时序校准配置教程

    GMAC RGMII时序校准配置教程 在物联网时代 各种设备都需要联网 而其中以嵌入式系统为主 网络通信系统的核心部件即为MAC与PHY芯片 而针对MAC和PHY芯片之间的接口 有一种双数据率的接口标准 RGMII Reduced Giga
  • 一维数组与对象深拷贝的几种方法(指数组、对象中均无嵌套)

    一 万能for循环 直接上代码 var arr 1 2 3 4 5 var obj name aaaaa age 16 var arr2 copyThat arr var obj2 copyThat obj function copyTha
  • MySQL正确配置my.ini的event_scheduler = ON

    MySQL正确配置my ini的event scheduler ON 让事件的定时调度器常开 如下红框圈出部分 永久性设置方法 为何要在my ini中设置 补充mysql做一个event或job有关文章 让事件的定时调度器常开 如下红框圈出
  • 为什么数组的BUFFSIZE要定义为4096比较好?

    先看一个程序 page 69 include apue h define BUFFSIZE 4096 int main int argc char argv int n char buf BUFFSIZE while n read STDI
  • 高级计算机网络

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 RDT协议 rdt1 0 经完全可靠信道的可靠数据传输特点 rdt2 0 经具有比特差错信道的可靠数据传输 校验和 ACK NAK rdt2 1 考虑处理
  • swagger添加@ApiImplicitParams后出现错误 Required String parameter is not present

    swagger添加 ApiImplicitParams后出现错误 并且会报错 HTTP Status 400 Required String parameter xx is not present 原因是 要求post 但是 请求用的是ge
  • make编译kaldi时候遇到的各种错误

    文章目录 第一个问题 aclocal 1 14 command not found 第一个问题 aclocal 1 14 command not found tools openfst 1 6 7 missing line 81 acloc
  • line-height: 1; line-height: 100%;是什么意思

    先简单看个例子 css 页面 应该猜测出来了 line height 1 line height 100 font size 50px 把哪一个放到最后都是一样的 我理解的就是 等于字体高度的 1 整 份 或者 等于 字体高度的 100 高
  • 《这就是区块链》之区块链基础(5)--去中心化的意义

    在上一篇中 花了比较大的篇幅来阐述去中心化的概念 其实对于有计算机基础的朋友来讲 去中心化或者P2P网络并不是新颖的观点 但是 我还是希望本系列文章可以从基础展开 让所有的朋友都可以理解区块链的意义所在 今天我们来谈谈去中心化到底在区块链中