Explore the Best Crypto Products – From Secure Wallets to Mining Essentials, We've Got You Covered!

Bitcoin Script: Focus On The Building Blocks, Not The Wild Geese


Everything built on top of Bitcoin that you are aware of today is because of the primitives that Bitcoin Script supports. What do I mean by primitives? The basic components of a programming language that you can use to build actual applications to do things. No programming language was ever designed specifically for a single application, i.e. to build one program. They are designed to support basic primitives, like mathematical operations to manipulate data, or creating basic data structures to store data in a certain way, or operations to iterate through data as you manipulate it.

Basic primitives are designed in such a way that developers can decide how to use them in order to create an actual application or program. The core design of the language doesn’t necessarily focus on what people will do with it, just that the primitives of the language can’t be combined in a way that will either 1) fail to accomplish what the developer is trying to accomplish without them understanding why, or 2) accomplish what the developer is trying to do in a way that is detrimental to the end user.

No one designs a programming language thinking from the outset “Oh, we want to enable developers to do A, B, and C, but completely prevent them from doing X, Y, and Z.” (For more technical readers here, what I’m referring to here is the goal of what the developer is building, not low level technical details like how primitives are combined).

Bitcoin Script is no different than other programming languages except in one respect, what it means for a certain combination of primitives to be detrimental to end users. Bitcoin has two properties that general computer applications don’t, the blockchain and what is executed on it must be fully verified by all users running a full node, and the entire progression of the system is secured by financial incentives that must remain in balance. Other than these extra considerations, Script is like any other programming language, it should include any primitives that allow developers to build useful things for users that cannot be combined in ways that are detrimental to users.

All of the conversations around softforks to add covenants (new primitives) have devolved, at least in the public square, to ridiculous demands of what they will be used for. That is both not a possible thing to do, and also not the important thing to focus on. What will be built with Script is tangential to the risks that need to be analyzed, how things built interact with the base layer is the major risk. What costs will it impose, and how can those be constrained? (This is a huge part of the Great Script Restoration proposal from Rusty). How can those costs on the base layer skew incentives? This is a big part of the risk of MEV.

These questions can be analyzed without focusing obsessively over every possible thing that can be built with a primitive. Primitives can be constrained at the base layer in terms of verification cost and complexity. Most importantly, in terms of incentives, what new primitives enable can be compared with things that are already possible to build today. If new primitives simply improve the trust model for end users of systems that can already be built that have an influence on the system incentives, without materially worsening the influence they have on those incentives, then there is no real new risk introduced.

These conversations need to start focusing on what really matters, new functionality versus end user harm. They have derailed almost completely, again in the public square, not technical circles, into arguments over whether end users should be allowed to do things or not. That is not the conversation that matters. What matters is providing valuable functionality to end users without creating detrimental consequences.

People need to focus on the primitives, and not the wild geese they hear in the distance. 

This article is a Take. Opinions expressed are entirely the author’s and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.

Trending Products

0
Add to compare
SecuX Neo Gold – Crypto Wallet w/Intuitive Touchscreen, Bluetooth & USB-C, Manage Bitcoin, Ethereum, NFTs, Tokens, & Cryptocurrency with Military-Grade Security and User-Friendly Interface
0
Add to compare
Original price was: $179.00.Current price is: $119.00.
34%
0
Add to compare
Keevo Model 1 Crypto Wallet (Cold Storage, Hardware Ledger) – Secure, Safe & Trusted Cryptocurrency Wallet & Ledger for Bitcoin (BTC), Ethereum (ETHER), NFT and Digital Assets
0
Add to compare
$274.99
0
Add to compare
Trezor One + Billfodl – Cryptocurrency Hardware Wallet with Steel Wallet Cold Seed Storage (2 Items)
0
Add to compare
$158.00
0
Add to compare
Ballet Real XRP, Gold Edition – The Easiest Crypto Cold Storage Card with Premium Packaging, Cryptocurrency Hardware Wallet with Multicurrency and NFT Support (1-Single)
0
Add to compare
$99.00
0
Add to compare
TANGEM Wallet Pack of 2 – Secure Crypto Wallet – Trusted Cold Storage for Bitcoin, Ethereum, NFT’s & More Coins – 100% Offline Hardware Wallet
0
Add to compare
$54.90
0
Add to compare
Cypherock X1: Premier Hardware Wallet for Secure Storage of BTC, Crypto, NFTs | Audited, Opensource, Cold Wallet | Decentralized Private Key Storage
0
Add to compare
$149.00
.
We will be happy to hear your thoughts

Leave a reply

What's Up Market
Logo
Register New Account
Compare items
  • Total (0)
Compare
0
Shopping cart