木星链 木星链
Ctrl+D收藏木星链
首页 > 火币下载 > 正文

SIL:使用 Basil 去中心化数据库

作者:

时间:1900/1/1 0:00:00

使用区块链构建应用程序

区块链的承诺很简单,但功能强大:提供完全有序的日志的抽象,该日志分布在一组参与者中,并且对篡改保持稳健。

这种完全有序的日志抽象保证了参与的每一方将看到i)相同的一组操作,并且ii)将以相同的顺序看到这些操作。考虑下面的简单资产转移示例:Alice和Bob分别有两次存款,然后是从Bob转移到Alice,最后是Alice提款。每个操作都记录在一个完全有序的日志中,由一个银行联盟维护。

实现共享日志的简单银行联盟。

然后可以轻松地使用生成的共享日志来实现共享状态,其有效性得到所有联盟参与者的证明。Bob可以在BoA查询状态,而Alice是Chase的客户,但他们仍然保证同意。到目前为止,一切都很好!

走向交易系统

虽然完全有序日志抽象的推理很简单,但遗憾的是它不能满足大多数传统Web服务应用程序的实际需求。一个简单的日志可能足以满足上述基本资产转移,但无法满足更复杂的在线交易处理(OLTP)风格的应用程序,例如在线供应商、在线银行或多航空公司/酒店预订。从广义上讲,造成这种情况的原因有两个:

原始日志可扩展性。

应用程序希望他们的数据库快速。当请求不在同一数据上竞争时,它们应该水平扩展,否则优雅地降级。通常,数据库通过依赖分片、可序列化和并发控制来做到这一点。

以太坊Layer 2总锁仓量升至88亿美元,7日涨幅0.66%:金色财经报道,据L2BEAT数据显示,以太坊Layer 2总锁仓量升至88亿美元,7日涨幅0.66%。锁仓量前五分别为: Arbitrum One(58.1亿美元,7 日涨幅1%); Optimism(17.2亿美元,7日跌幅1.24%); dYdX(3.42亿美元,7日涨幅0.52%); zkSync Era?(3.26亿美元,7日涨幅15.12%); Loopring(1.09亿美元,7日跌幅1%)。[2023/5/28 9:47:17]

相反,我们完全有序的日志抽象的现有实现通常采用分布式和复制状态机(RSM)的形式,它可以容忍一部分节点任意行为不端。有很多很酷的协议可以解决这个问题,尽管最流行的协议是PBFT(OSDI'99)和Hotstuff(PODC'19)。这些来自许多fotm改编,尽管通常都有相同的缺点:

一方面,每个副本完全对每个操作进行排序,然后按顺序执行——显然,这对于扩展吞吐量来说并不理想。

其次,他们依赖专门的领导者充当排序器,这既是瓶颈又是公平问题——领导者必须接收、处理和转发所有事务,以及它具有不成比例的影响过度订购,并可能“意外”审查交易,或抢先获得财务优势。

Decentraland将于明年3月举办第二届元宇宙时装周:12月6日消息,元宇宙平台Decentraland将于2023年3月28日至3月31日举办第二届元宇宙时装周。2023年活动的主要新增内容包括物理和数字桥梁、对品牌的支持,最值得注意的是虚拟世界之间的互操作性。MVFW将首次使数字馆藏能够在其他数字平台之间迁移;除了Decentraland之外,设计师还可以出现在Spatial和Over metaverse中。根据Decentraland官方推特,其正在召集有意参与该活动的时尚品牌、设计师和零售商。

此前消息,Decentraland于今年3月份举办了其第一届元宇宙时装周,Dolce & Gabbana、Selfridges、Tommy Hilfiger、Jacob & Co.等知名时尚品牌参加了该活动。(Vogue Business)[2022/12/6 21:25:29]

最后,这些协议需要几个阶段来安全地提交每个操作,与通常部署的崩溃容错系统相比,延迟明显更高……

好的——此时你可能会问“你是不是简化太多了?我们知道如何以更优化的方式构建我们的系统!”当然,你是对的——为了改善可扩展性瓶颈,我们投入了大量精力来仔细调整这些共识协议——直到我们能够每秒订购100或1000次额外的操作。

数据:USDT近一月无增发,市占率为7.34%:10月15日消息,链上数据显示,自9月15日以来,USDT并无增发,其当前总发行量为686.23亿枚,市占率为7.34%。[2022/10/15 14:28:59]

虚拟操作的高排序速度并不是高应用速度的决定性因素。

不幸的是,可扩展性只是故事的一半。同样重要的是可编程性和可用性:

可用性和应用程序可扩展性。

通常容易被搁置的问题是我们真正想要订购的操作是什么?

答案相当简单。当今世界已经使用传统数据库系统构建的应用程序希望继续使用数据库。

应用程序可能会寻求许可的区块链来实现去中心化的分布式数据库的功能。

不幸的是,现有的数据库不是去中心化的,对攻击或不诚实的一方也不健壮。那么我们能做些什么来弥补这个差距呢?为了采用我们很酷的BFT工作,应用程序想要我们什么?

1.应用程序需要事务和查询功能。它们必须能够将操作组捆绑在一起,并以原子方式执行它们。这样做极大地简化了应用程序开发和无错误代码的设计。此外,应用程序还希望能够执行查询以有效地计算过度状态。许多人使用SQL这样做,并且不愿意放弃大量遗留代码。

Compound Treasury 推出面向机构的借贷服务:9月14日消息,Compound Treasury 推出面向机构的借贷服务,经过认证的机构可以选择使用数字资产作为抵押品从 Compound Treasury 处获得贷款。目前 Compound Treasury 支持机构抵押比特币、以太坊以及部分 ERC-20 代币作为抵押品,以 6% 的年化利率借出美元或 USDC。Compound 表示,借款将不设置固定的还款时间表,只要客户保持超额抵押,就可以灵活地进行借贷和还款。该产品流动性将由 Compound Treasury 提供的机构级资管服务的客户和 Compound 协议提供支持。[2022/9/14 13:30:07]

??应用程序的操作不是单一的请求,而是事务的一部分。

2.其次,应用程序开发人员需要交互性:即直接将数据库请求与应用程序代码交错的能力。存储过程或完全独立的事务请求不被开发人员和通常非初学者1所喜欢,因为它们使初始开发和以后的功能更新变得复杂。

??一般事务的操作不是事先确定的。

1在实践中,大多数DBMS使用此类事务模型的时间不到10%

结论:我们不是在排序独立的操作,而是作为交互式事务的一部分的操作。

以太坊信标链网络验证者总数量突破42万:9月4日消息,据Ethereum官方网站最新数据显示,以太坊信标链(TheBeacon Chain)验证者总数量已突破42万,截止目前为421,212个。此外,以太坊信标链网络总质押量达到14,236,992枚ETH。按照当前ETH价格计算,信标链质押ETH总价值已超过221亿美元。[2022/9/4 13:07:48]

这是一个艰难的生活

不幸的是,完全有序的日志自己提供的简单的顺序执行模式,并没有满足这些需求。它不仅将接口限制为可以在本地执行的限制性事务模型,而且一次性将它们全部排序,从而扼杀了横向可扩展性的希望。

但那不是真的?!让我们分片,让我们部分订购!。

可扩展性创可贴

为了提高并行度,应用程序可以选择对其数据存储进行分区以水平扩展资源。这有帮助,但只是针对底层日志缺点的创可贴:各个分片仍然是内部有序的,并且需要跨分片协调机制来保持多分片事务的一致性。

我们可以尝试提前部分排序执行吗?不幸的是,答案是否定的——对交互性和灵活交易的需求给我们的计划带来了麻烦。不可能战略性地并行调度事务执行,因为交互性意味着我们不再提前知道完整的事务。例如,应用程序可能最初发出一个读取请求,并且仅基于结果决定接下来要触摸哪个键

2不要与将数据分发与排序层中的共识分开的内存池样式DAG相混淆。

建立交易系统

尽管如此,为了围绕我们的日志抽象构建表达性事务系统,我们需要在复制层之上构建事务语义。

将分布式提交(2PC)和并发控制(CC)分层在完全有序的分片日志日志库之上的模块化系统架构示例。—致谢:张等。al,什么时候订购?

不幸的是,虽然这样的设计实现了数据库的API要求,但其模块化特性引入了冗余,并且在吞吐量和延迟方面不足。

重要的是——尽管在讨论我们的日志性能时被可悲地忽略了——吞吐量被衡量为应用程序的进度,而不是复制进度:排序的操作不再对应于单个、独立的事务,但是对于确保事务原子性和语义正确性的单独的读或写操作和相关的CC机制。

??应用程序的吞吐量不是?以操作的顺序来衡量的,而是以提交的事务来衡量的。

我们将对此类模块化设计及其缺点的更详细探索推迟到现有工作中——虽然我们会在聊天结束时简单地回到它——而是问以下问题:

观察到的性能缺陷是根本性的吗?

不幸的是,正如我们将争论的那样,目前的答案是肯定的。

不足……

我们认为,可扩展性差的根本原因是,我们正在构建的系统在排序层和物化层之间存在坚如磐石的分离。

在日志之上实现应用程序的系统中的抽象关注点分离。

目前,排序层仅与信任有关。它基本上是在说,多方如何就如何排序相同的字节序列达成一致?

相反,物化层是关于语义和数据的。它询问您如何实际执行这些字节或那些操作来生成数据库?

因为排序层不理解操作的语义,所以它不能做得更好。排序层有很多改进——例如使用多个领导者、流水线协议或记录DAG而不是序列——但大多数人从根本上忽略了上面的层。

互动+扩展的关键

那么,我们该何去何从?

幸运的是,我们知道在实践中,大多数现实世界的工作负载主要由访问完全不同对象的操作组成,因此根本不需要相互排序。事实上,对于原本可以愉快地并行执行的操作来说,施加总订单的要求太强了:以分别想购买赛车和冰淇淋的Alice和Bob为例。不需要对另一笔交易进行排序。

可序列化,传统数据库的主要安全约束,抓住了这个观察:

它指出,操作可以并行执行,并且以非原子方式执行,只要结果看起来与事务按顺序执行隔离的执行没有区别。

Alice、Bob和Charlie可以愉快地并行执行他们的事务,并将执行拆分为非原子子操作。结果相当于顺序执行。

模糊线条

复制层和分布式事务层都冗余地实现了一致性。换句话说,复制层的排序是不必要的,因为应用程序层已经强制执行可串行化!我们两个都不需要!

扩展的关键是打破使层分开的黑盒接口,并将复制集成到并发控制本身中。Basil就是一个可以做到这一点的系统。

简而言之,Basil允许所有用户乐观地并行执行交互式事务,并允许副本无序地处理所有操作。由于副本可以在本地观察到的事务集上强制执行可串行化,因此我们可以通过依赖仲裁交集来保持容错和一致性。

结果Basil可以更快地显示和提交事务:在常见情况下,它可以在一次往返中提交事务(最坏情况下为2次——而不是需要2-5个RT通过基于SMR的设计,在竞争瓶颈的工作负载上,延迟的减少反过来又显着提高了吞吐量。

如果这听起来很有趣,去看看这篇论文吧!Basil:用ACID分解BFT

评估预告片:

TLDR:?Basil比模块化BFT交易堆栈好5倍!

在我们分道扬镳之前,我们将向您简要介绍一下这在实践中的效果如何。

下图显示了Basil与3个基准系统相比的吞吐量:Tapir(SOSP'15),它是最先进的容错容错数据库系统,以及TxHotstuff和TxBFTSmart,它们是在Hotstuff上实现并发控制的事务系统和PBFT分别实现。工作负载是经典的OLTP基准,模拟在线供应商(TPCC)、在线银行(Smallbank)和轻量级Twitter(Retwis)。

该实验在具有3个分片且f=1的本地网络设置上运行:

跨OLTP基准工作负载的峰值事务吞吐量。

Basil的性能比BFT的同类产品好得多,主要是因为它减少了延迟,这转化为吞吐量。随着网络延迟的增加,预计这种影响会进一步加剧。Basil仍然比Tapir慢,主要是因为它使用签名来保证安全——值得注意的是,随着可用签名方案的不断改进,这一成本将会缩小。

闭幕致辞

当然,这一切说起来容易做起来难!打开复制黑盒会带来一系列需要解决的挑战。了解Basil如何处理这一问题的所有很酷的细节是您阅读整篇论文的众多乐趣之一!

来源:金色财经

标签:SILASIBASIBASBasiliskPunk BasicPunk BasicOne Basis Share

火币下载热门资讯
USD:龙卷风现金制裁如何影响比特币?

当地时间?8月8日,美国财政部宣布制裁TornadoCash,称该工具允许用户匿名发送和接收加密货币,自2019年以来清洗了价值超过70亿美元的加密资产.

1900/1/1 0:00:00
虚拟币:炒币必备知识 全都是干货

告别韭菜,币圈炒币必备知识!老铁们记得收藏。仓位:指投资人实有投资和实际投资资金的比例。全仓:全部资金买入虚拟币。减仓:把部分虚拟币卖出,但不全部卖出。重仓:资金和虚拟币相比,虚拟币份额占多.

1900/1/1 0:00:00
RAN:国富论坛快讯

国富论坛学院新闻学院近期与Bunny社区达成共识,社区成员通过链上交易行为铸造自己在Web3.0的灵钥,通过DEX交易数据,达到触发智能合约的条件生成DID身份,不可交易,可清算.

1900/1/1 0:00:00
COIN:CoinW币赢斩获加拿大MSB牌照 加速全球化合规发展战略步伐

8月25日,CoinW币赢正式获得由加拿大金融犯罪执法局统一监管并颁发的MSB牌照。此举意味着CoinW币赢可以在加拿大境内合规的开展加密资产相关服务,如交易、支付、衍生品等.

1900/1/1 0:00:00
ETH:如果“卖新闻”活动结束以太坊价格可能跌至 1200 美元

过去几周,随着开发人员为下个月晚些时候的Merge更新做准备,以太坊一直在侵蚀比特币的市场份额。让我们更详细地研究一下它如何影响区块链及其用户.

1900/1/1 0:00:00
以太坊:合并即将到来、是否会成为ETH价格的催化剂?

以太坊合并预计将于9月15日到来,一旦升级发布,将对以太坊价格产生强烈影响。随着合并在即,以太坊基本面似乎比以往任何时候都更加稳固。投资者对未来价格走势的猜测也越来越多.

1900/1/1 0:00:00