区块链的三难困境是什么,如何解决?
人们需要保持社交、工作和睡眠之间的平衡,并且努力和谐相处。同样的概念也反映在区块链的三难困境中。
区块链三难困境是一个术语,指的是现有区块链的局限性:可扩展性、安全性和去中心化。这是一个存在了几十年的设计问题,其问题的本质是找到一种方法,在不使用太大或太贵的存储设备的情况下,安全地将数据存储在一个更小、更轻的容器中。
如上所述,区块链三难困境由三种场景组成,但是在深入讨论之前,先简要地概述一下去中心化、安全性和可扩展性。
(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.侧链
侧链是一个独立的区块链,通过双向钉住连接到主区块链。它增强了现有区块链的互操作性和处理能力。例如,比特币的网络可以使用侧链更快地执行交易。这是人们提高比特币性能的许多方法之一,尽管从理论上来说是不可行的。
相关文章:
区块链的三难困境是什么,如何解决?
人们需要保持社交、工作和睡眠之间的平衡,并且努力和谐相处。同样的概念也反映在区块链的三难困境中。 区块链三难困境是一个术语,指的是现有区块链的局限性:可扩展性、安全性和去中心化。这是一个存在了几十年的设计问题,其问题的…...
oCPC实践录 | oCPM的秘密
前言 笔者从这几方面介绍oCPM,并一一分析平台侧宣称的oCPM相比oCPC的优势,并解开其中的秘密。 1)什么是oCPM? 2)oCPC与oCPM的异同 3)平台宣称oCPM的优势 4)oCPM真正的秘密 5)oCPM下的点击率与…...
【Linux Shell学习笔记】Linux Shell的位置参数与函数
一、位置参数 位置参数,也被称之为位置变量,通过位置参数,可以在执行程序的时候,向程序传递数据 1.1 shell接收参数的方法 1.2 向shell传递参数的方法 二、函数 2.1 函数基础 2.1.1 函数简介 函数本质上就是一个代码块…...
缓存cache和缓冲buffer的区别
近期被这两个词汇困扰了,感觉有本质的区别,搜了一些资料,整理如下 计算机内部的几个部分图如下 缓存(cache) https://baike.baidu.com/item/%E7%BC%93%E5%AD%98 提到缓存(cache),就…...
Vue常见面试问答
vue响应式数据 vue2 Vue2 的对象数据是通过 Object.defineProperty 对每个属性进行监听,当对属性进行读取的时候,就会触发 getter,对属性进行设置的时候,就会触发 setter。 /** * 这里的函数 defineReactive 用来对 Object.def…...
Eureka相关面试题及答案
1、什么是Eureka? Eureka是一个由Netflix开发的服务发现(Service Discovery)工具,它是Spring Cloud生态系统中的一个关键组件。服务发现是微服务架构中的一个重要概念,它允许服务实例在启动时注册自己,以便…...
想要学会JVM调优,先掌握JVM内存模型和JVM运行原理
1、前言 今天将和你一起探讨Java虚拟机(JVM)的性能调优。 JVM算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下 JVM 的内存模型,JVM 的 性能调优做过? 2、为什么 JVM 在 Java 中如此重要 首…...
详解C语言入门程序:HelloWorld.c
#include <stdio.h> // 头文件,使用<>编译系统会在系统头文件目录搜索在C语言中,#include 是预处理指令,用于将指定的头文件内容插入到当前源文件中。这里的 <stdio.h> 是一个标准库头文件,其中包含了与输入输出…...
【elk-day01】es和kibana搭建及验证---Mac-Docker
Mac系统使用Docker下载搭建和验证eskibana Docker下载安装es安装es验证kibana安装kibana验证 Docker下载安装 Docker Desktop官网安装下载地址 说明一下为什么要安装desktop版本的docker,因为docker作为工具使用,我们需要的是开箱即用,没有必…...
探索 3D 图形处理的奥秘
最近一年多来,在 3Dfx、Intel 们的狂轰滥炸中,在 Quake、古墓丽影们的推波助澜下,三维图形已经成为计算机迷眼中的又一个热点。3D 世界到底是怎样的神奇,我们又是怎样享受它的乐趣呢?就让我们来一探究竟吧。 图形基础…...
R语言孟德尔随机化研究工具包(1)---friendly2MR
friendly2MR是孟德尔岁随机化研究中的一个重要补充工具,可以批量探索因素间的因果关系,以及快速填补缺失eaf的数据,但是存在细微差异需要注意。 remotes::install_github("xiechengyong123/friendly2MR") library(friendly2MR)lib…...
CentOS7下使用Docker安装Nacos
CentOS7下使用Docker安装Nacos 一、查看和nacos相关的镜像二、拉去镜像三、创建容器四、查看日志 一、查看和nacos相关的镜像 docker search nacos二、拉去镜像 拉取 nacos/nacos-server:1.2.0 镜像 docker pull nacos/nacos-server:1.2.0三、创建容器 docker run --env MO…...
用 Node.js 写一个爬虫
自己设计一个网站,然后去爬取别人家页面的数据来做一个自己的网站。哈哈哈,如果自己写着玩可能没啥事,但如果用这个网站来获利,你可能就要被寄律师函了,毕竟这有点‘刑’。这篇文章呢,就带大家爬取豆瓣TOP2…...
关于HTTPS
目录 什么是加密 对称加密 非对称加密 中间人攻击 引入证书 HTTPS是一个应用层的协议,是在HTTP协议的基础上引入了一个加密层. HTTP协议内容都是按照文本的方式明文传输,这就导致在传输的过程中出现一些被篡改的情况. 运营商劫持事件 未被劫持的效果,点击下载按钮,就会…...
安全配置审计概念、应用场景、常用基线及扫描工具
软件安装完成后都会有默认的配置,但默认配置仅保证了服务正常运行,却很少考虑到安全防护问题,攻击者往往利用这些默认配置产生的脆弱点发起攻击。虽然安全人员已经意识到正确配置软件的重要性,但面对复杂的业务系统和网络结构、网…...
【计算机毕业设计】python+django数码电子论坛系统设计与实现
本系统主要包括管理员和用户两个角色组成;主要包括:首页、个人中心、用户管理、分类管理、数码板块管理、数码评价管理、数码论坛管理、畅聊板块管理、系统管理等功能的管理系统。 后端:pythondjango 前端:vue.jselementui 框架&a…...
最优化方法Python计算:无约束优化应用——神经网络回归模型
人类大脑有数百亿个相互连接的神经元(如下图(a)所示),这些神经元通过树突从其他神经元接收信息,在细胞体内综合、并变换信息,通过轴突上的突触向其他神经元传递信息。我们在博文《最优化方法Python计算:无约…...
Spring Data Redis对象缓存序列化问题
相信在项目中,你一定是经常使用 Redis ,那么,你是怎么使用的呢?在使用时,有没有遇到同我一样,对象缓存序列化问题的呢?那么,你又是如何解决的呢? Redis 使用示例 添加依…...
自动驾驶代客泊车AVP巡航规划详细设计
目 录 巡航规划详细设计... 1 修改记录... 2 目 录... 3 1 背景... 5 2 系统环境... 6 2.1 巡航规划与其它模块联系... 6 2.2 巡航规划接口说明... 6 3 规划模块设计... 9 3.1 巡航规划架构图... 9 3.2 预处理... 10 3.3 Planner. 10 3.3.1 Geometry planner. 10 …...
亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 国赛选手带你看 Elasticache Serverless
抛砖引玉 讲一下作者背景,曾经参加过国内世界技能大赛云计算的选拔,那么在竞赛中包含两类,一类是架构类竞赛,另一类就是 TroubleShooting 竞赛,对应的分别为亚马逊云科技 GameDay 和亚马逊云科技 Jam,想必…...
Flink on K8S集群搭建及StreamPark平台安装
1.环境准备 1.1 介绍 在使用 Flink&Spark 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 目前streampark提供了一个flink一站式的流处理作业开发管理平台, 从流处理作业开发到上线全生命周期都做了支持, 是一个一站式的流出来计算平台。 未来spark开…...
SpringBoot如何优雅的处理免登录接口
在项目开发过程中,会有很多API接口不需要登录就能直接访问,比如公开数据查询之类的 ~ 常规处理方法基本是 使用拦截器或过滤器,拦截需要认证的请求路径。在拦截器中判断session或token信息,如果存在则放行,否则跳转到…...
元旦档首日票房超4.69亿,“下雪场尴尬”上热搜!
哇塞,元旦假期终于来啦!🎉在这个喜庆的时刻,电影院也热闹非凡,据猫眼专业版数据显示,截至12月30日,2023年元旦档首日票房竟然超过了4.69亿!这简直是个天文数字啊!&#x…...
CentOS系统中设置IP地址的方式和存在的问题
在CentOS系统中设置IP地址通常涉及以下步骤: 打开网络接口配置文件: 使用文本编辑器(如vi、nano或emacs)打开 /etc/sysconfig/network-scripts/ifcfg-eth0 文件。这里的"eth0"是网卡的名称,如果你的系统中有…...
使用vmware,在ubuntu18.04中使用笔记本的摄像头
步骤1:在windows中检查相机状态 win10系统中,在左下的搜索栏,搜索“相机”,点击进入即可打开相机,并正常显示图像。 注意:如果相机连接到了虚拟机,则不能显示正常。 步骤2:在ubuntu…...
中间件系列 - Redis入门到实战(高级篇-分布式缓存)
前言 学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 Redis持久化Redis主从…...
使用Visual Studio调试VisionPro脚本
使用Visual Studio调试VisionPro脚本 方法一 : 修改项目文件 csproj步骤: 方法二 : Visual Studio附加功能步骤: 方法一 : 修改项目文件 csproj 步骤: 开启VisionPro脚本调试功能 创建一个VisionPro程序…...
Ubuntu安装K8S的dashboard(管理页面)
原文网址:Ubuntu安装k8s的dashboard(管理页面)-CSDN博客 简介 本文介绍Ubuntu安装k8s的dashboard(管理页面)的方法。 Dashboard的作用有:便捷操作、监控、分析、概览。 相关网址 官网地址:…...
zookeeper之集群搭建
1. 集群角色 zookeeper集群下,有3种角色,分别是领导者(Leader)、跟随着(Follower)、观察者(Observer)。接下来我们分别看一下这三种角色的作用。 领导者(Leader): 事务请求(写操作)的唯一调度者和处理者,保…...
从0开始界面设计师 Qt Designer
QT程序界面的 一个个窗口、控件,就是像上面那样用相应的代码创建出来的。 但是,把你的脑海里的界面,用代码直接写出来,是有些困难的。 很多时候,运行时呈现的样子,不是我们要的。我们经常还要修改代码调整界…...
手机免费网站制作/如何快速网络推广
一。MYSQL安装。 1.下载并安装mysql。安装过程中,需要设定root的密码。安装完毕后,从开始中点击mysql 5.5 command line client,会让输入password,输入当时设定的password,即可开始使用mysql。 2.创建bugs数据库及bugs…...
wordpress版本升级/网络市场调研的五个步骤
头一次学习,板子是在淘宝上买的开发板:星嵌XQ-1C(附带一条usb232下载供电线一条,杜邦线几条,几个螺丝,郭老师教学视频一套)芯片:stc89c52rc 板子上的元件如下图: 电路原理…...
重庆学校网站建设/东莞百度快速排名优化
FillOval 和DrawOval 用来填充和绘制椭圆。下面例子显示椭圆的用法。 private void Ovals() { Color redColor new Color(0x96ff0000, true); Color greenColor new Color(0x00ff00); AffineTransform mat1; mat1 new AffineTransform(); mat1.Translate(30, 40); mat1.Rota…...
泸州市规划建设局网站/seo入门
angular和reactNilson Jacques , Chris Perry和Thomas Greco对本文进行了同行评审。 感谢所有SitePoint的同行评审员使SitePoint内容达到最佳状态! 在SitePoint的论坛上,我偶然发现了一个名为So Many Frameworks的线程,其中Guido…...
wordpress微论坛主题/空间刷赞网站推广
Xftp7的安装,把Windows文件传到CentOS7一、下载Xftp7二、安装Xftp7三、 Xftp7连接Centos四、安装Xshell7五、Xshell连接Centos一、下载Xftp7 官网下载:https://www.xshellcn.com/ 我已经下载下来了,上传到了网盘,可以通过网盘下载…...
上海云盾为网站做防护/百度做网站
package leetcode.sort;import java.util.*; /** * Description: 两个数组的交集* 给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 [1,2,2,1], nums2 [2,2] 输出: [2,2] 示例 2:输入: nums1 [4,9,5], nums2 [9,4,9,8,4] 输出: [4,9] 说明&…...