In the midst of an increasingly illuminated whirlwind of debate within the Bitcoin ecosystem, supported by the conflict between Defenders and Customer Defenders and Customer Defenders, in the midst of a whirlwind of debate within the Bitcoin ecosystem, an interesting proposal is born.
And this Bitcoin (BIP) improvement proposal suggests that nodes in that network can Customize transaction acceptance policy Its Mempools (if the operation has not been confirmed yet) without modifying the base software via external scripts.
A script is an instruction file where the program is automatically executed. In this case, we will explain the transaction acceptance rules.
The proposed language for running the software is JavaScript, a programming language widely used in web applications, especially in ES2020 versions. Make complex rules more securely reusable.
In fact, this BIP allows nodes to delete or extend member policies Without relying on software developersshare scripts between different implementations and test policies in a modular and secure way.
However, he also raises questions about the impact of a very diverse policy on transaction propagation and confirmation.
The initiative was presented by developer Aiden McClelland on September 23rd. He called the scheme “verification and broadcasting of Mempool through user-defined policies.”
How will this new proposal for Bitcoin work?
Today, the acceptance policy is It is configured by the node itself Default settings. Among these software, the cores and knots stand out.
The BIPs listed here will make a difference by allowing Each node loads a file directory «.js» Define personalized acceptance rules. The “.js” extension is the ending that identifies the file that contains JavaScript code.
The document explains that when a transaction or transaction package is received, the node executes these scripts numerically. If everyone returns a successful outcome and the consensus verification is met, the transaction will be accepted by Mempool and broadcast to the network.
On the other hand, if the script generates an error, Transactions are rejected Use the “Script-Policy-Validation-Failed” code.
The first speculation of the Bitcoin community
The response to the proposal also shows technical nuance.
Developer Chris Guida warned that implementing personalized rules in JavaScript requires a large amount of code to analyze transactions (“transaction analysis”) within a script. It can slow them down or complicate them.
In his opinion, they should be fast and minimalists. Furthermore, he says that if the node already has information about the preprocessing transaction and is published via the available access function (“Getter”, in English) if the script does not require specific data, expensive calculations are avoided.
Other developers highlight positive aspects and doubts in the background. Martin Mutonga believes reducing friction over Mempool’s broadcasting policy is an important advance.
As he said, a modular scheme with reference implementations of QuickJS (a lightweight and efficient JavaScript engine) and C++ (a high performance programming language) will drive experiments without affecting Bitcoin consensus, ending a year of disagreements about flexible policies.
However, another developer was skeptical about the basic motivations of BIP and demanded that it be clarified Why allow users to delete or extend policies? From Mempool, it will be a valuable purpose in itself.
Finally, the author of this BIP makes his proposal clear Do not change consensus rules Bitcoin.
This means that nodes that do not employ this system will continue to function without change. Furthermore, transactions that nodes reject locally by separate policies can be accepted and spread by other nodes in the network, which limits the scope of individual decisions to the local level without affecting the global validity of the operation.
(tagstotranslate)bitcoin(btc)