Enmig d’un remolí de debats cada cop més il·luminat dins de l’ecosistema de Bitcoin, alimentat per l’enfrontament entre els defensors i els detractors dels clients Bitcoin Core i Bitcoin Knots, una proposta intrigant, carregada d’una intenció innovadora.
I és que aquesta proposta de millora de Bitcoin (BIP) suggereix que els nodes d’aquesta xarxa poden Personalitzeu la política d’acceptació de transaccions En els seus Mempools (on encara no es confirmen les operacions) sense modificar el programari base mitjançant scripts externs.
Un script és un fitxer d’instruccions que un programa s’executa automàticament; En aquest cas, descriu les regles d’acceptació de transaccions.
El llenguatge proposat per executar el programari és JavaScript, un llenguatge de programació àmpliament utilitzat en aplicacions web, en particular la versió ES2020, que facilitaria Escriviu regles complexes de manera més segura i reutilitzable.
En termes pràctics, aquest BIP permetria als nodes eliminar o ampliar les polítiques de Mempool Sense dependre dels desenvolupadors de programariCompartiu scripts entre diferents implementacions i polítiques de prova de manera modular i segura.
Tot i això, també planteja qüestions sobre els efectes de les polítiques molt diverses en la propagació i la confirmació de les transaccions.
La iniciativa va ser presentada el 23 de setembre pel desenvolupador Aiden McClelland, que va anomenar el règim com a “validació i emissió de Mempool per polítiques definides per l’usuari”.
Com funcionaria aquesta nova proposta de bitcoin?
Avui, les polítiques d’acceptació són establert pels nodes en si i la seva configuració predeterminada. Entre els programes, el nucli i els nusos destaquen, entre d’altres.
El BIP descrit aquí augmenta un canvi permetent Cada node carrega un directori de fitxers «.js» Això defineix les regles d’acceptació personalitzades. L’extensió “.js” és la terminació que identifica els fitxers que contenen codi JavaScript.
El document descriu que, en rebre una transacció o un paquet de transacció, el node executarà aquests scripts en ordre numèric. Si tothom retorna un resultat reeixit i es compleix la validació de consens, la transacció s’acceptarà a la MEMPOOL i es transmetrà a la xarxa.
D’altra banda, si algun script produeix un error, La transacció serà rebutjada Amb el codi “Script-Policy-Validation-Falled”.
Primeres conjectures de la comunitat Bitcoin
Les reaccions a la proposta també mostren matisos tècnics.
El desenvolupador Chris Guida va advertir que la implementació de regles personalitzades en JavaScript requeriria una gran quantitat de codi per analitzar les transaccions (“analitzar la transacció”) dins dels scripts, cosa que això Podria fer -los lents o complexos.
Segons la seva opinió, haurien de ser ràpids i minimalistes. A més, va recordar que els nodes ja disposen de la informació de les transaccions de preprocess i que, si s’exposen a través de les funcions d’accés disponibles (“gotters”, En anglès) s’evitarien els càlculs costosos quan els scripts no necessiten certes dades.
Altres desenvolupadors destaquen aspectes positius i dubtes de fons. Martin Mutonga considera que és un avenç important per reduir la fricció al voltant de les polítiques de difusió de Mempool.
Com va dir, un esquema modular, amb una implementació de referència en QuickJS (un motor Javascript lleuger i eficient) i C ++ (un llenguatge de programació d’alta rendiment), facilitaria els experiments sense afectar el consens de Bitcoin i finalitzaria anys de desacords en polítiques inflexibles.
Tot i això, un altre desenvolupador va expressar l’escepticisme sobre la motivació bàsica del BIP i va sol·licitar que s’aclarís Per què permetre als usuaris eliminar o ampliar les polítiques De Mempool seria un objectiu valuós per si mateix.
Finalment, l’autor d’aquest BIP aclareix que la proposta No modifica les regles de consens El bitcoin.
És a dir, els nodes que no adopten aquest sistema continuaran funcionant sense canvis. A més, les transaccions que un node rebutja localment per les seves polítiques personalitzades també podrien ser acceptades i difoses per altres nodes de la xarxa, cosa que limita l’abast de les decisions individuals a nivell local sense afectar la validesa global de les operacions.
