Midnight 증명 시스템, Pluto Eris에서 BLS로 전환하다
Kachina은 비대화형 영지식 증명을 활용하여, 사용자가 개인 데이터를 공개하지 않고도 유효한 상태 전환을 증명할 수 있도록 합니다.
이 전환은 완료되었습니다. Midnight은 현재 BLS12-381을 증명 시스템으로 사용합니다.
Midnight은 프라이버시 보존 스마트 컨트랙트를 위해 Kachina 프로토콜을 활용합니다. Universal Composition(UC) 모델 기반의 영지식 증명으로 안전한 탈중앙화 연산을 수행하며, 컨트랙트 상태를 공개(온체인)와 비공개(오프체인) 구성 요소로 분리하여 확장 가능한 프라이버시를 구현합니다.
현재 Midnight은 BLS12-381 곡선 기반의 Kachina 프레임워크 ZK-SNARK을 증명 시스템으로 사용합니다. 2025년 4월 28일 테스트넷 업그레이드를 통해 Pluto-Eris에서 BLS12-381로 전환했습니다. BLS12-381의 페어링 기반 특성을 활용하여 효율성과 보안이 향상되었고, 트랜잭션 성능도 개선되었습니다.
Why Midnight switched to BLS
| Pluto-Eris | BLS12-381 | |
|---|---|---|
| Trusted Setup | Needs ceremony | Existing |
| Cryptography | Non-standard | Standard |
| Transaction time | Slower | Faster |
| Transaction size | 6 kb / proof | 5 kb / proof |
| Tx verification time | 12 ms / proof | 6 ms / proof |
| Architectural complexity | High | Low |
| Maintainability | Hard | Feasible |
| Cost of recursive step | Smaller circuits / higher CPU cost | Larger circuits / lower CPU cost |
Moving away from trusted setup ceremony
BLS12-381을 채택해야 하는 가장 설득력 있는 이유는 이미 표준화된 신뢰 설정을 사용할 수 있다는 점입니다. Pluto-Eris은 별도의 의식(ceremony)이 필요합니다. BLS12-381을 사용하면 암호 학 커뮤니티에서 이미 폭넓게 검증하고 인정한 기존 설정을 그대로 활용할 수 있습니다.
Embracing standardized cryptography
Pluto-Eris은 비표준 암호학에 의존합니다. 혁신적이긴 하지만, 상호운용성과 장기 지원 측면에서 위험이 있습니다. 반면 BLS12-381은 널리 검증되고 테스트된 표준 암호학 요소를 기반으로 합니다. 표준화를 통해 취약점 가능성이 줄어들고 다른 시스템과의 호환성도 보장되므로, 더 미래 지향적인 선택입니다.
Boosting transaction performance
성능은 모든 암호학 시스템에서 핵심 요소입니다. BLS12-381은 여러 주요 지표에서 Pluto Eris을 앞섭니다. 트랜잭션이 더 빠르고, 검증 시간이 증명당 12ms에서 6ms로 단축됩니다. 트랜잭션 크기도 증명당 6KB에서 5KB로 줄어들어 대역폭과 스토리지를 더 효율적으로 사용합니다. 이러한 개선은 Midnight 플랫폼 전반에서 더 원활하고 확장 가능한 사용자 경험으로 이어집니다.
Simplifying architecture and maintenance
아키텍처 복잡성 면에서도 BLS12-381이 확실히 유리합니다. Pluto Eris은 복잡성이 높아 유지보수가 어렵습니다.
Balancing cost and efficiency in recursion
재귀 증명은 고급 암호학 애플리케이션의 핵심이며, 두 시스템의 처리 방식이 다릅니다. Pluto Eris은 더 작은 회로를 사용하지만 CPU 비용이 높아, 사용량이 늘면 연산 자원에 부담을 줄 수 있습니다. BLS12-381은 반대로 더 큰 회로를 사용하면서 CPU 비용을 낮춥니다.
요약하면, BLS12-381은 Pluto Eris 대비 성능, 단순성, 신뢰성 면에서 더 나은 조합을 제공합니다.
💥 Impact on developers
BLS12-381로의 전환은 2025년 4월 28일 테스트넷 업그레이드와 함께 이루어졌습니다. 하위 호환이 되지 않으므로, 개발자는 BLS 호환 컴포넌트를 사용해야 합니다. 해당 컴포넌트는 다음과 같습니다:
- midnight.js
- wallet
- examples
- proof-server
기존 Compact 코드는 계속 작동하지만, BLS12-381 표준에 맞추어 재컴파일과 재배포가 필요합니다. BLS12-381로의 전환을 통해 트랜잭션이 더 빨라지고, 개발자 경험이 크게 개선되었습니다.
👉 도움이 필요하면 Midnight Discord에 참여하세요!