区块链中的去中心化,点对点网络系统,所有权本质,,双花问题的详解

news2024/11/15 9:14:55

去中心化的概念

区块链去中心化是指一种分布式数据库技术,它通过加密算法和共识机制在网络中的多个节点上存储数据,从而实现数据的去中心化管理。在区块链去中心化中,没有中心化的权威机构或服务器来控制或验证数据,而是依赖于网络中的所有参与者共同维护数据的完整性和一致性。

如下图左图是去中心化,右图是中心化模型

ffc502ccf5b74287a114122c5b06608a.png

在一个中心化系统中,一个中心模块连接了其他所有的模块。对应地,一个去中心化的系统中没有任何一个中心节点可进行节点间的协调与控制

作为区块链诸多特性中的重要的一个特点,其使用分布式储存与算力,使得整个网络节点的权利与义务相同,系统中数据本质为全网节点共同维护,从而区块链不再依靠于中央处理节点,实现数据的分布式存储、记录与更新。而每个区块链都遵循统一规则,该规则基于密码算法而不是信用证书,且数据更新过程都需用户批准,由此奠定区块链不需要中介与信任机构背书。b401c591d93447d394a836c34681e95c.png

去中心化的分布式系统虽然有很多好处,但设计并运行这样的系统是很难的,因为和中心化系统相比,它运行在一个不可信任的环境中,要保持系统的一致性、完整性、安全性是非常困难的。往往中心化系统很容易做到的事,在去中心化系统中会非常困难。

去中心化系统的优势

  • 更强大的计算能力

在一个去中心化系统的计算能力表现为系统中所有互联计算机的计算能力之和。

  • 更低的成本

一台超级计算机的搭建、维护与运营成本会远远高于相同计算能力的去中心化系统。

  • 更高的可靠性

在去中心化系统中即使一个节点计算机宕机,整个系统依旧可以照常工作,这个特性为去中心化系统带来了更高的可靠性。

  • 自增长的能力

通过向系统中加入新的计算机,去中心化系统的计算能力能够得到进一步的提升。

去中心化系统的劣势

  • 节点间的协调

去中心化系统没有中心节点来协调其中的所有成员。 去中心化系统中的协作具有不小的难度,并且在协调过程中会产生额外的开销,并占用一定的计算资源。

  • 节点间的冗余通信

节点间的协作需要通过通信交流来完成。 去中心化系统中的成员节点需要和其他的节点频繁进行通信,产生额外的开销,并占用一定的计算资源。

  • 对网络的过度依赖

各类通信网络均存在各自的局限性。 去中心化系统中的成员节点需要不停地互相通信,这个通信过程依靠网络作为媒介,因此对网络的选择和依赖会影响整个去中心化系统的存在。

  • 系统编程的较高复杂度

通过编写程序或软件来解决各类问题。 任何一个运行在去中心化系统上的软件都需要解决额外的问题。

  • 安全问题

任何网络传递数据与信息都存在可靠性的问题,而一个去中心化系统的特征决定了这个系统需要更加注重系统的安全性。系统对成员节点使用网络的权限限制越大,去中心化系统就越安全可靠。

去中心化的点对点网络系统

523546e0d9dd4c919ea3d9b20a2b7faa.png

网络中的每台计算机都作为一个节点,这些节点在系统中扮演着相同的角色,拥有相同的权利。对于整个点对点网络而言,其中的任意一个节点即使系统资源的提供者,也是系统资源的使用者,所以使用相关软件的人越多,这个软件背后的系统就越庞大,资源也就越加丰富。

  • 点对点系统由计算机组成,这些计算机将资源直接开放给系统中的其他成员。
  • 点对点系统的优势是它们允许成员不通过中间人直接进行交互,能够加快信息的处理速度,降低成本。
  • 点对点系统可以是中心化的,也可以是完全去中心化的。
  • 区块链能够为完全去中心化点对点系统的实现和维护提供完备性,而完全去中心化的点对点系统有能力改变所有有中间商参与的行业。

具有中心化和去中心化优势的混合系统

混合去中心化架构和去中心化系统作为中心节点的中心化架构图

aeefa421602143b5a8621f27044471c8.png

 

 两种混合架构系统有一个共同点:难以定义它们的本质是中心化的还是去中心化的。

去中心化系统也存在一些挑战,如性能瓶颈、安全性问题和治理机制等。为了解决这些问题,一些系统采用了去中心化和中心化混合的架构。在这种架构中,系统的一部分功能采用中心化的方式来实现,以提高性能和可管理性;而另一部分功能则采用去中心化的方式来实现,以提高系统的安全性。

例如,一种中心化与去中心化结合的可信系统架构将生产者、记录者和验证者分为三层,分别是私有链、类公有链和DHT客户端。这种架构通过将账本数据映射到DHT客户端,并通过等价验证使每个客户端只需要存储和验证部分账本数据,即可等价为验证了整个账本数据,从而验证私有链的账本数据是否正确。这种架构结合了中心化和去中心化的特点,能够在保证系统正确性和不可篡改性的同时,提高系统的性能和可扩展性。

总之,去中心化和中心化的混合系统是一种灵活、可扩展且安全的系统设计方法,能够应对复杂多变的网络环境和数据需求。

点对点系统中的信任与完备性

aa9b9fe26de046eea716d9085d48532f.png

 

 技术性故障

点对点系统是由网络中互相连接的独立计算机组成的,任何一台计算机的任意一个硬件(或核心软件),或这个系统所依赖的网络都有发生故障的风险。

一个分布式系统必须面对节点故障或系统运行错误所带来的风险。

点对点系统中的威胁

(1)去中心化系统中成千上万个节点都拥有,记账和存储账本数据的权力,节点的加入和退出都是完全自由的,没有人来管控和认证,这样难免就会出现心怀不轨的破坏分子。恶意节点是点对点系统所面临的第二大完备性威胁,这类威胁不是技术问题,但是可能比技术问题更难以处理:有人出于私利而剥削整个系统,或占据这个系统中的主要资源。95e717fa07c1408cb41cccc8e922450f.png

(2)比特币系统的节点分布在全球各地,在网络中同时会产生成千上万个交易数据需要记账,各地的网络有快有慢,有时部分网络还有可能断线,要全网所有的节点保持所记录的交易账目都是一模一样的,即保持全网的一致性,也是非常困难的。

双花问题

(3)双花,即双重支付,指的是在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况简单来说,同样一笔数字资产被重复支付,即同样一笔钱被花掉两次或多次。

比如,我们微信钱包里有100块钱,我们先去饭店吃了顿饭,结果微信出了bug,这一笔钱并没有被银行同步,还留在钱包里,于是我们又能拿着同样的100块钱去看场电影,这就属于双花问题。

在区块链系统中,双花问题会出现的情况

  • 由于共识机制导致区块确认时间长,用一个数字货而去进行一次交易,可以在这笔交易还未被确认完成前,进行第二笔交易
  • 控制算力来实现双花,第一次交易被验证通过并被记录入区块后,在该网络中有更高的算力验证出新的更长链条,在该链条中这笔钱被第二次花费,由于第二次花费的区块链条更长使第一次交易区块所在链条为无效链条,这样一来,第一次交易所在的区块链被区块链网络放弃,第一次花费的钱就又回到自己账户了,就导致了双花问题。
  • 还有许多情况,比如利用控制矿工费来实现双花,或者一些人为了节省时间而接受0确认,这就很容易被攻击者利用。

如何解决双花问题

  • UTXO:首先每笔交易都要先确认对应比特币之前的情况,要检査它是否存在于用户的UTXO中。如果不在,那么该交易会被系统拒绝,
  •  时间戳:当交易被矿工们先后记录后,根据时间戳数据来证明,最先被记录的交易才能被成功验证,区块链的时间戳是一种存储在区块链网络中的数据,它用来记录在区块链网络上发生的交易的时间。 它可以帮助查询不同区块的时间,以证明特定交易的时效性,也可以证明区块是否安全以及交易的正确性。 时间戳是指由公共账本中的时间信息所组成的字符串,具有共识性,可以防止恶意操作和数据篡改。
  •  六次确认:交易接收者等待6个区块之后就认为基本上没法被篡改(特殊情况:51%攻击)

7edc801490874d53aa3cd7995b3f872c.png

比特币网络的难度是动态调整的,被设计为平均每10分钟出一个“块”(交易信息)。区块奖励是给第一个确认的人。

连续6个确认是指在这之后又有5个区块被计算出来连接到区块链上,每一个都相当于对前面一个区块进行确认,区块链上每增加一个区块就增大了前面区块被篡改的难度。

比特币区块链采取的是最长链原则,即当前最长的链被认为是主链,是正确的链。

由于新区块的生成速度是由计算能力决定,所以这条规则就是说,拥有大多数计算能力的那条分支,就是正宗的区块链

cd6b0a75213f48269175e81ef67d101b.jpeg

 

区块链中的占拜庭问题

拜占庭的将军们没有一个中心化的领导机构,所以,如果他们需要攻击某个城市,所有将军需要对任何将军可能提出的攻击时间达成共识。也就是说,只有所有的将军都达成了共识,在同一个攻击时间攻击,就有非常大的胜率。但是,问题来了。这时,可能会有多个将军同时发出不同的攻击计划,而且这些将军中还有叛徒。那么,将军们怎样达成共识呢?莱斯利·兰伯特证明,当叛变者不超过 1/3 时,存在有效的算法。不论叛变者如何折腾,忠诚的将军们总能达成一致的结果。如果叛变者过多,则无法保证一定能达到一致性。拜占庭问题之所以难解,在于任何时候系统中都可能存在多个提案(因为提案成本很低),并且要完成最终的一致性确认过程十分困难,容易受干扰。但一旦确认,即为最终确认。

95305e162ecb4708b180197fb7c39dcd.png

占拜庭容错技术被设计用来处理显示存在的异常行为,并满足所要解决问题的规范要求。

一群拜占庭将军,人手一台电脑想用字符串模式匹配的方法,暴力破解国王的WiFi密码,当然他们已经事先获取了组成密码的字符串的长度。一旦他们开始模拟网络发送数据包,他们必须在一个限定的时间内完成破解工作,并清除服务器和电脑上的记录,否则他们就会被发现,那就麻烦了。只有当绝大多数将军在同一时间发起攻击和破解,这样才能有足够的CPU(中央处理器)和计算能力在短时间内完成破解工作。

下面是一个简单的故事帮助理解

他们并不特别在乎什么时候开始攻击,只要他们全部同意就好。一开始的时候,大家决定这样搞:任何人觉得时机到了都可以宣布一个攻击时刻。而且,不论是什么时候,只要是第一个被听到的攻击时刻,就将被确定为官方的攻击时刻。这样的话问题又来了,因为网络传达有延迟和干扰,如果有两个将军差不多同一时间公布了两个不同的攻击时刻,那么有的人会最先听到其中一个将军发布的攻击时刻,而又有些人则会最先听到另外一个将军发布的攻击时刻。

他们使用一个“工作量证明链”来解决这个问题。当每个将军接收到任何表达形式的第一个攻击时刻时,他都会设置他的计算机来求解一个极其困难的“工作量证明”问题,对这个问题的解答是一个哈希(Hash)散列,里面也将包含着这次的攻击时刻。由于这个“工作量证明”问题,非常难解,一般而言,就算所有人收到这个问题后同时求解,也至少需要10分钟才能产生解答。一旦一个将军解出了“工作量证明”,他将会把这个算出来的“工作量证明”向整个网络进行传播,每一个接收到的人,将在他们当前正在做的“工作量证明”计算的散列中附加上刚刚被求解出来的那个工作量证明。如果任何人正在计算他收到的其他的一个不同的攻击时刻,他们将会转向新的更新后的“工作量证明”计算当中,因为他现在的“工作量证明链”更长了。

两个小时后,将有一个攻击时刻被散列在一个有12个“工作量证明”的链中。每个将军只要通过验证(这条工作链的)计算难度,就能估算出平均每小时有多少CPU算力耗费在这上面,也就会知道:这一定是在分配的时间段内,绝大多数将军的计算机共同协作才能生成的结果。如果“工作量证明链”中展示出来的算力足够强大,可以破解国王的WiFi密码,那么他们就可以在一致同意的时间内安全地展开攻击。

同步、分布式数据库和一个一致的、全局性的视野的问题如何解决?“工作量证明链”就是答案。

所有权的本质

所有权就是如何证明一件事物是你本人的

证明所有权的三个要素

  • 对所有者的证明
  • 对事物被拥有的证明
  • 提供一个所有者和事物之间的连接

区块链和账本来进行所有权管理之间的联系可以总结以下五点

  • 点个账本可以用来记录所有权相关的信息,可以看做一份区块链中存储与所有权有关的证明
  • 只有一个账本是有风险的。可以利用一组独立的账本来记录所有权,并使用大多数账本都认可的结果来对所有权进行证明。 
  • 使用区块链数据结构来创建基于完全去中心化系统的账本。区块链算法负责让各个节点账本内的所有权状态同步到一个一致的版本。
  • 所有者和物品之间的关系可以保留在账本中,与法庭中的证人起着相同的作用。
  • 6f053fa72f704dac917171e6e0b6e739.png

f0117fe7d46f4046abeada6241cc74c9.png

 

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

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

相关文章

又到了金九银十,你的简历写好了吗?

又到了金九银十的招聘季,不过这几年求职环境越来越差,相比于跳槽找新机会,大家可能更倾向于守住自己手头的工作,稳字当头。当然,也有很多工作实在干烦了的朋友,想要换个新赛道试试。今天就给大家带来一个新…

玩转Google SERP API 说明

Google SERP API 对接说明 Google SERP(Search Engine Results Page)是用户在Google搜索引擎中输入查询后看到的结果页面。它显示自然搜索结果、广告、特色摘要、知识图谱以及图片、视频等多种内容,旨在为用户提供最相关的信息。 本文将详细…

防火墙详解(三)华为防火墙基础安全策略配置(命令行配置)

实验要求 根据实验要求配置防火墙: 合理部署防火墙安全策略以及安全区域实现内网用户可以访问外网用户,反之不能访问内网用户和外网用户均可以访问公司服务器 实验配置 步骤一:配置各个终端、防火墙端口IP地址 终端以服务器为例&#xff…

go解决引入私有包报错“Repository owner does not exist“的两种方式

当你写好引入的私有包,执行go mod tidy报错: Gogs: Repository owner does not exist fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 目前我的两种解决方案: 一、拉群整个…

论文集搜索网站-dblp 详细使用方法

分享在dblp论文集中的两种论文搜索方式:关键字搜索,指定会议/期刊搜索。 关键字搜索 进入dblp官方网址dblp: computer science bibliography,直接在上方搜索栏,搜索关键字,底下会列出相关论文。 指定会议/期刊搜索 …

Java多线程(1)—线程基础

一、关于线程 1.1 简介 计算机线程(Thread)是操作系统能够进行运算调度的最小单位。线程的优势在于提高了程序的效率和响应能力,尤其在处理 I/O 操作或多任务时。多线程编程能够充分利用多核处理器的计算能力,达到更高的性能。 …

解决IDEA出现:java: 程序包javax.servlet不存在的问题

问题截图: 解决如下: 1. 点击文件——>项目结构 2. 点击库——>点击——>点击java 3. 找到Tomcat的文件夹,找到lib文件夹中的servlet-api.jar,点击确定 4. 选择要添加的模块 5. 点击应用——>确定

Deep Guided Learning for Fast Multi-ExposureImage Fusion

Abstract 我们提出了一种快速多重曝光图像融合(MEF)方法,即 MEF-Net,用于任意空间分辨率和曝光次数的静态图像序列。 我们首先将输入序列的低分辨率版本提供给全卷积网络以进行权重图预测。 然后,我们使用引导滤波器联…

NGO电工钢行业分析:未来几年年复合增长率CAGR为2.7%

NGO电工钢,顾名思义,其磁性具有各向同性性(也叫各向同性电工钢),广泛应用于制造各类电机、发电机铁心。 据QYResearch调研团队最新报告“全球NGO电工钢市场报告2024-2030”显示,预计2030年全球NGO电工钢市场…

镜舟科技面对亿级数据分析场景,如何做到金融级放心用?

引言 中国金融数据库行业研究报告(2023)指出,自 2020 年的⾦融信创元年, 中国数据库迎来了⾼速发展。 进入 2024 年,镜舟科技的商业拓展速度进一步加快。在过去半年里,镜舟科技与十余家头部股份制银行、…

【人工智能】Transformers之Pipeline(十九):文生文(text2text-generation)

目录 一、引言 二、文生文(text2text-generation) 2.1 概述 2.2 Flan-T5: One Model for ALL Tasks 2.3 pipeline参数 2.3.1 pipeline对象实例化参数 2.3.2 pipeline对象使用参数 ​​​​​​​ 2.3.3 pipeline返回参数 ​​​​​​​​​​​…

C语言 fwirte 函数 - C语言零基础入门教程

目录 一.fwirte 函数简介二.fwirte 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.fwirte 函数简介 C 语言文件读写,fread 函数用于读取文件中的数据到指定缓冲区中,而 fwrite 函数用于把缓冲区数据写入到文件…

【Redis技能熟练掌握之十年内功】

Redis技能熟练掌握之十年内功 1.redis是什么?为什么要使用redis?2.redis一般应用于什么场景(四个场景)?3. Redis持久化机制是什么?各自的优缺点?一般咋么用?4. redis五个基础类型支持…

Microsoft Edge WebView2运行时安装包获取

目前越来越多的软件将WebView2当做运行时,发现一些精简版的系统精简掉了WebView2或者人为误删除,一些软件无法正常运行,我们可以重新安装即可 浏览器访问WebView2官方页面 https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/ …

kafka负载均衡迁移(通过kafka eagle)

在grafana监控中发现kafka的各个节点磁盘不均匀 出现这样的情况是因为kafka默认是以文件数作为平衡的条件的。换句话说,kafka不会管一个副本有多大,只会看磁盘中有多少个副本文件。 解决方式: 1、修改策略,改为按照磁盘大小平衡…

计算机毕设设计推荐-基于python+Djanog大数据的电影数据可视化分析

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、电影数据可视…

数控机床中的滚柱导轨什么情况下需要重新更换?

滚柱导轨是数控机床中重要的传动零部件,主要用于支撑和引导运动部件的直线运动,它的故障通常会导致加工精度下降、噪音大、导轨摩擦不顺畅等问题。那么,我们应该如何确定滚柱导轨是否需要更换呢? 1、‌外观检查‌:首先…

第二证券:“产业+科技” 中国并购重组市场持续升温

A股商场正在进入新一轮并购重组周期。新“国九条”出台以来,多项关于并购重组商场的方针接连推出,方针环境不断优化,相关事例数量较去年同期显着增加。从具体事例来看,工业链整合成为本年并购商场的重要“主线”,以“硬…

QT菜单之快捷菜单设计

快捷菜单又称为上下文菜单,通常在用鼠标右击的时候弹出。创建快捷菜单的方法和创建菜单栏菜单类似。 效果图: 一、将MainWindow类对象的ContextMenuPolicy属性设置为customContextMenu。 打开mainWindow.ui,在属性视图上找到ContextMenuPoli…