Replies: 3 comments 2 replies
-
FWIW I don't think that discussion has all that much relevance for Braidpool though people may find it interesting. Using a local getblocktemplate (on localhost) and not providing the ability to filter ordinals/inscriptions/addresses) is the answer to avoiding regulatory capture and censorship. It's the SV2 plan to outsource templates that could lead to regulatory capture by having "compliant" template providers external to the miner. This will result in less decentralization and I don't think their argument about there being lots of template providers to choose from works. No one wants this legally risky responsibility and it's likely to collapse into only one global template provider IMHO. I have never proposed that Braidpool should outsource templates in this way. The template will be constructed locally by each miner either by braidpool-node or bitcoind. If we do that this isn't a concern. One implication though is that I don't think the Braidpool UI should offer any kind of tx filtering at all. If we make filtering an option, everyone will do it out of an abundance of legal caution, to the detriment of the network. |
Beta Was this translation helpful? Give feedback.
-
Sure, I'm not advocating for that.
The second option on this phrase is the main issue I'm trying to point out. By having Sure, we could simply assume the miner would run both Perhaps the wording on my original message was a bit confusing. In summary, what I'm saying is: each |
Beta Was this translation helpful? Give feedback.
-
I wanted to comment on this in hopes that this is kept in mind while designing this project. 1st, my high-level view is this software would replace P2Pool. To that end, I expect this will get forked for child UXTO chains. I'm personally involved in 2 UXTO networks in Golang and JS atm. I would like to see the software have design choices to adapt to other UXTO/BTC-sibling chains easily. Many have a BTC-compact RPC API. But some also don't. This effort is a possible solution to a broader problem with UXTO mining centralization. If there is 0 interest in enabling this to be adaptable (including different hash algo's), then it will just mean intentionally making it harder for the wider community. I just thought I would bring this up, given some of the technical discussion around P2P networks and mempools. Kudos. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
We recently merged #54, where we imbue
braidpool-node
with the ability to listen for new blocks via ZMQ and fetch new templates viagetblocktemplate
RPC.This design is taking Braidpool's architecture in a direction where
braidpool-node
is essentially a separate entity tobitcoind
and relies on it as a Template Provider. Beforebraidpool-node
is ossified with this design, it's important to discuss its potentially negative consequences.As it was discussed by @mcelrath and @TheBlueMatt on the
#template-distribution
channel of SV2 Discord (perhaps not 100%, but with some degree of agreement), Template Providers are inevitably bound to become a target for legal attack vectors coming from Nation-States trying to impose censorship and compliance (e.g.: OFAC).One alternative could be to design
braidpool-node
such that it taps into the mempool itself. It would requirebraidpool-node
to join the p2p communication with otherbitcoind
nodes and participate in the tx gossip like a regular node.(to clarify: I'm not arguing to literally re-write
braidpool-node
as C++ code, I'm sure this could be achieved with Rust crates)In practice, it would be the same as if
braidpool-node
andbitcoind
were always running on the samelocalhost
. But there wouldn't be any option to do this differently (e.g.:braidpool-node
andbitcoind
on separate machines), because the code simply wouldn't allow for that configuration. The only way for a pure/unmodifiedbraidpool-node
to create a template would be to pick transactions straight from the mempool, without any middleman whatsoever.I do wonder if this design wouldn't make whoever is running
braidpool-node
vulnerable to regulatory capture, but I'm not a lawyer so I'm not equipped to answer this question.Beta Was this translation helpful? Give feedback.
All reactions