区块链的三难困境是什么,如何解决?

人们需要保持社交、工作和睡眠之间的平衡,并且努力和谐相处。同样的概念也反映在区块链的三难困境中。

区块链三难困境是一个术语,指的是现有区块链的局限性:可扩展性、安全性和去中心化。这是一个存在了几十年的设计问题,其问题的本质是找到一种方法,在不使用太大或太贵的存储设备的情况下,安全地将数据存储在一个更小、更轻的容器中。

如上所述,区块链三难困境由三种场景组成,但是在深入讨论之前,先简要地概述一下去中心化、安全性和可扩展性。

(1)去中心化是指权力从单一的企业、政府部门或其他大型集团转移到几个较小的组织。例如,在区块链三难困境中,去中心化赋予世界各地的人们使用他们的计算机(称为“节点”)进行管理的权力,而不是让集中的一方控制整个网络。

(2)安全性要求区块链是安全的,但不能完全免受黑客攻击。例如,如果黑客控制51%的网络,他们可以改变交易发生的方式,在网络中窃取受害者的资金。

(3)区块链中的可扩展性与业务中的可扩展性相同;这意味着在保持相同的交易速度和输出的同时,网络的规模在未来可以增长多少。

当可扩展性和去中心化协同工作时,安全性往往会受到威胁。这是因为安全限制了有助于去中心化网络增长的变化。此外,运行去中心化网络所需的工作量限制了可扩展性。

本文将让人们了解区块链三难困境的细节,并了解不同的可用解决方案。

一、区块链三难困境中三个核心要素的重要性是什么?  

1.去中心化

去中心化网络强调了区块链依赖于足够大的利益相关者群体的重要性。去中心化可以在不同的层面上看到,例如挖矿者的数量、完整的节点、活跃的开发人员等。重要的是要记住,并非所有的区块链都是类似地去中心化。

(1)去中心化网络的优点

去中心化使得共识成为可能,而无需强迫用户信任单个实体。去中心化是一件好事,因为它使系统更加稳定。它可以防止网络被关闭,所以任何人都可以使用它。

(2)去中心化网络的缺点

去中心化降低了网络的速度,增加了处理交易的时间。它的成本很高,因为增加了冗余,所以它只适用于某些应用程序。

2.可扩展性

可扩展性是区块链系统在不影响性能的情况下支持规模增长(更多用户、更多用例以及最终更多交易)的能力。

使用区块链的人数如何增长? 有两种方法(或这两种方法的混合):

  • 减少检查交易的团体数量(在去中心化上的妥协)。
  • 减少阻塞时间,使网络更容易(在安全性上妥协)。

(1)注重可扩展性网络的优点

它可以让网络处理大量的交易,在安全优先级较低的应用程序中很有用,比如社交消息应用程序。

(2)关注可扩展性网络的缺点

如上所述,增长能力可能意味着安全性降低。此外,随着网络的发展,共识机制也必须如此,这可能会导致更多的集中。

3.安全性

区块链保持交易不可逆性的能力就是其安全性。它通过强迫网络参与者浪费资源来获得激励——网络参与者的资源支出越大,区块链就越安全。

在最近的一次以太坊经典(ETC)的黑客攻击中,网络攻击者重组了4000多个区块,并将价值约100万美元的ETC翻倍。

网络攻击者为什么成功?因为与所获取的价值相比,获取整个网络51%以上的哈希值的费用微不足道。简而言之,这4000个区块中的财富远远超过了网络参与者部署的资源。

(1)强调安全的区块链优势

实现比传统价值转移更快、更便宜的更大价值转移。

(2)以安全为重点的网络的缺点

需要更多的资源,即更大的财务投资。

公共区块链的安全性由网络参与者提供;更高的安全性会导致更大的网络效应,而这种网络效应很难重现。

二、这些因素之间的相互作用如何导致出现问题

以太坊是观察到的三难困境的最新例子。如今,各行业中大多数去中心化应用程序(dApps)都基于以太坊。以太坊是从去中心化金融(DeFi)协议到不可替代代币(NFT)交换的所有产品的首选资源。随着去中心化应用程序的普及,以太坊平台的使用率提高。

但扩展性问题仍在继续增长! 可悲的是,扩展性问题变得更糟了。以太坊的规模不能超过一定的限制。因此,对于某些人来说,与区块链打交道的交易费用变得非常昂贵。以太坊交易成本的增加是三难困境的一个例子,在这种情况下,扩展以太坊需要牺牲安全性或去中心化。在以太坊的情况下,通过限制每秒的交易数量(可扩展性)来优先考虑去中心化和安全性。用户向挖矿者支付额外的交易费用,以确定交易的优先级。

给定类似的安全特征,可以得出结论,可扩展性与去中心化成反比。假设两个工作量证明区块链在去中心化方面是相同的。可以把区块链的安全性看作是它的哈希率。哈希率越高,确认时间越短,安全性随着可扩展性的增加而增加。因此,在不断去中心化的情况下,可扩展性和安全性是对应的。

因此,区块链不能同时针对去中心化、安全性和可扩展性在质量方面进行优化。与其相反,它必须使用多个配置文件进行权衡。因此,根据区块链的三难困境,公共区块链无法实现必要的去中心化、安全性和可扩展性。

三、制定了哪些不同的策略?  

最近,许多扩展策略已经被开发出来。例如,闪电网络(Lightning Network)是比特币区块链的一个组成部分,而以太坊以其Arbitrum网络而闻名。

闪电网络通过主要区块链网络上的私有链外渠道利用智能合约的功能。链下路线允许更快、更便宜的交易。值得注意的是,通过将交易转移到远离主链的地方,闪电网络减轻了主链的压力。用户不再需要支付挖矿费用或在较长时间内等待区块确认。

Arbitrum使以太坊用户能够在链下结算,提高交易速度和效率。

Arbitrum采用独特的共识过程和数据压缩来加快交易,同时保持低廉的交易成本。此外,它将多个智能合约组合成其链上的单个对象,使它们更易于使用。

Algorand是2017年成立的另一种加密货币,据称已经解决了区块链三难困境。Algorand采用权益证明(PoS),其中只有加密选择的验证者可以用他们的令牌来验证下面的区块,这有助于减少几个指数的验证节点数量,提高交易速度和区块安全性。

四、有哪些不同的方法使区块链可扩展?  

可扩展性是区块链尚未被广泛使用的最大原因。因此,区块链需要有效的扩展解决方案。人们正在制定许多不同的解决方案。令人惊讶的是,有不同的方法来解决这个问题。每个解决方案都提供了不同的方法来处理区块链的扩展问题。

1.Layer 1解决方案  

Layer 1解决方案修改区块链网络的基本软件。因此,Layer 1解决方案通常被称为“链上扩展解决方案”,以描述其操作。

Layer 1解决方案增强了区块链网络最关键的方面,例如增加块大小限制或减少验证区块所需的时间。分片(Sharding)、隔离见证(SEGWIT)和硬分叉(hardfork)是用于扩展Layer 1区块链的三种最流行的技术。

2.区块链分片

区块链网络是一个巨大的数据库,有许多节点可以验证数据。每个节点必须验证整个网络的交易。

分片将区块链网络划分为可管理的分片。节点将验证分片数据,而不是确认网络数据,这减少节点工作量,提高系统效率。

区块链分片有三种类型:

(1)网络区块链分片创建了不同的分片。此外,所有分片同时执行交易,从而提高了区块链网络性能。

(2)交易分片将需要通过分片进行身份验证的交易分组。

(3)状态分片将分类帐划分为存储独立部分的分片。

3.隔离见证

SEGWIT是“隔离见证”的缩写,是区块链Layer 1扩展选项的另一个重要补充。

隔离见证是对比特币区块链网络协议的改进,它改变了数据存储的方式和位置。它有助于消除绑定到每个交易的签名数据,并为交易释放更多空间和容量。

重要的是要知道,交易中大约70%的空间被数字签名占用,数字签名证明发件人拥有并有权使用现金。因此,如果数字签名被删除,可能会有更多的空间进行新的交易。

4.Rollups

Rollups在Layer 1区块链之外执行交易,并在达成共识后发布它们。这分离了Layer 1性能流程的重要部分。该解决方案的一个重要方面是零知识Rollup(ZK-Rollup),它处理数百个链下传输并随后上传。它加快了交易处理速度,是提高性能最有效的方法之一。

五、Layer 2可扩展性的解决方案

主区块链网络的变化对Layer 1或链上扩展方法是否有效有很大影响。

链下扩展选项包括第二层或Layer 2扩展选项。Layer 1解决方案是构建在主区块链之上的不同协议。在这些类型的解决方案中,来自主区块链的交易被“卸载”到次要协议。Layer 2解决方案可以帮助解决空间和网络拥塞等问题。主流的Layer 2解决方案包括状态通道和非侧链。

1.嵌套区块链

嵌套在另一个区块链中的区块链存在,其中Layer 1区块链将处理委托给分层区块链。因此,开发定制的解决方案非常简单。它被认为是用最少的努力解决区块链三难困境的最好、最简单的方法之一。最著名的例子是Ethereum Plasma,它利用锚定在主链上的二级区块链,可以提供欺诈证据来仲裁纠纷。

2.状态通道

状态通道的交易处理和区块链网络的容量被委派。它的节点不需要验证,使得附近的资源更容易满足其需求。Layer 1网络只需要将通道的最终状态存储在区块链上。

3.侧链

侧链是一个独立的区块链,通过双向钉住连接到主区块链。它增强了现有区块链的互操作性和处理能力。例如,比特币的网络可以使用侧链更快地执行交易。这是人们提高比特币性能的许多方法之一,尽管从理论上来说是不可行的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【python高级用法】迭代器、生成器、装饰器、闭包

迭代器 可迭代对象:可以使用for循环来遍历的,可以使用isinstance()来测试。 迭代器:同时实现了__iter__()方法和__next__()方法,可以使用isinstance()方法来测试是否是迭代器对象 from collections.abc import Iterable, Iterat…

Hadoop安装笔记1单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码,使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String&am…

人工智能的第一性原理

今天跟大家分享一篇 北师大 - 图像处理研究中心主任 郭平教授的一篇文章 通过“四个问题”, 解释了人工智能的第一性原理 提出了如何运用第一性原理思维 来解决人工智能缺乏基本常识的问题 并且他建议将最小作用量原理 作为人工智能的第一性原理 什么是第一…

排序算法讲解

1)排序思想: 2)排序代码: 3)注意点: 4)时间/空间复杂度和稳定性 下面的排序是以实现升序讲解的。 (一)直接插入排序 1)排序思想: 把待排序的…

【c语言】飞机大战2

1.优化边界问题 之前视频中当使用drawAlpha函数时,是为了去除飞机后面变透明,当时当飞机到达边界的时候,会出现异常退出,这是因为drawAlpha函数不稳定,昨天试过制作掩码图,下载了一个ps,改的话&#xff0c…

centos7安装nginx并安装部署前端

目录: 一、安装nginx第一种方式(外网)第二种方式(内网) 二、配置前端项目三、Nginx相关命令 好久不用再次使用生疏,这次记录一下 一、安装nginx 第一种方式(外网) 1、下载nginx ng…

Jenkins基础教程

目录 第一章、快速了解Jenkins1.1)Jenkins中一些概念介绍1.2)Jenkins和maven用途上的区别1.3)为什么使用Jenkins1.4)学习过程中的疑问 第二章、安装Jenkins2.1)安装之前的准备2.2)Windows中Jenkins下载安装…

DrGraph原理示教 - OpenCV 4 功能 - 单通道图

通道 OpenCV的核心处理对象是Mat,大体是一个二维数组,加上了各种功能函数。 很多的图像处理,会在单通道或二值化的基础上进行,比如连通域、目标识别等。这里的通道就是channels。 不同的图像处理算法可能对通道数有特定的要求。例…

计算机组成原理复习6

总线结构与控制练习题 计算机系统为什么采用总线结构? 解析:在冯诺依曼计算机体系当中,把计算机基本组成分成了五大部分。运算器,控制器,存储器,输入设备和输出设备。我们可以把运算器和控制器制作在一个芯…

字符串与模拟法

加密英文 输入一个字符串可用getline(cin,数组名) 字典序 在字符串中寻找子字符串 分糖果 代码 猴子选大王 代码 如果n号猴子被选中,则使得n号的猴子变成false,未出局的猴子为true。 if(pn1) p1;这个是将超出的下标重新变回1号,使其重新循…

DNS域名查询过程

目录 DNS(Domain Names System) 域名转IP IP转域名 域名 域名查询流程 浏览器DNS缓存 操作系统缓存 本地host文件 完整流程 递归查询 迭代查询 DNS(Domain Names System) 域名系统,将域名和 IP 地址进行转…

模型 冰山理论

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。冰山下面才是重点。 1 冰山理论的应用 1.1 冰山理论在生活中的常见应用 人际交往:在人际交往中,很多人只关注表面的行为和语言,而忽略了内在的情感和动…

免费的云服务器推荐~三丰云

对于许多初创企业和小型公司来说,寻找一个经济实惠且可靠的云服务提供商是至关重要的。在这方面,三丰云以其免费虚拟主机和云服务器吸引了大量用户。 1. 注册与界面 注册三丰云的账户过程简单明了,只需按照步骤填写必要信息即可。其界面设计…

Unity之地形的构建

PS:公司没活干,好无聊偷偷摸鱼学Unity,害怕自己学完之后忘记,写下这一篇博客 先来看一下效果图:有山有水有树有草地 创建一个新的Unity3D项目 这里要用到Unity官方的免费资源包(现在好像已经下架了百度网盘…

Mybatis分页插件之PageHelper生效and失效原理解析

文章目录 前言整合PageHelperPageHelper生效原理PageHelper的分页参数和线程绑定核心拦截逻辑生成分页SQLdialect.afterAll() PageHelper失效原理分页失效案例分页失效原理总结 Mybatis拦截器系列文章:从零开始的 MyBatis 拦截器之旅:实战经验分享 构建自…

S32K312使用ITCM向FLASH代码区写入数据

使用C40_IP的系列方法向FLASH代码区写入数据时,程序会卡死在读取写操作的状态C40_Ip_MainInterfaceWriteStatus()这个方法中。本文主要介绍S32K312通过ITCM的方式,通过C40_IP的方法向FLASH代码区成功写入数据的方法和步骤。 首先,验证一下C4…

macos下php 5.6 7.0 7.4 8.0 8.3 8.4全版本PHP开发环境安装方法

在macos中如果使用brew 官方默认的core tap 只可以安装官方最新的稳定版PHP, 如果想要安装 php 5.6 或者 php 8.4版本的PHP就需要使用第三方的tap , 这里分享一个比较全面的brew tap shivammathur/php 这个tap里面包含了从php5.6到最新版php8.4的所有可用最新版本PHP, 而且是同…

python大于等于小于等于,python大于等于怎么写

大家好,小编为大家解答python中大于等于且小于等于的问题。很多人还不知道python大于号小于号如何运用,现在让我们一起来看看吧! 大家好,小编来为大家解答以下问题,python中大于并小于一个数代码,python 大…

数据结构【线性表篇】(二)

数据结构【线性表篇】(二) 文章目录 数据结构【线性表篇】(二)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件? 目录一、单链表(一)、单链表的定义(二)、单链表的建立(三)、单链表的插入删除(四)、单链表的查找 二、主函…

springBoot2.3-基本介绍及入门案例

本次学习雷丰阳springBoot(2.3版本)。建议先修ssm 一、SpringBoot基本介绍 springBoot是当今最为流行的java开发框架。 1、springBoot的底层是spring, 因此继承了spring的粘合其他框架的能力。 2、本质上还是其他框架包括spring在工作 , springBoot起到一个整合其他…