主页 > 区块链 > 本文将初步讨论数据可用性问题的背景以及不同网络方案

本文将初步讨论数据可用性问题的背景以及不同网络方案

佚名 区块链 2021年11月24日

2017年,区块链的所有活动都与以太坊保持一致。以太坊价格飙升,人们蜂拥而至创建应用程序(那是在“构建”运动之前),并且大公司开始参与其中。但是这种前所未有的成功超过了以太坊的处理能力。

-是的...用那笔gas费完成交易需要几天时间-

Ethercat 是第一个取得大规模成功的分布式应用程序。但它(和其他应用程序)抢走了以太坊网络的所有资源——导致链的内存池以前所未有的速度增长。一夜之间,人们开始讨论 Plasma 和状态通道区块链解决方案 word,认为它们可以解决我们的扩展问题。然而,除了那些讨论和兴奋,这些解决方案的开发过程一直在苦苦挣扎,一些社区成员也因此开始怀疑这些解决方案的可行性。但是现在,随着这些程序的逐步上线,人们意识到长期困扰开发者的真正问题是明显的数据可用性问题。

本文将讨论数据可用性问题的背景以及不同的两层网络解决方案如何解决这个问题。这些解决方案包括 Plasma、状态通道和弹性侧链。数据可用性问题与 Vitalik 之前解释的相同。数据可用性问题的根源在于恶意矿工试图发布带有区块头的区块,但将部分或全部数据丢失到链上。这种攻击会导致: 但是数据的可用性不仅仅与隐藏的区块数据有关。一般而言,只要某些数据被某些参与者隐藏并禁止访问(也称为审查机制),就可以称为数据可用性问题。据我们所知,这在主网上不是问题,但成本也很高。事实上,在过去的 18 个月里,

显然,这对于真正去中心化的网络来说是不可持续的。随着区块链规模的不断扩大,能够参与网络并充当节点的计算机数量将不断减少。那么我们如何处理这种情况呢?

这很简单!链上的开始和结束事件,但只让客户端处理这个过程中发生的所有事件。事实上,这是所有执行层/第二层扩展解决方案的核心。我们从处理链上的所有内容转变为仅使用底链作为链下交易的结算层。但这会带来一个问题:参与二层网络的客户端需要维护所有与其关联的链下交易,否则只能被他人控制。示例 假设您去赌场玩扑克。一开始,你去柜台用美元兑换筹码(你可以把这个过程看成是一个链上交易)。然后,你开始坐在桌前玩几个小时的扑克(这些是所谓的链下交易)——有时你可以赢,有时你只能输。在赢得一手大牌后,您告诉赌场您想兑现您的筹码。但是你起床后,有人给了你一个sap-醒来后,你的记忆有点模糊,你记不起扑克游戏的细节(这是“数据不可用”)。当你离开时,牌桌上的人决定假装最后一手牌没有发生,并在这手牌之前的点继续玩——也就是说,骗走你应该赢的钱。如果类似的情况发生在区块链上,那么这种作弊是不可能的,因为全世界都知道发生了什么,没有发生什么。但因为这些都是链下活动,并且您丢失了交易历史,您必须接受周围对等节点告知的历史。在实践中,在 Plasma 中,每个参与者必须保留完整的交易历史和足够的见证数据,以证明他们的加密资产是否在每个 Plasma 区块中进行过交易。

这使得每个参与者成为 Plasma 系统中的一个节点,但它只存储自己的交易数据。提出这个要求是因为在 Plasma 上,任何人都可以与链的运营商勾结区块链解决方案 word,提交无效交易来窃取他人的资产。参与者防止这种情况发生的唯一方法是确保他们拥有所有资产的完​​整有效的交易记录。状态通道对数据要求低,因为所有参与者只同意当前状态,而不是状态更新(例如交易)。这样,合约只需通过一笔交易就可以结算,无需重新计算任何交易历史。而且,由于每个状态都有一个自动递增的序列号(nonce),除非双方签名,否则智能合约不会将其视为有效状态,所以参与者只需要存储最新的状态。注意:状态通道中的参与者可能还想存储历史状态,以便在对方丢失状态历史时更早、更有利地进行结算(参与者可能仍然想通过保存历史来作弊)。解决方案 现在,相关团队正在尽最大努力减少需要由客户端维护或通过 ZK-SNARKS 或 RSA 累加器提交到主网的数据所占用的空间。虽然这是一个很大的改进,但他们无法解决数据可用性的问题。事实上,我们不能真正为单个客户端解决这个问题,因为它会要求客户端 100% 的时间在线并且永远不会丢失存储在其上的数据(听起来很像区块链,不是吗? ?)。

但是,鉴于目前不存在能够满足这一要求的硬件,一般认为解决数据可用性问题的方法是激励型瞭望塔网络(如PISA)或类似的建设。这些激励网络实际上是由一群权益质押的瞭望塔组成。他们为付费用户备份数据,并在用户无法提出异议(即下线)时代表用户质疑可疑交易。如果他们在一定时间内未能对挑战提出异议,他们将失去自己的权利,这些权利将授予网络中参与此挑战活动的新瞭望塔(假设它确实提交了挑战)。这个错误报告/保留协议有多个级别,这样用户可以确保他们在离线或丢失交易/状态历史记录时不会被欺骗。这些解决方案之所以这么久才出现,是因为社区成员曾经嘲笑信任第三方的想法,想想出不需要第三方也能解决问题的解决方案。随着这种想法的不切实际的性质变得越来越清晰,人们开始提出各种密码经济模型(如上述模型)来减轻对这些第三方的信任。SKALE 的解决方案 SKALE 灵活的侧链通过区块提议流程解决了数据可用性问题。在验证者创建区块提议后,它将使用下面描述的数据可用性协议将其传达给其他验证者。该协议将确保区块提议被传输到绝大多数(>⅔)验证者。五步协议描述如下:发送区块的验证者 A 将区块提案和构成提案 P 的所有交易的哈希值发送到其所有对等节点。

每个对应的节点收到P和相关的hash值后,将hash值与本地交易队列中的转账进行匹配,进行打包重构P。对于队列中没有找到的转账,节点会发送搜索请求给发送转账的验证者 A。然后,发送方验证者 A 将这些交易的主题发送给接收方验证者,允许对等方重建区块提议并将该提议添加到其提议存储数据库 PD 中。在此之后,节点会向 A 发送带有阈值签名的回执。 在从节点收集绝对多数(二) 节点(包括 A 本人)签名的三分之一以上)后,A 将创建一个绝对多数签名 S。这个签名将作为拥有 P 的 A 证明的大多数验证者。A 将这个绝对多数签名 S 广播给所有其他验证者。注意:每个验证者都有 BLS 私钥 PKS [I]。密钥片的初始状态是使用联合费德曼分布式密钥生成(DKG)算法,在创建灵活侧链时以及每当验证器随机交换时执行。查看我们关于 BLS 和 DKG 的文章以获取更多信息!在进一步的共识步骤中,所有对提案 P 进行投票的所有验证者都需要提供数据可用性收据,因此他们必须在投票中包含绝对多数签名 S,而诚实的验证者将忽略所有不包含绝对多数签名 S 的投票。因此,假设诚实验证者占据绝对多数,本协议可以保证数据的可用性,

总结 总之,如果您想知道过去 18 个月中从事执行级别解决方案工作的开发人员做了什么,很可能他们最初的大部分时间都花在解决这个问题上。虽然没有所有扩展问题的完美解决方案,但仍有许多新的、令人兴奋的工作在进行中,我们对未来能够达到的高度充满信心!了解更多 如果您有兴趣尝试 SKALE,请加入 Discord 上的 SKALE 社区并查看开发人员文档!此外,您还可以随时查看SKALE的技术概览和共识概览,深入了解SKALE的工作原理以及为什么可以提供20,000 TPS。(完)原文链接:>作者:Artem Payvin 翻译校对:TrumanW & Ajian

广告位
标签: 可用性   区块链   网络节点