Skip to content

Add draft BIP: pqcBitcoin Post-Quantum Cryptography for Bitcoin #1832

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

QbitsCode
Copy link

@QbitsCode QbitsCode commented Apr 22, 2025

@murchandamus
Copy link
Contributor

Hi @QbitsCode, if this is a collaboration with @ysangkok, how come there is only one author? Has there been a discussion of this proposal on the mailing list?

@ysangkok
Copy link
Contributor

I don't have anything to do with this, don't know why my email is on the commit

@QbitsCode
Copy link
Author

Hi @murchandamus :

  1. No.
  2. Yes, we had considerable discussions of this proposal on the mailing list.

@jonatack
Copy link
Member

jonatack commented Apr 23, 2025

Hi @QbitsCode, can you please add the link to the mailing list discussion of this proposal to your pull request description? (I took a quick look in the mailing list https://groups.google.com/g/bitcoindev but did not find it.)

@QbitsCode
Copy link
Author

You're right — I mistakenly stated that the proposal was discussed on the mailing list. It was actually discussed in other forums, such as Delving Bitcoin: https://delvingbitcoin.org/t/implemented-post-quantum-cryptography-pqc-feature-into-bitcoin-core/1320.

Copy link
Contributor

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This document does not describe the proposed feature in sufficient detail and is not a stage where it should be a pull request to this repository. The Specification section seems like a good starting point for a conversation on the mailing list about the approach. It would be preferable if the proposal had seen more discussion and the document were further developed before being submitted here. We recommend that authors iterate on a pull request against their own fork of the BIPs repository at the early sketch stage as it doesn’t make sense to bombard other subscribers of this repository with notifications while the proposal is just starting to take shape.

I’m going to turn this into a draft pull request, but I would recommend that it be closed and reopened at a later time when the proposal is fleshed out more.

Also, please look into why your commit is labeled as having been authored by Janus—that’s just weird.

Comment on lines +1 to +7
BIP: Unassigned
Title: pqcBitcoin Post-Quantum Cryptography for Bitcoin
Author: Eid Al Subaie <[email protected]>
Status: Draft
Type: Standards Track
Created: 2025-04-22
License: BSD-2-Clause
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The preamble should use preformatted text:

Suggested change
BIP: Unassigned
Title: pqcBitcoin Post-Quantum Cryptography for Bitcoin
Author: Eid Al Subaie <[email protected]>
Status: Draft
Type: Standards Track
Created: 2025-04-22
License: BSD-2-Clause
<pre>
BIP: ?
Title: pqcBitcoin Post-Quantum Cryptography for Bitcoin
Author: Eid Al Subaie <[email protected]>
Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-?
Status: Draft
Type: Standards Track
Created: ?
License: BSD-2-Clause
</pre>

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the feedback. This draft is part of a broader ongoing initiative to explore post-quantum cryptography for Bitcoin. We’ll initiate the discussion on the mailing list and continue refining the proposal in my fork as suggested.

== Specification ==
The proposed solution introduces the use of post-quantum cryptography to Bitcoin's transaction signing process. It integrates cryptographic primitives that are resistant to quantum computing-based attacks.

### Proposed Algorithm
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder whether this and the two instances below were supposed to be section headers:

Suggested change
### Proposed Algorithm
=== Proposed Algorithm ===

- Provide a roadmap for transitioning to quantum-safe cryptographic techniques while maintaining Bitcoin's decentralization and security.
- Ensure Bitcoin’s resilience in the face of future technological advancements, maintaining trust in its decentralized model.

== Specification ==
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Specification section should describe the syntax and semantics detailed enough to allow implementation of the feature. This is just a description for an approach.

- A **modified Bitcoin node** that validates both ECDSA and PQC signatures, ensuring compatibility with both old and new addresses during the transition period.
- **Test vectors** that demonstrate the functionality and security of the proposed cryptographic methods when applied to Bitcoin transactions.

== Rationale ==
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that this is the third or fourth PQ proposal in a few months, it would be especially appreciated if the Rationale got into alternative approaches.

@murchandamus murchandamus marked this pull request as draft April 23, 2025 12:39
Copy link

@cryptoquick cryptoquick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the details aren't specified, it's not quite clear how this would differ from BIP-360. As Murch mentioned, it would make sense to at least contrast this with that BIP. There seems to be some overlap, and the parts that don't overlap, such as PQC KEM, might be better specified as a separate BIP. If I were to make a suggestion, maybe this BIP could focus on Group 2 algorithms (for communication between nodes and wallets, as the pqc-bitcoin readme states) and BIP-360 would cover Group 1. Do you think that might make sense?

@QbitsCode
Copy link
Author

QbitsCode commented May 6, 2025

@cryptoquick Thanks for your suggestion on pqcBitcoin. We're considering your point in our evaluation. So, what you're saying take Group 1 out as it covered in your BIP-360 and just foucs on Group 2 algorithms for communications between nodes, and wallets. It makes sense but let me tell the following:

  1. Main objective of pqcBitcoin was a holistic implementation pqc repo.

  2. If we go this suggestion, we need to know how to integrate your BIP-360 (seems Group 1) and Group 2.

@murchandamus
Copy link
Contributor

Hi @QbitsCode, is this proposal still being worked on?

@QbitsCode
Copy link
Author

Yes, we're actively working on it. Given the importance of post-quantum resilience for Bitcoin, we're taking the time to ensure the proposal is precise, solid, and forward-compatible!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants