Would anyone object to adding a dlopen message hook system?



Summary:

The discussion revolves around extending the P2P layer of Bitcoin. The proposal is to enable adding new message types by externalizing message processing through RPC/ZMQ. The idea is to leave the base P2P layer undisturbed and provide a way to create enhanced features that some peers support. The end goal is to allow people to pay for better node access, creating a market for node services. The proposed approach to achieve this is by using lightning network micropayments. The proposal suggests having linked-in modules, which can be optionally compiled and added to bitcoin conf, then loaded via dlopen(). The modules should be slightly robust to Bitcoin versions changing out from under them. However, any module incompatibility should throw an exception, ensuring broken peers don't stay online. The consensus logic, p2p system, wallet, and GUI currently share the same process, making a module approach like this a security nightmare. Therefore, it is suggested to use existing IPC interfaces like RPC/ZMQ, which can be bidirectional using long poll.


Updated on: 2023-06-12T14:52:52.139063+00:00