The talk, given at the Sub0 developer convention, explored the challenges currently faced in blockchain benchmarking and introduced a visionary solution that could potentially transform the entire field.
Before delving into the proposed future of benchmarking, he explained that benchmarking is the process of measuring a specific property of a piece of code, often referred to as “effort.”
This effort is quantified using a metric called “weight,” which serves as an expression of the code’s complexity and resource requirements.
Benchmarking serves a critical purpose in blockchain systems, as it generates weights that are essential for various operations within the network.
However, Oliver pointed out that benchmarking, as it stands today, is a laborious and challenging task, often disliked by developers due to its complexity.
The current state of Benchmarking
The speaker discussed the present condition of benchmarking, highlighting its manual and non-automated characteristics. The speaker emphasized that developers often encounter difficulties when creating benchmarks as part of their work.
However, it’s essential to understand the significance of benchmarking in this context.
In this context, benchmarking plays a vital role in determining pre-dispatch weights. These weights signify the estimated computational workload needed before a transaction gets dispatched.
They function as a security safeguard to guarantee the stability of the blockchain network. In the absence of benchmarking, the network lacks a dependable method to assess and distribute resources, rendering it susceptible to potential attacks.
Exploring alternatives: the concept of metering
To tackle the current challenges associated with benchmarking, he introduced the notion of metering as a potential alternative. Metering, he explained, bears similarities to benchmarking in that it assesses the workload involved in code execution. Although, the distinction lies in its continuous measurement of effort while the code is in operation, furnishing a dynamic evaluation instead of a static one.
Metering presents several advantages, as outlined by the blockchain developer. It holds the promise of full automation, diminishing the necessity for developers to manually craft benchmarks.
Furthermore, metering could streamline fee refunds, guaranteeing that users pay a more precise fee for their transactions.
Among the criteria he emphasized for metering are that it must never underestimate the computational effort required, ensuring precise measurements; it should introduce minimal computational overhead during code execution; it should yield consistent results across multiple code runs; and it should function within predefined resource limits while completing its operations in a reasonable timeframe.
Implications of Ideal Metering
The introduction of optimal measurement could carry significant consequences for blockchain systems. Oliver delved into the potential impact on Miner Extracted Value (MEV), where miners might fine-tune transaction sequencing to maximize their earnings while adhering to protocol-defined limits. This might usher in fresh variables affecting block utilization and the prioritization of transactions.
Furthermore, he highlighted that ideal measurement might pave the way for a secondary market, wherein users offer incentives to miners for including their transactions at precise positions within a block.
This introduces intricate aspects that demand a thorough examination. It also entails the manual refunding of users instead of automated processes.
Hybrid approach: combining benchmarking and metering
Recognizing that certain codes within the blockchain ecosystem may resist measurement, he suggested a hybrid approach. In this scenario, benchmarking would persist as a viable option for specific tasks where measuring proves impractical or inefficient.
For simpler transactions and complex tasks, measurement could offer an automated and efficient resolution.
In an unexpected turn of events, Oliver introduced an alternative approach to benchmarking: fuzzing. Fuzzing entails continually modifying input parameters to code and monitoring execution times to pinpoint the slowest path.
This automated approach might potentially obviate the need for manual benchmarking altogether. Nonetheless, it presents its array of challenges, including the time required to identify the slowest path.
Oliver’s presentation provided an intriguing glimpse into the future of blockchain efficiency and benchmarking.
While obstacles persist, the concept of ideal measurement, coupled with the potential of fuzzing, holds the promise of streamlining the process of optimizing code and allocating resources in blockchain networks.