pull down to refresh
Livestream is here: https://youtube.com/live/_OE30u25mcA or https://x.com/i/broadcasts/1AKEmmEgpwoKL
6 blocks to go!
yes, completely agree that there can be done far more. Would be nice if someone at least gets the basics back up though. Feel free to post this in the issue too for visibility.
This is detailed on https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710#p-1996-worst-case-block-validation-time-5
The worst block i could come up with takes around 3 minutes to validate with all 16 cores of my modern laptop’s CPU and a hour and a half of a RPi4.
my host has access to 8 shared AMD EPYC-Rome (2019) cores, not the newest and fastest, but should be plenty to validate a signet block...
I got some timestamps for a miner mining at Foundry's pool:
https://bnoc.xyz/t/two-block-reorg-at-height-941880/97/20
It indeed seems to be the case that they mined these two blocks just after the competing ones.
localprobelocalprobe
Team:Team:
- b10c – https://github.com/0xb10c
What We Built:What We Built:
If your browser (Firefox does; Chrome/Brave/Edge are ok) leaks that are running a Bitcoin node (mainnet/testnets) on the same machine as your browser, localprobe alerts you about it by showing a privacy alert when you visit a website. Currently, https://b10c.me does (test by running bitcoind -regtest and visiting https://b10c.me). This leak might be used by e.g. advertisers to show you Bitcoin related ads.
Stack:Stack:
plain JS
Submission:Submission:
https://loot.fund/hackathons/bitcoin-exploits-edition/applications/13
Repo:Repo:
https://gist.github.com/0xB10C/4e6b3d8394bb375323e887945091ead5
Next Steps:Next Steps:
Using the same technique, we can actually harm remote Bitcoin nodes by DDoSing them from the browser. I've been working on a demo of this.
@btcpp maybe show this or I can briefly talk about this when the hackathon starts?
I have a few peer-observer / monitoring project ideas for the upcoming hackathon. With peer-observer, we have a real-time feed of Bitcoin Core events. A event is for example a P2P message arriving, a connection bening opened, us periodically fetching an RPC, ...
I run a tool that transforms events from this feed into a websocket with JSON messages for them to be used in the browser. Then, I have a few HTML pages that act as tools consuiming and displaying some of the events. See https://demo.peer.observer/websocket/
For the hackathon, you can use one (or even two) websockets of wss://demo.peer.observer/websocket/hal/ or wss://demo.peer.observer/websocket/len/ for building a nice demo or Proof of Concept of a browser visualization.
A few ideas are (but feel free to be creative and experiment!):
- Build a real time Bitcoin Core debug log viewer: On the
wss://demo.peer.observer/websocket/hal/websocket (not onlen) we are sending Bitcoin Core debug logs as JSON messages. Displaying this in the browser in real-time could be cool. Addtionally, filtering (i.e. grep) or highligthing certain messages would be cool. I think building this should be fairly simple. - A Bitcoin Core orphanage visualization: Bitcoin Core keeps something called an oprhange for transactions we don't know a parent for. There's a bit more information on it in https://github.com/bitcoin-core/bitcoin-devwiki/wiki/%5BP2P%5D-known-TxOrphanage-problems with a few links and context. Having a visualization of the orphanage in real-time in the browser would be nice. peer-observer fetches the
getorphantxnRPC every 10s and sends it as JSON message via websocket. I've started working on a PoC in the past, but the orphanage has changed a bit since then: https://github.com/bitcoin/bitcoin/pull/30793#issuecomment-2379684081 - so you probably need to adapt this a bit. This is a bit harder than 1., since you need to learn about Bitcoin Core internals.
- Be creative and explore the websockets and come of with something new and cool!
If you need help, feel free to come up to me and ask for help!
Also, have a look at the existing tools and their source code:
I do have logs of stratum-observer. Can look into it at some point.
For some reason, https://stratum.work/height/961633 doesn't seem to listen the Ocean endpoints.