If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.
achow101
commented at 10:36 pm on February 27, 2026:
member
Branching is scheduled for March 10th, so I’d prefer to update it with the March 5th run.
achow101 added this to the milestone 31.0
on Feb 27, 2026
DrahtBot added the label
CI failed
on Feb 27, 2026
DrahtBot removed the label
CI failed
on Mar 2, 2026
fanquake
commented at 11:06 am on March 3, 2026:
member
Yea I think using the March 5th run is fine. I assume this time we’ll be using the new processes where those generating the data will be signing over the outputs, we are saving the raw data somewhere, etc?
fanquake marked this as a draft
on Mar 3, 2026
jurraca
commented at 12:08 pm on March 8, 2026:
contributor
@achow101@fanquake looking to confirm a few things about attestations. The ASmap flow is currently:
Generate ASmap with kartograf
-> use the one with the most matches
-> encode it via contrib/asmap/asmap-tool.py
-> open PR to bitcoin-core/asmap-data
-> people reproduce the hashes for the encoded files (filled and unfilled)
-> merge PR to bitcoin-core/asmap-data
Does it make sense to have only the people with the “winning hash” attest to their output file hash, and its encoded variants? So if 6 people have a matching hash, they become the subset of participants that must submit attestations.
Other users could validate that the encoded ASmap included in bitcoin-core/asmap-data has the expected / attested hash, and could decode the ASmap to get the initial file hash too.
Or is it enough to attest on the hashes of the ASmap with the most matches in a collaborative run’s output? As in, we add the “winning” ASmap to the bitcoin-core/asmap-data and anyone can drive by, recreate the encoded files from the uploaded file, and attest to them.
achow101
commented at 1:23 am on March 9, 2026:
member
I am ok with allowing anyone to attest to the asmap files so long as they are reproducible from easily examinable files. In choosing which result is the canonical asmap for that run, other runners can still validate that the encoded files are correctly encoded. They can further look at the diff between their own result and the canonical result to see what differences there are and if those differences are okay. Ultimately, the canonical result can be inspected by anyone and they should be able to attest to that result should its contents be satisfactory to them.
fjahr
commented at 9:23 am on March 9, 2026:
contributor
sedited
commented at 11:03 am on March 9, 2026:
contributor
Does it make sense to have only the people with the “winning hash” attest to their output file hash, and its encoded variants?
It’s a tricky question, but I feel like it only really makes sense if you have the people reproducing the full data set post their signed hashes. You don’t really gain much from many people attesting to the encoding only, since the source data is the real unknown factor, and the encoding is easily reproduced.
jurraca
commented at 11:47 am on March 9, 2026:
contributor
I feel like it only really makes sense if you have the people reproducing the full data set
yes, though since the outputs are deterministic based on the inputs, we could imagine the collab runs be only to fetch the inputs, compare them amongst ourselves and decide what the “right” ones are. We could then post the inputs, and have everyone reproduce the outputs from them and attest.
For now, maybe we keep doing the collab runs, agree on a “winning” hash, post the input data, then have people reproduce with that input and attest?
fjahr
commented at 1:46 pm on March 9, 2026:
contributor
I am ok with allowing anyone to attest to the asmap files so long as they are reproducible from easily examinable files.
You don’t really gain much from many people attesting to the encoding only, since the source data is the real unknown factor, and the encoding is easily reproduced.
This the conundrum, the first intermediate product that I would call easily examinable is the result file but at that point all that is left is the encoding and that is very easy to verify by encoding yourself, checking the sigs is probably even more work unless we provide a specialized script.
In GUIX the source is unambiguous, everyone starts from the same commit hash. The attestation for the reproducible build lends trust to the build process which is very complex and could have interference. In asmap the source is kind of ambiguous, every collaborative runner who got the matching hash could have slightly different raw download data. The encoding process afterwards is very simple, no compilers or dependencies involved.
Ideally we would get a signature from everyone who got a match in the collaborative run but requiring the collaborative runners to only be able to participate in a meaningful way if they are able to sign also isn’t great and unnecessarily restrict the pool of participants.
I guess reproducing from a raw data set which results in the hash that got the most matches and then letting everyone sign would be a good first step. This would mean leaving audit of the raw inputs to the people themselves if they haven’t gotten a match. We could develop better tooling to compare at let people decide if they got a mismatch or for general analysis of the data if they didn’t participate at all (though kartograf already has some of that tooling like coverage etc.).
we could imagine the collab runs be only to fetch the inputs, compare them amongst ourselves and decide what the “right” ones are
I don’t understand this, how is this different from what we are doing today? How would we compare the inputs without processing them?
jurraca
commented at 1:17 pm on March 10, 2026:
contributor
added attestation and verification scripts to asmap.sigs. Let me know if this is adequate for this run. This isn’t the final state as ideally this will live in contrib/asmap and do the encoding for you with asmap-tool.py.
@fjahr could you upload the inputs for 1772726400 to releases as you did here ? so we can reproduce from inputs.
fjahr
commented at 1:52 pm on March 10, 2026:
contributor
could you upload the inputs for 1772726400 to releases as you did here ? so we can reproduce from inputs.
Done: https://github.com/bitcoin-core/asmap-data/releases What’s a bit weird is that we have to attach releases to a commit hash in github so it would make sense to attach the release to the commit that add the actual encoded result but since we need to share the inputs to get the sigs before merging that commit, the release points to an older commit now. Releases are also immutable so it seems I can’t change it later. But it’s probably still better than some awkward workaround using temp storage somewhere else outside GH.
fjahr renamed this:
Update embedded asmap to 1770307200 for v31
Update embedded asmap to 1772726400 for v31
on Mar 10, 2026
fjahr force-pushed
on Mar 10, 2026
fjahr
commented at 5:49 pm on March 10, 2026:
contributor
Updated to use the new file from 1772726400. This is all a bit off-the-cuff but the different parts are coming together now:
The sigs attesting to the file are collected in https://github.com/asmap/asmap.sigs. There are current four (three added, one PR just pending on a folder renaming)
The one potential blocker could be if maintainers would like more time to look into asmap.sigs repo. It’s essentially a very light-weight guix.sigs and currently not part of the bitcoin-core org.
fjahr marked this as ready for review
on Mar 10, 2026
Update embedded asmap to 1772726400
The file was produced in this collaborative run: https://github.com/bitcoin-core/asmap-data/issues/44
0690a5d0f2
fjahr force-pushed
on Mar 10, 2026
DrahtBot added the label
CI failed
on Mar 10, 2026
DrahtBot removed the label
CI failed
on Mar 10, 2026
fjahr
commented at 8:40 pm on March 10, 2026:
contributor
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-04-02 15:13 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me