织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

简析区块链扩容数据可用性问题:以 Rollup 与分片为例

时间:2020-12-21 08:37来源:未知 作者:admin 点击:
如果区块生产者没有公布区块中的所有数据,那么如何发现区块中是否隐藏恶意交易? 原文标题:《科普 | 什么是 「数据可得性」 ?》 撰文:Mustafa Al-Bassam 翻译 校对:闵敏 阿剑 「数
如果区块生产者没有公布区块中的所有数据,那么如何发现区块中是否隐藏恶意交易?

原文标题:《科普 | 什么是 「数据可得性」 ?》
撰文:Mustafa Al-Bassam
翻译 & 校对:闵敏 & 阿剑

「数据可得性(data availability)」和「数据可得性问题」指的是一些区块链扩容方案所面临一个问题。具体来说,就是当新的区块创建时,节点如何确保该区块中的所有数据都已发布到网络上?困难之处在于,如果区块生产者没有公布区块中的所有数据,就没人能发现该区块中是否隐藏了恶意交易。

在本文中,我将深入探讨数据可得性问题的重要性,以及相关解决方案。

区块链节点是如何运行的?

区块链上的每个区块都由两部分组成:

  • 区块头,即,区块的元数据,由一些关于区块内容的基本信息组成,包括交易的默克尔根。
  • 交易数据,即,区块的主要组成部分,由实际的交易数据组成。

区块链网络中主要有两类节点:

  • 全节点(又称完全验证节点)。这类节点会下载区块链中的每笔交易并验证其有效性。这需要消耗大量资源和数百 GB 的磁盘空间,但是这些节点的安全性最高,因为它们不会接受包含无效交易的区块。
  • 轻客户端。如果你的计算机没有足够的资源来运行全节点,你可以运行轻客户端。轻客户端不需要下载或验证任何交易。它们只下载区块头,并认定区块中包含的交易都是有效的。因此,轻客户端的安全性低于全节点。

幸运的是,有一种方法可以让轻客户端间接检查区块中的所有交易是否有效。轻客户端可以依赖全节点向其发送关于无效交易的欺诈证明 ,无需自己检查交易的有效性。欺诈证明是一个很小的证明,可以证明区块中的某个交易是无效的。关于欺诈证明的运作原理,本文不做具体介绍,请阅读这篇文章。

这里只有一个问题:全节点如果要为某个区块生成欺诈证明,需要知道该区块的交易数据。如果区块生产者只公布区块头,没有公布交易数据的话,全节点就无法验证交易的有效性,并针对无效交易生成欺诈证明了。这就要求区块生产者公布区块的所有数据,但是我们需要找到一种方法来强制实行。

为了解决这个问题,轻客户端需要找到某种方法来检查区块的交易数据是否真的发布到了网络上,以便全节点进行验证。然而,我们又要避免让轻客户端下载整个区块,因为这会使得轻客户端丧失存在的意义。

我们该如何解决这一问题?首先,我们先来讨论数据可得性问题的相关性,以及如何采取解决措施。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容