shard blob transaction是什么

Posted FeelTouch Labs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shard blob transaction是什么相关的知识,希望对你有一定的参考价值。

在 Rollup 的语境下, DA(Data Availability)指什么,为什么 Rollup 需要上传 DA 到 Layer1?

Nic Lin:如果目前我们已经熟悉 Layer1 这条链,那其实根本不会意识到 DA 这个问题。因为资料本身就是全都在链上,我们每个区块、每一笔交易的资料在每个节点都可以看到,所以我们根本不会意识到资料不可用这个问题。

但是,比如说 Layer1 的区块时间是固定的 12 秒、13 秒,它的 Gas limit 就像现在是 3,000 万,最多就是这样。所以如果你想扩容的话,不可能让所有 DApp 和团队都把交易在 Layer1 执行。

所以,从很早以前就讲的 Scaling solution 就是我们进到 Layer2,把执行和资料等搬到链下去,而不是在 Layer1,因为 Layer1 太贵太慢,要跟大家去竞争,资源很稀少。过去就有很多不同的扩容方案,比如 Sidechain、Plasma 和 Rollup,中间其实有几个关键的改进,我习惯把 Sidechain、Plasma 和 Rollup 看作一个演进的路线图。

相比来说,Sidechain 现在是最不安全的,Plasma 针对 Sidechain 的改变就是它把中心化权力很大的 operator 的角色去掉并换成了智能合约。而 Rollup 针对 Plasma 解决的是资料不可用的问题。

Plasma 其实把资料都是交给 operator,operator 虽然不能随意地把钱拿走,或者说它如果做坏事的话,你可以自己离开 Plasma,这是它的优点,因为它把这些规则都写在了智能合约里面。但是如果 operator 今天把资料藏起来的话,你就不能自己来产生一些证明。比如在 Plasma 上有多少钱,因为你需要通过实际的交易资料,才能计算出现在有多少钱,但如果这些资料都在一个中心化角色手上的话,还是有攻击的风险。

Rollup 的解决方法就是把资料都上传到 Layer1,但并不在 Layer1 上去执行交易,而是把交易的执行搬到链下,即搬到 Layer2。

EIP-4844 所引入的 shard blob transaction 有什么特点?

Nic Lin:基本上 shard blob transaction 就是为了 Rollup 所设计的。由于 calldata 的目的不符合 Rollup 的目的,成本又太高,因此对 Rollup 来说,设计一个新的交易类型,专门给 Rollup 来存放他们的资料。

所以在 shard blob transaction 里面,它比一般的 transaction 多了一个 blob 栏位,用于让 Rollup 来存放它们的资料。这个 blob 有以下两个特性:

blob 的资料不像 calldata 一样能够被合约存取到;
blob 的资料有一个保存期限,它不会像 calldata 一样,只要资料存放到 calldata,所有节点就必须要永远保存它。

What Drives the Need for Database Sharding? DATABASE SHARDING

wIO瓶颈

http://www.agildata.com/database-sharding/

 

What Drives the Need for Database Sharding?

Database Sharding is a highly scalable approach for improving the throughput and overall performance of high-transaction, large database-centric business applications. Since the inception of the relational database, application engineers and architects have required ever-increasing performance and capacity, based on the simple observation that business databases generally grow in size over time. Adding to this general trend is the extreme expansion of business data due to the evolution of the Internet economy, the Information Age, and the prevalence of high-volume electronic commerce.

As any experienced database administrator or application developer knows all too well, it is axiomatic that as the size and transaction volume of the database tier incurs linear growth, response times tend to grow logarithmically. This is shown in the following diagram:

 

Figure 1. The growth in database transactions and volumes has a large impact on response times.

The reasons for the performance and scalability challenges are inherent to the fundamental design of the database management systems themselves. Databases rely heavily on the primary three components of any computer:

  • CPU
  • Memory
  • Disk

Through benchmark tests that we have performed, we know that each of these elements on a single server can only scale to a given point, and then other measures must be taken. While it is clear that disk I/O is the primary bottleneck, as database management systems have improved they also continue to take greater advantage of CPU and memory. In fact, we have observed that it is the matching of these three factors that determines maximum performance. In other words, you cannot add an unlimited number of CPUs (or processing cores) and see a commensurate increase in performance without also improving the memory capacity and performance of the disk drive subsystem. It is also common to see a diminishing return as resources are added to a single database server. These factors are especially true in mixed-use business transaction systems; systems that perform a high volume of read and write transactions, as well as supporting generalized business reporting tasks.

Therefore, as business applications gain sophistication and continue to grow in demand, architects, developers and database administrators have been presented with a constant challenge of maintaining database performance for mission critical systems. This landscape drives the need for Database Sharding.

以上是关于shard blob transaction是什么的主要内容,如果未能解决你的问题,请参考以下文章

我们如何从h2数据库中提取blob数据类型列的数据?

MongoDB now with Transaction support

视点sharding is coming,到底什么是sharding?

Sharding-Sphere简介以及分库分表是什么?

hibernate课程 初探单表映射2-4 transaction简介

Azure SQL:从 Blob 添加无法识别存储