1

I am curious why the developers of Bitcoin and Ethereum chose to use only one type of digital signature (secp256k1 for Bitcoin and a similar approach for Ethereum) instead of multiple different types of digital signatures. Using multiple algorithms could potentially enhance the flexibility of the system.

Potential Advantages of Using Multiple Signature Algorithms

In theory, using multiple signature algorithms could offer several advantages, such as:

  1. Flexibility:
    • Users could choose the algorithm they believe is the most secure or best suited to their needs.
    • NIST P-256: Can be used for signatures with passkeys.
    • Ed25519: Used in blockchains like Near and Solana, more convenient for use in aggregated signature schemes.

However, I also understand that this could introduce certain complexities, such as:

  1. Increased Implementation Complexity:

    • Handling multiple types of signatures could increase the potential for errors in the codebase.
  2. Reduced Performance:

    • The need to handle various types of signatures could lead to reduced performance.
  3. Compatibility Issues:

    • Ensuring compatibility between network nodes using different signature algorithms could be challenging.

Key Reasons for Using One Type of Signature

What specific reasons led to the decision to use only one type of signature in Bitcoin and Ethereum? Were other options considered, and if so, what were the arguments for and against?

I would appreciate references to discussions or articles that address this question.

2
  • Cryptographic code isn't easy to write nor audit, so to securely support multiple signatures algorithms requires extra resources. That complexity extends to all the software network clients, wallets, explorers, etc. Commented Aug 9, 2024 at 13:28
  • @Ismael Yeah it’s really make sense Commented Aug 9, 2024 at 15:22

1 Answer 1

1

Account abstraction is the deep topic for this question.

Some references while an answer is written up:

https://www.youtube.com/watch?v=iLf8qpOmxQc

https://blog.ethereum.org/2015/07/05/on-abstraction

https://blog.ethereum.org/2015/12/24/understanding-serenity-part-i-abstraction

https://eips.ethereum.org/EIPS/eip-7702

1
  • Yes, I've studied this topic, and it seems like a terribly inconvenient implementation in the EVM. It feels like an attempt to fix initial design flaws, unfortunately. If they had originally made it possible for one party to sign transactions and another party to publish them to the network (and accordingly pay the gas fee) — like with ERC-20 token permits or meta transactions — it seems like this would have covered a large part of the cases in which the AA they're proposing would be used. Commented Aug 9, 2024 at 15:29

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.