BIP459: Add FullAgg (DahLIAS) module #1754

pull fjahr wants to merge 9 commits into bitcoin-core:master from fjahr:dahlias changing 25 files +3774 −125
  1. fjahr commented at 11:02 PM on September 25, 2025: contributor

    This PR adds a FullAgg module implementing full aggregation of BIP 340 signatures using the interactive aggregate signature scheme (DahLIAS).

    The implementation follows the BIP459.

  2. fjahr force-pushed on Sep 25, 2025
  3. fjahr force-pushed on Sep 26, 2025
  4. fjahr force-pushed on Sep 26, 2025
  5. fjahr force-pushed on Dec 16, 2025
  6. w0xlt commented at 12:42 PM on May 8, 2026: contributor

    Concept ACK

  7. fjahr force-pushed on Jul 10, 2026
  8. fjahr renamed this:
    Add FullAgg module
    Add FullAgg (DahLIAS) module
    on Jul 10, 2026
  9. fjahr force-pushed on Jul 10, 2026
  10. fjahr force-pushed on Jul 11, 2026
  11. fjahr force-pushed on Jul 11, 2026
  12. fjahr commented at 12:30 PM on July 11, 2026: contributor

    The last commit here now is implementing the code sharing between the musig and the fullagg model. That is one of the first questions I have when reviewers will take a closer look here: Do we want to do it this way? And do we event want to do this at all? I think it's pretty good but also the amount of LOC saving has been a bit underwhelming at the end.

    A second thing that I changed and that I would be interested in high-level feedback on: I realized that the fullagg module really doesn't need any of the Schnorr module code, it just depends on extrakeys. I fixed this in the config where I still had the schnorr module as dependency of the fullagg module. However, in practical terms they will likely always be active together and it's also a bit awkward that I still have the module named schnorrsig_fullagg which I took over from the Halfagg PR where it's schnorrsig_halfagg. The most correct way would be to remove the schnorrsig part here but I am also unsatisfied with the asymmetry this would create 🙈 If anyone has opinions on this I am happy to hear them.

  13. fjahr marked this as ready for review on Jul 11, 2026
  14. fjahr renamed this:
    Add FullAgg (DahLIAS) module
    BIP459: Add FullAgg (DahLIAS) module
    on Jul 11, 2026
  15. fjahr force-pushed on Jul 11, 2026
  16. fjahr force-pushed on Aug 15, 2026
  17. fjahr commented at 11:10 AM on August 15, 2026: contributor

    The latest push is a rebase but also does a bunch of renaming and rewording in response to the naming discussion in the BIP, e.g. dropping the "FullAgg of Schnorr signatures" framing.

  18. fjahr commented at 11:24 AM on August 15, 2026: contributor

    Split out the first commit which is a pure refactor: https://github.com/bitcoin-core/secp256k1/pull/1915

  19. real-or-random added the label feature on Aug 15, 2026
  20. theStack referenced this in commit 86c7cbaf5a on Aug 19, 2026
  21. fjahr force-pushed on Aug 24, 2026
  22. fjahr commented at 8:32 PM on August 24, 2026: contributor

    Rebased after #1915 was merged

  23. fullagg: Add module 8722f9ea4f
  24. fullagg: Add include file a43d452401
  25. fullagg: Add example 5060640320
  26. fullagg: Add to CI 22099f77de
  27. fullagg: Add to build system 07776ea7f0
  28. fullagg: Add docs 3af59d5bac
  29. fullagg: Add benchmarks f1f6604d3c
  30. fullagg: Add ctime tests cfbb70d388
  31. TBD: Sharing common code between fullagg and musig 65e57481c4
  32. fjahr force-pushed on Aug 26, 2026
  33. fjahr commented at 7:42 PM on August 26, 2026: contributor

    Pulled in additional test vectors added based on feedback on the BIP


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-09-01 14:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me