At the end of September, Ocean Mining released the Decentralized Alternative Templates for Universal Mining (DATUM) protocol. The release is the latest – and biggest – effort yet from the fledgling mining pool to “decentralize” mining, its explicit mission statement.
At first glance, the protocol is almost a mirror image of Stratum V2, the latest iteration of the Stratum protocol that all mining pools use to coordinate work between their disparate participants. Both of these protocols give miners greater control over transaction selection / block template construction, a privilege historically reserved for mining pools.
But DATUM has a few key design differences that makes it different than Stratum V2. Today, we break down these differences.
Editor’s note: Unfortunately, OCEAN’s documentation for DATUM is limited, so most of the information surrounding how the protocol works is still shrouded in a bit of mystery. We’ve done our best to parse the differences between DATUM and Sv2 using the limited documentation we have and input from developers, but we will have a better understanding for how DATUM works under the hood if the OCEAN team fleshes out the details.
OCEAN Pool’s DATUM vs. Stratum V2 – what’s the difference?
Before we dive into the differences, a quick recap on how block template construction and transaction selection typically works for mining pools.
In its search for a block, a mining pool creates a block template, which includes all of the requisite data for a valid block according to current Bitcoin consensus rules, and the mining pool selects transactions in its node’s mempool to include in this block. The pool then broadcasts this template to its miners, who then submit work for this template (what miners call “shares”) by sending hashrate to the mining pool via its stratum. Once a miner in the pool finds a block, the mining pool collects the block reward and pays out miners according to their share of the pool’s total hashrate.
In this scenario, the individual miners have no control over what transactions the mining pool places into a block, and this creates a chokepoint that potentially threatens Bitcoin’s censorship resistance.
Stratum v2 is designed to give miners more control over this process, whereby they can request the inclusion of specific transactions via their own templates. With Sv2, the miner builds their own template and includes the transactions they want, and in a process called negotiation, they request that the mining pool accept their template if they win the next block.
With DATUM, the miner also has full control over the block template. And it appears that the mining pool has no ability to deny a miner’s template since, with DATUM, miners only share merkle branches with the pool and not specific transactions (although we won’t know for sure until OCEAN releases more complete documentation for DATUM, ). It’s worth noting that a mining pool and miner could create the same setup with Stratum V2.
It’s also worth noting that, at any time, a mining pool using DATUM or Stratum V2 could cut off their connection with a miner at any point, which is effectively rejecting any future block templates from this miner.
With DATUM, miners have to run their own node and DATUM gateway, a program for coordinating between a miner’s ASICs and the mining pool. Importantly, because the miner is running their own node and the DATUM gateway, they actually broadcast the mined blocks themselves from this node. For Stratum V2, miners also have to run a proxy and their own full node.
It seems that the key difference between DATUM and Stratum V2 is that, with DATUM, the miners have to broadcast their blocks themselves — the pool cannot do it for them, as is the case with Sv2. Reason being, miners only share the merkle branch of their transactions with the mining pool, not the transactions themselves. That said, Filippo Merli, CTO of DEMAND Pool, told Blockspace that “you can do the same thing with Sv2,” since “a pool can just accept any proposed template without requiring additional transaction data.”
Ocean also claims that all rewards paid out from a DATUM block will be paid directly to miners from the coinbase transaction of the block (although traditionally, the number of payouts a miner can make directly from the the coinbase transaction is limited to roughly 100 due to ASIC firmware limitations).
DATUM limitations
Like Stratum V2, any mining pool could run DATUM and use it to disintermediate the block template construction process.
But the larger pools of the world are unlikely to do so, argues Nick Hansen, the CEO of Luxor, which runs its mining pool. That’s because the larger the pool, the more likely they will need to play by the rules of regulators and officials, and that includes censoring transactions that might run afoul with sanctions and other laws.
“Big pools most likely won’t adopt this protocol because they need that for, let’s just say, for whatever reason. I run a pool in North Korea, and they say, don’t process any transactions for Americans…You just have to be able to not accept a particular transaction,” he told Blockspace.
Speaking to the potential limitations of other pools adopting DATUM, a developer at another bitcoin mining pool, who asked to remain anonymous, told Blockspace that he was “confused why [OCEAN] would want to add a narrowly-scoped application specific to their pool versus leverage a universal protocol (Stratum V2) with the same/similar feature baked in.”
“Miners, at least our customers and others I know, do not want to add further complexity to their tech stack without very clear economic payback. While Ocean miners are likely more ideological, they are still businesses…It appears to require some networking knowledge and at least a bitcoin node and a gateway set up, which I think could include at least the same amount of friction as Sv2 plus job declaration,” the developer said.
Some of those benefits, they continued, include end-to-end encryption and binary transfer (OCEAN uses JSON).
All of that said, the developer means “no disrespect to OCEAN,” adding that they are happy to see the team “actually taking action and trying things” and “hope they see adoption on DATUM.”
Edit October 16, 2024 (11:40am EST): The original version of this article inaccurately stated that Sv2 is developed only by Braiins, whereas it is actually co-developed by the company and a number of other parties; it also inaccurately described the block template and negotiation process with Sv2. Both points have been amended. Additionally, the original article erroneously claimed that mining pools using DATUM cannot reject a miner’s block template, but this is not the case. We made a number of other edits for clarity and accuracy as well.