Author: Jorge Timón 2015-09-23 16:58:16
Published on: 2015-09-23T16:58:16+00:00
Gavin Andresen proposed a plan to separate consensus code into libconsensus, which is important for less risky and wider contributions. Once exposed, alternative implementations should use it and Bitcoin Core should eventually use it through its API as well. The library will provide full consensus validation for Script, Block Headers, Transactions, and Blocks, but won't provide storage or tell the longest chain. The concrete API of each function is to be determined, but at least VerifyScript, VerifyHeader, VerifyTx, and VerifyBlock functions will be in the API. Jorge Timón responded to Jeff Garzik's concern about the seemingly random stream of refactors for libconsensus without any apparent plan or end by saying that just because someone doesn't understand the changes proposed doesn't mean they are random. He described his plan for libconsensus and tried creating big pull requests for people to see the big picture, but nobody wanted to read it. Instead, he had smaller one-little-step PRs that were part of a longer branch. Now, he consolidated three of them in Optimizations: Consensus: In AcceptToMemoryPool, ConnectBlock, and CreateNewBlock with the hope that it would be merged relatively fast. After that, it will be much simpler to start talking about potential C APIs for VerifyHeader, VerifyTx, and VerifyBlock, as well as separating the library to a subtree.
Updated on: 2023-06-10T22:31:50.403640+00:00