배경
양자 컴퓨터가 구축되면 쇼어 알고리즘과 그로버 알고리즘을 사용할 수 있습니다. 이는 ECDSA/ECDH를 완전히 무력화시키고, 해시 함수(및 암호)의 강도를 2^n2n에서 2^\frac{n}{2}2n2로 줄일 수 있습니다.
이더리움(ETH)에는 업그레이드해야 할 몇 가지 비 명확한 부분이 있습니다.
여전히 괜찮은 것들
- bip39(pbkdf2-sha512)는 괜찮아 보입니다.
문제가 있는 것들
- bip32 hdkey 파생
- 양자 내성이 있고 더 나은 것으로 대체해야 합니다("non-hardened" 키 없음)
- 새로운 체계는 HKDF(EIP-2333 같은)를 기반으로 할 수 있지만, HKDF-SHA256은 아닙니다
- 대안 KDF는 컨텍스트 모드의 Blake3(양자 보안은 불분명함)
- 제안된 체계는 ECC와 새로운 양자 내성 모드를 모두 지원해야 합니다
- 거래 서명
- Falcon(FN-DSA/FIPS-206) 또는 해시 기반 Sphincs-plus(SLH-DSA/FIPS-205)로 대체해야 합니다
- 새로운 키와 서명은 더 많은 공간을 차지할 것입니다
- Falcon-1024는 키 1.75KB, 서명 1.25KB입니다
- SLH-DSA-256은 키 128B, 서명 17KB-50KB입니다
- 발신자 주소 복구
- ECDSA의 기능이었지만(Schnorr에는 없음) 거래에 발신자 주소를 인코딩하는 것이 좋을 수 있습니다
- 주소 형식
- 현재는 40자 16진수, keccak256(공개키)
- keccak256을 keccak512/sha3-512/sha512/blake3-512로 대체해야 합니다
- 그로버 알고리즘이 주소 무차별 대입에 어떤 영향을 미치는지? 40자를 80-128자로 늘려야 할까?
- 더 긴 주소 형식에는 체크섬과 사용자 친화성을 위해 bech32 같은 것을 사용해야 할 것 같습니다
- 새로운 주소와 기존 주소/EVM의 상호운용성은 어떻게 할까요?
- 암호화된 지갑
- AES-128에서 AES-256 또는 chacha20으로 업그레이드해야 합니다
- HMAC-SHA256을 HMAC-SHA512 또는 KMAC/blake3-512(keyed 모드)로 업그레이드해야 합니다
- KZG EIP-4844 검증
- 양자 내성 체계로 대체해야 합니다
- 현재로서는 알고리즘이 불분명하므로 제안이 필요합니다
- EVM 0x20 opcode(KECCAK256)
- keccak512/sha3-512/sha512/blake3-512로 대체해야 합니다
- EVM precompile for ECRECOVER
- 발신자 주소 복구 참조
- EVM precompiles for BN / BLS / KZG
- 새로운 체계로 대체해야 합니다(어떤 것인지 불분명)
- 합의 계층 서명 집계
- 현재는 에폭(6분)당 모든 검증자의 서명을 한 번 집계합니다
- 현재 100만 개 이상의 서명이 있습니다
- 현재로서는 알고리즘이 불분명하므로 제안이 필요합니다
- 기타 사항?
최종 생각
이 모든 문제는 제한된 시간 내에 해결할 수 있다고 확신합니다. 해결책을 찾아봅시다.
그런 컴퓨터가 곧 등장한다면 비탈릭의 트릭(양자 비상 상황에서 대부분 사용자의 자금을 구출하는 하드포크 방법)을 활용할 수 있습니다: 모든 계정을 동결하고 BIP39와 ZK-증명을 활용하여 새로운 양자 내성 체계로 자금을 복구할 수 있습니다.