Friday, April 17, 2026
The BLOCKCHAIN Page
No Result
View All Result
  • Home
  • Cryptocurrency
  • Blockchain
  • Bitcoin
  • Market & Analysis
  • Altcoins
  • DeFi
  • Ethereum
  • Dogecoin
  • XRP
  • Regulations
  • NFTs
The BLOCKCHAIN Page
No Result
View All Result
Home Ethereum

More Thoughts on Scripting and Future-Compatibility

by admin
June 7, 2024
in Ethereum
0
More Thoughts on Scripting and Future-Compatibility
0
SHARES
4
VIEWS
Share on FacebookShare on Twitter



My earlier put up introducing Ethereum Script 2.0 was met with a lot of responses, some extremely supportive, others suggesting that we swap to their very own most popular stack-based / assembly-based / purposeful paradigm, and providing numerous particular criticisms that we’re wanting arduous at. Maybe the strongest criticism this time got here from Sergio Damian Lerner, Bitcoin safety researcher, developer of QixCoin and to whom we’re grateful for his analysis of Dagger. Sergio notably criticizes two features of the change: the price system, which is modified from a easy one-variable design the place all the things is a hard and fast a number of of the BASEFEE, and the lack of the crypto opcodes.

The crypto opcodes are the extra vital a part of Sergio’s argument, and I’ll deal with that situation first. In Ethereum Script 1.0, the opcode set had a group of opcodes which can be specialised round sure cryptographic capabilities – for instance, there was an opcode SHA3, which might take a size and a beginning reminiscence index off the stack after which push the SHA3 of the string taken from the specified variety of blocks in reminiscence ranging from the beginning index. There have been related opcodes for SHA256and RIPEMD160 and there have been additionally crypto opcodes oriented round secp256k1 elliptic curve operations. In ES2, these opcodes are gone. As an alternative, they’re changed by a fluid system the place folks might want to write SHA256 in ES manually (in apply, we might supply a commision or bounty for this), after which in a while sensible interpreters can seamlessly change the SHA256 ES script with a plain previous machine-code (and even {hardware}) model of SHA256 of the type that you simply use while you name SHA256 in C++. From an outdoor view, ES SHA256 and machine code SHA256 are indistinguishable; they each compute the identical operate and subsequently make the identical transformations to the stack, the one distinction is that the latter is a whole bunch of instances sooner, giving us the identical effectivity as if SHA256 was an opcode. A versatile price system can then even be applied to make SHA256 cheaper to accommodate its diminished computation time, ideally making it as low-cost as an opcode is now.

Sergio, nevertheless, prefers a unique method: coming with numerous crypto opcodes out of the field, and utilizing hard-forking protocol adjustments so as to add new ones if needed additional down the road. He writes:

First, after 3 years of watching Bitcoin carefully I got here to grasp that a cryptocurrency is just not a protocol, nor a contract, nor a computer-network. A cryptocurrency is a neighborhood. Excluding a only a few set of constants, reminiscent of the cash provide operate and the worldwide stability, something will be modified sooner or later, so long as the change is introduced prematurely. Bitcoin protocol labored nicely till now, however we all know that in the long run it’ll face scalability points and it might want to change accordingly. Quick time period advantages, such because the simplicity of the protocol and the code base, helped the Bitcoin get worldwide acceptance and community impact. Is the reference code of Bitcoin model 0.8 so simple as the 0.3 model? under no circumstances. Now there are caches and optimizations in every single place to realize most efficiency and better DoS safety, however nobody cares about this (and no person ought to). A cryptocurrency is bootstrapped by beginning with a easy worth proposition that works within the quick/mid time period.

It is a level that’s usually introduced up with regard to Bitcoin. Nevertheless, the extra I take a look at what is definitely occurring in Bitcoin growth, the extra I grow to be firmly set in my place that, except very early-stage cryptographic protocols which can be of their infancy and seeing very low sensible utilization, the argument is totally false. There are at present many flaws in Bitcoin that may be modified if solely we had the collective will to. To take a number of examples:

  1. The 1 MB block dimension restrict. At the moment, there’s a arduous restrict {that a} Bitcoin block can not have greater than 1 MB of transactions in it – a cap of about seven transactions per second. We’re beginning to brush towards this restrict already, with about 250 KB in every block, and it’s placing stress on transaction charges already. In most of Bitcoin’s historical past, charges have been round $0.01, and each time the worth rose the default BTC-denominated price that miners settle for was adjusted down. Now, nevertheless, the price is caught at $0.08, and the builders will not be adjusting it down arguably as a result of adjusting the price again all the way down to $0.01 would trigger the variety of transactions to brush towards the 1 MB restrict. Eradicating this restrict, or on the very least setting it to a extra applicable worth like 32 MB, is a trivial change; it is just a single quantity within the supply code, and it will clearly do a variety of good in ensuring that Bitcoin continues for use within the medium time period. And but, Bitcoin builders have utterly didn’t do it.
  2. The OP_CHECKMULTISIG bug. There’s a well-known bug within the OP_CHECKMULTISIG operator, used to implement multisig transactions in Bitcoin, the place it requires a further dummy zero as an argument which is solely popped off the stack and never used. That is extremely non-intuitive, and complicated; once I personally was engaged on implementing multisig for pybitcointools, I used to be caught for days attempting to determine whether or not the dummy zero was alleged to be on the entrance or take the place of the lacking public key in a 2-of-3 multisig, and whether or not there are alleged to be two dummy zeroes in a 1-of-3 multisig. Finally, I figured it out, however I might have figured it out a lot sooner had the operation of theOP_CHECKMULTISIG operator been extra intuitive. And but, the bug has not been mounted.
  3. The bitcoind shopper. The bitcoind shopper is well-known for being a really unwieldy and non-modular contraption; actually, the issue is so severe that everybody trying to construct a bitcoind different that’s extra scalable and enterprise-friendly is just not utilizing bitcoind in any respect, as a substitute ranging from scratch. This isn’t a core protocol situation, and theoretically altering the bitcoind shopper needn’t contain any hard-forking adjustments in any respect, however the wanted reforms are nonetheless not being finished.

All of those issues will not be there as a result of the Bitcoin builders are incompetent. They aren’t; actually, they’re very expert programmers with deep information of cryptography and the database and networking points inherent in cryptocurrency shopper design. The issues are there as a result of the Bitcoin builders very nicely understand that Bitcoin is a 10-billion-dollar practice hurtling alongside at 400 kilometers per hour, and in the event that they attempt to change the engine halfway by and even the tiniest bolt comes unfastened the entire thing may come crashing to a halt. A change so simple as swapping the database again in March 2011 almost did. This is the reason in my view it’s irresponsible to depart a poorly designed, non-future-proof protocol, and easily say that the protocol will be up to date in due time. Quite the opposite, the protocol should be designed to have an applicable diploma of flexibility from the beginning, in order that adjustments will be made by consensus to robotically while not having to replace any software program.

Now, to deal with Sergio’s second situation, his principal qualm with modifiable charges: if charges can go up and down, it turns into very troublesome for contracts to set their very own charges, and if a price goes up unexpectedly then which will open up a vulnerability by which an attacker might even be capable of power a contract to go bankrupt. I need to thank Sergio for making this level; it’s one thing that I had not but sufficiently thought-about, and we might want to think twice about when making our design. Nevertheless, his resolution, guide protocol updates, is arguably no higher; protocol updates that change price buildings can expose new financial vulnerabilities in contracts as nicely, and they’re arguably even tougher to compensate for as a result of there are completely no restrictions on what content material guide protocol updates can comprise.

So what can we do? To start with, there are a lot of intermediate options between Sergio’s method – coming with a restricted mounted set of opcodes that may be added to solely with a hard-forking protocol change – and the thought I offered within the ES2 blogpost of getting miners vote on fluidly altering charges for each script. One method is perhaps to make the voting system extra discrete, in order that there could be a tough line between a script having to pay 100% charges and a script being “promoted” to being an opcode that solely must pay a 20x CRYPTOFEE. This might be finished through some mixture of utilization counting, miner voting, ether holder voting or different mechanisms. That is primarily a built-in mechanism for doing hardforks that doesn’t technically require any supply code updates to use, making it rather more fluid and non-disruptive than a guide hardfork method. Second, it is very important level out as soon as once more that the flexibility to effectively do sturdy crypto is just not gone, even from the genesis block; once we launch Ethereum, we’ll create a SHA256 contract, a SHA3 contract, and so on and “premine” them into pseudo-opcode standing proper from the beginning. So Ethereum will include batteries included; the distinction is that the batteries will likely be included in a means that seamlessly permits for the inclusion of extra batteries sooner or later.

However it is very important observe that I take into account this skill so as to add in environment friendly optimized crypto ops sooner or later to be obligatory. Theoretically, it’s potential to have a “Zerocoin” contract inside Ethereum, or a contract utilizing cryptographic proofs of computation (SCIP) and absolutely homomorphic encryption so you possibly can truly use Ethereum because the “decentralized Amazon EC2 occasion” for cloud computing that many individuals now incorrectly imagine it to be. As soon as quantum computing comes out, we’d want to maneuver to contracts that depend on NTRU; one SHA4 or SHA5 come out we’d want to maneuver to contracts that depend on them. As soon as obfuscation technology matures, contracts will need to depend on that to retailer personal information. However to ensure that all of that to be potential with something lower than a $30 price per transaction, the underlying cryptography would must be applied in C++ or machine code, and there would must be a price construction that reduces the price for the operations appropriately as soon as the optimizations have been made. It is a problem to which I don’t see any simple solutions, and feedback and options are very a lot welcome.



Source link

Tags: FutureCompatibilityScriptingThoughts
admin

admin

Recommended

Private cloud use cases: 6 ways private cloud brings value to enterprise business

Private cloud use cases: 6 ways private cloud brings value to enterprise business

2 years ago
Ethereum Price Consolidates As The Bulls Aim For Surge Above $4K

Ethereum Price Consolidates As The Bulls Aim For Surge Above $4K

2 years ago

Popular News

  • Protocol-Owned Liquidity: A Sustainable Path for DeFi

    Protocol-Owned Liquidity: A Sustainable Path for DeFi

    0 shares
    Share 0 Tweet 0
  • Cryptocurrency for College: Exploring DeFi Scholarship Models

    0 shares
    Share 0 Tweet 0
  • What are rebase tokens, and how do they work?

    0 shares
    Share 0 Tweet 0
  • What is Velodrome Finance (VELO): why it’s a next-gen AMM

    0 shares
    Share 0 Tweet 0
  • $10 XRP Price Envisioned By Fund Manager As Ripple Mounts Trillion-Dollar Payment Markets ⋆ ZyCrypto

    0 shares
    Share 0 Tweet 0

Latest

I traded my Sonos Era 300 for Denon’s new home speaker – and see no reason to go back

I traded my Sonos Era 300 for Denon’s new home speaker – and see no reason to go back

April 17, 2026
OpenSim builders get new one-prim NPC manager — no scripts, no orphans – Hypergrid Business

OpenSim builders get new one-prim NPC manager — no scripts, no orphans – Hypergrid Business

April 16, 2026

Categories

  • Altcoins
  • Bitcoin
  • Blockchain
  • Cryptocurrency
  • DeFi
  • Dogecoin
  • Ethereum
  • Market & Analysis
  • NFTs & Metaverse
  • Regulations
  • XRP

Follow us

Recommended

  • I traded my Sonos Era 300 for Denon’s new home speaker – and see no reason to go back
  • OpenSim builders get new one-prim NPC manager — no scripts, no orphans – Hypergrid Business
  • I found a way to roll back buggy Google Services updates on Android – in just a few clicks
  • OpenSim April stats down on grid outage – Hypergrid Business
  • Why your TV wowed you in the store but looks unnatural at home – and how to fix it ASAP
  • About us
  • Privacy Policy
  • Terms & Conditions

© 2023 TheBlockchainPage | All Rights Reserved

No Result
View All Result
  • Home
  • Cryptocurrency
  • Blockchain
  • Bitcoin
  • Market & Analysis
  • Altcoins
  • DeFi
  • Ethereum
  • Dogecoin
  • XRP
  • Regulations
  • NFTs

© 2023 TheBlockchainPage | All Rights Reserved