> * Holding Funds On Chain
Did you want to say:
* Holding Funds On Chain controlled by your own key(s)?
I found that a bit ambiguous/confusing on first read.
Hey! great to hear from you. I have been meaning to reach out.
The cool thing is that in this reboot, we are adding transactions with UTXOs. So each p2pool "block" encapsulates a share found by a miner. The share block, as I call it in the code, has a coinbase. This coinbase essentially has an output, which can be "spent" by the miner. The output could have any bitcoin Script in it.
Since the p2pool sharechain has exactly the same transactions as bitcoin, miners can spend their UTXOs.
One approach is to atomically swap a bunch of such outputs for bitcoin.
The buyer of the coinbase outputs is later paid for all these outputs by p2pool from the bitcoin block coinbase.
The share block coinbases are only useful for share accounting. Payouts are directly from there bitcoin block coinbases - based on the share accounting from the sharechain coinbase ownership.
I'll give you my coinbase, if you give me bitcoin now, and you'll get paid when the pool's bitcoin coinbase pays out all the buyers of such coinbases (call them market makers).
We will limit the number of outputs on the bitcoin block coinbase so we can stay within antminer limits. That will limit the number of market makers that can trade on the pool.
There is s brief introduction here https://blog.opdup.com/2025/02/04/rebooting-p2pool-for-bitcoin.html
Having said all that, I want to explore other ideas. Given the pool has transaction support, we should be able to do even cooler things - like use ecash for privacy!
I needed to call getblocktemplate in proposal mode from Rust. The reason is we need to validate blocks that other miners on p2pool are working on.
This ended up talking me longer I had planned. Not a suprise in software development :)
The bitcoin JSON rpc library only handles the template mode, thought I'll submit a patch, but then realised Poelstra has a corepc-types library to help build your own json rpc client.
All that seemed too much hassle in the end.
So now I just invoke the endpoint using jasonrpsee. I ended up keeping things slim and just did the minimal work required to meet my requirement.
On to the next task.
https://github.com/users/pool2win/projects/15
#p2pool
In other words, people before tools! Exactly as Eric says.
I also liked his point about war by other means and risk sharing principle.
Aren't we all computer scientists here?
Anyhoo, PhD in distributed systems here. Developed a novel consensus protocol back in 2007.
Rebooting P2Pool. LFG!
Verification of HotStuff BFT Consensus
Protocol With TLA+/TLC in an Industrial Setting
#readings
A TLA+ Formal Proof of a Cross-Chain Swap
https://dl.acm.org/doi/10.1145/3491003.3491006?utm_source=chatgpt.com
Codecov has started to terrorise with this new feature!

One has to write test! π
nostr:nprofile1qyx8wumn8ghj7cnjvghxjmcpz4mhxue69uhk2er9dchxummnw3ezumrpdejqqgzn9kpsmllqnsf7wh5tz3wgy4cclsftqqplv8tpayrhwgw8llunevgnmdf3 Hey guys, the link preview thing always breaks for me. Both on firefox and chrome. Hope the screenshot helps. LMK, if you need more info.

P2Pool progress update: We have our node talking to CKPool to receive work blocks and shares found by miners. A detailed blog post is here: https://blog.opdup.com/development-updates/2025/02/17/using-ckpool-solo-for-p2pool-v2.html
GOOD MORNING NOSTR.
LIVE FREE. π«‘
https://cdn.satellite.earth/b6140377eddae70744c1e4030f285bafac2e8ac0c0dd5c23c282f9f89965bbfe.mp4
The golden age of music
"If we don't save ourselves, nonce will"
Had to read it again to correct myself.
hey nostr:nprofile1qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcppemhxue69uhkummn9ekx7mp0qqsyv47lazt9h6ycp2fsw270khje5egjgsrdkrupjg27u796g7f5k0s0pfy4z - It is not easy to figure out which repo is used to build the browser extension.
I am looking here: https://github.com/orgs/getAlby/repositories
Thanks for all the excellent work. I am just curious to see the source. π
We're back! In episode 96 of Bitcoin Explained nostr:npub1art8cs66ffvnqns5zs5qa9fwlctmusj5lj38j94lv0ulw0j54wjqhpm0w5 and I cover Stratum v2, DATUM, Bite, P2PPool and friends.
Show notes will be updated soon(tm).
https://bitcoinexplainedpodcast.com/@nado/episodes/episode-96-mining-decentralization-update
Thanks for the covering this important topic. Resisting mining centralisation is a tough challenge, but we need to work on this.
1. Uncle blocks so miners are paid for all their work
2. Transactions on the share chain - so we can swap the shares for BTC using atomic swaps, maybe even on LN.
3. Probably use TIDES like accounting for fair rewards accounting (thanks Sjors for pointing out this direction). Still investigating this.
The coolest thing is that if we have transactions on the sharechain, we open a lot of possibilities to build other payout mechanisms. We might have an ark-p2pool, ln-p2pool, e-cash-p2pool, pick-your-fav-p2pool. This is what really excites me atm.
My local baker was upset about losing 2.5% to the payment providers when Italy introduced the "online only payments for every sale over 60 euro". I switched to cash from that day.
If you can't use bitcoin, use cash - became my mantra.