Skip to main content

Cryptography

고유한 암호학 회로를 포함하는 Midnight Ledger 외부에서, Midnight 노드는 합의, 상태 전환 무결성, 네트워크 통신 등 핵심 기능을 보호하기 위해 여러 기반 암호학 알고리즘에 의존합니다.

주요 해시 함수는 Blake2 256으로, 강력한 암호학적 보장을 제공하며 블록 해시 및 각종 상태 전환 함수의 범용 해싱에 사용됩니다. 성능과 보안의 균형이 우수하여 런타임의 핵심 연산에 적합합니다.

서명 검증에는 역할에 따라 세 가지 서로 다른 체계를 사용합니다:

  • sr25519는 Schnorrkel과 Ristretto x25519 구성을 기반으로 하며, AURA 합의 메커니즘에서 블록 생성 메시지에 서명하는 데 사용됩니다. 효율적인 키 유도, 서명 집계, 강력한 보안 특성을 지원합니다.

  • ECDSA는 특히 Partnerchain 관련 합의 메시지에 서명하는 데 사용됩니다. ECDSA를 표준으로 채택하는 외부 시스템과의 상호 운용성을 보장합니다.

  • Ed25519는 Midnight 노드에서 두 가지 용도로 사용됩니다:

  1. GRANDPA 프로토콜에서 최종성 관련 메시지에 서명하며, 확정 과정에서 검증자 간 통신을 검증하기 위한 빠르고 안전한 메커니즘을 제공합니다.
  2. Polkadot SDK에 구현된 libp2p 프로토콜의 일부로 전송되는 메시지에 서명합니다.

추가로, Midnight 노드는 스토리지 키 생성을 위한 비암호학적 해시 함수로 twoxhash를 사용합니다. 암호학적 용도에는 적합하지 않지만, 속도와 낮은 충돌률에 최적화되어 내부 키-값 스토리지 구조에 적합합니다. 자세한 내용은 Storage 섹션을 참조하세요.