Zenith는 Canton과 Zenith EVM 전반에 걸친 원자적 트랜잭션 흐름을 시연합니다
Zenith Network

Canton과 Zenith EVM 전반에 걸친 원자적 트랜잭션 흐름
Canton에 EVM 호환성을 도입하기 위한 여정의 일환으로, Zenith에서는 최근 Canton 테스트 환경에서 Canton과 Zenith EVM 전반에 걸친 엔드투엔드 트랜잭션 처리를 구현했습니다. 오늘 블로그에서는 Canton과 Zenith EVM에 걸쳐 있는 Zenith의 원자적 트랜잭션 흐름을 자세히 살펴봅니다.
Zenith란 무엇인가요?
Zenith는 Canton Network에 EVM 환경을 추가하고, 이후 곧 SVM도 지원할 예정으로, Ethereum 애플리케이션을 Canton으로 가져오고 개발자들이 Canton과 원자적으로 상호작용하는 EVM 애플리케이션을 배포할 수 있게 하며, 기업들이 Canton 서브넷과 조합 가능한 자체 프로그래머블 EVM 환경을 운영할 수 있도록 합니다.
Zenith가 원자적 조합성을 가능하게 하는 방법
Zenith의 핵심 설계 원칙 중 하나는 모든 EVM 활동이 Canton을 통해 라우팅되고 Canton MainNet에서 정산된다는 것입니다. 따라서 Zenith EVM은 Canton의 EVM 기반 서브넷과 매우 유사합니다.
Zenith EVM과 Canton 간의 원자적 조합성은 Canton의 네이티브 언어인 Daml로 Zenith가 구현한 external_call() 프리미티브를 통해 가능합니다. 이 함수는 Daml 컨트랙트가 EVM 실행 환경을 결정론적으로 호출할 수 있게 합니다.
- 이는 네이티브 EVM 실행 결과를 Canton에 확인하고, Canton의 EVM Daml 컨트랙트에서 EVM 상태 루트를 검증하는 데 사용됩니다.
external_call() 프리미티브는 Canton의 네이티브 2단계 검증 프로세스를 따르며 추가적인 신뢰 가정을 도입하지 않습니다.
- 제출자는 해석 과정에서 함수를 실행하고 그 결과(및 선택적으로 해시 + 메타데이터)를 트랜잭션 뷰의 일부로 포함합니다.
- 각 검증자는 동일한 external_call()을 로컬에서 재실행합니다.
- 검증자 중 하나라도 다른 출력을 얻으면 검증이 실패하며, 이는 기존 Daml 프리미티브와 동일한 결정론 규칙을 반영합니다.
원자적 조합성을 실제로 확인하려면, 전체 트랜잭션 라이프사이클 추적을 지원하는 내부 testnet의 퍼블릭 익스플로러를 방문하세요: https://explorer.zenith.network/

테스트 환경
내부 테스트 환경은 Canton과 Zenith 간의 트랜잭션 흐름에 대한 엔드투엔드 구현을 포함하고 Zenith EVM이 배포된 로컬 멀티노드 Canton 테스트 네트워크입니다.
해당 네트워크는 다음으로 구성됩니다:
- 메시지 전달을 촉진하고, 트랜잭션 순서를 정하며(시퀀서로서), 합의와 최종성을 확인하는(미디에이터로서) 동기화 장치.
- 참고: 시퀀서와 미디에이터는 Canton 동기화 노드가 수행하는 '역할' 또는 '기능'입니다.
- 외부 호출 및 EVM 이벤트를 포함한 모든 트랜잭션을 엔드투엔드로 재실행하는 두 개의 Canton 참여자 노드(Validator 1 및 Validator 2).
- 외부 호출을 재실행하지 않고 트랜잭션을 검증하는 Canton 옵저버.
- EVM 노드, 릴레이어, 그리고 외부 호출 서버(ECS)는 두 Canton 참여 노드에 의해 운영됩니다.
외부 호출 및 EVM 실행
앞서 언급한 바와 같이, 모든 EVM 트랜잭션은 Canton을 통해 라우팅되어 네이티브 Canton 트랜잭션으로 래핑됩니다. 따라서 Canton에서 Zenith EVM 컨트랙트를 호스팅하는 Canton 참여자들은 Canton과 Zenith EVM 전반에 걸쳐 트랜잭션을 실행하기 위해 EVM 노드, 릴레이어, 그리고 외부 호출 서버(ECS)도 함께 운영합니다.
작성 시점 기준으로, 현재 테스트 네트워크 인스턴스를 통해 100K건 이상의 EVM 트랜잭션을 성공적으로 처리하였으며, 일반적인 지연 시간은 400ms에서 1.5초 사이를 오가고 있습니다. (참고: EVM 실행 시간 최적화에는 별도의 시간을 투자하지 않았습니다.)

Canton과 Zenith 전반에 걸친 트랜잭션 라이프사이클
예시로 이 트랜잭션을 살펴보겠습니다:
- Canton 업데이트 ID: 1220fd2553b5b39d2154f79d05fc058c906672e285bba0adcbc68d3b2d1a8ee967ba
- EVM tx 해시: 0x96b71ed28b7d593c5d78dfc76fef0dae2a35dc39284908ec7cb8c2fb52bb5f2f

이 트랜잭션은 EVM 측에서 직접 시작되며 Canton의 합의를 통해 처리됩니다. 트랜잭션 흐름은 다음과 같습니다:
- EVM 노드는 수신되는 트랜잭션을 수신 대기합니다.
- 릴레이어는 래핑된 EVM 페이로드를 Canton에서 시퀀싱하는 동기화기에 제출합니다.
- Validator 1(Zenith EVM 컨트랙트를 호스팅하는 Canton 참여자 중 하나)
- Canton 트랜잭션을 수신하고,
- ECS를 통해 external_call()을 시작하며,
- EVM 노드에서 EVM 트랜잭션을 네이티브로 실행하고,
- 결과(tx 해시 및 메타데이터 포함)를 트랜잭션 뷰에 포함시키고 사이드 이펙트를 Canton 노드에 전달합니다.
- Validator 2 (테스트 네트워크에서 Zenith EVM 컨트랙트를 호스팅하는 다른 Canton 참여자)는 Validator 1과 동일한 단계에 따라 트랜잭션을 재실행합니다.
- The Observer 는 다른 참여자들이 게시한 EVM 결과를 사용하여 트랜잭션을 검증합니다.
- 동기화 장치(중재자 역할)는 모든 서명을 확인하고 최종성을 확정합니다.
- 새로운 상태 루트가 업데이트되고 EVM 블록이 게시됩니다.

EVM 이벤트는 네이티브 Canton 트랜잭션의 작업 트리 내에서 원자적으로 실행되었으며, 종단 간 처리 시간은 650밀리초였습니다.

Canton에서 시작된 EVM 트랜잭션
위의 예시는 EVM을 통해 시작된 트랜잭션이 처리되기 위해 Canton을 통해 라우팅되는 흐름을 설명합니다.
반대로, Canton 사용자가 EVM 이벤트를 트리거하는 트랜잭션을 Canton에서 시작하는 경우, 흐름은 매우 유사하지만 몇 가지 중요한 차이점이 있습니다. EVM 노드를 실행하지 않는 Canton 참여자도 래핑된 EVM 페이로드를 포함한 트랜잭션을 제출할 수 있어야 하기 때문입니다. 이 경우 초기 단계는 다음과 같습니다:
- 사용자 트랜잭션을 수신한 Canton 참여자는 EVM 지원 참여자 노드 중 하나(예: Validator 1)에서 /prepare를 호출합니다.
- Validator 1은 EVM을 실행하여 트랜잭션을 생성하지만, 이를 직접 제출하는 대신 최초 참여자에게 반환하며, 최초 참여자는 이를 검토하고 서명한 후 동기화 장치에 트랜잭션을 제출합니다.
- 이 시점부터 프로세스는 이전 예시의 3단계에서 6단계로 이어집니다.
이를 통해 모든 Canton 참여자가 EVM 페이로드를 포함한 트랜잭션을 제출할 수 있으며, 진정한 원자적 상호운용성이 실현됩니다.
다음 단계는?
external_call() 프리미티브가 Canton TestNet에 배포되면, Canton의 TestNet에 Zenith EVM을 직접 배포하는 testnet을 출시할 예정입니다.
이와 병행하여, 저희는 Zenith EVM을 프로덕션 수준으로 끌어올리는 데 집중하고 있습니다. Zenith는 2026년 3분기 초에 Canton MainNet에서 정식 출시될 예정입니다.
저희는 시장과 사용 사례 전반에 걸쳐 실질적인 활용과 도입을 가속화하기 위해 기업, 개발자, 생태계 파트너들과 긴밀히 협력할 것을 약속합니다.
블록체인 솔루션을 탐색하는 기업이든, 새로운 애플리케이션을 구축하는 개발자이든, 디지털 금융의 미래를 만들어가는 Canton 생태계 기여자이든, 함께 협력하고 싶습니다.
문의하기 Zenith가 귀하의 애플리케이션을 어떻게 지원할 수 있는지 알아보세요.
소개 Zenith:
Zenith는 Canton Network를 위한 EVM 및 SVM 실행 레이어로, 온체인 실물 자본 시장 이니셔티브를 발전시킵니다.
"Zenith의 원자적으로 구성 가능한 EVM 및 계획된 SVM 실행 추가는 네트워크 유틸리티를 높일 수 있는 방식으로 Canton의 역량을 확장합니다," 라고 Digital Asset의 네트워크 전략 총괄 Eric Saraniecki가 말했습니다. "이를 통해 개발자들은 Canton 기반 인프라와 원자적으로 상호작용할 수 있는 Solidity 애플리케이션을 배포할 수 있으며, 이미 상당한 실물 거래량으로 운영 중인 기관급 레일에 검증된 금융 빌딩 블록을 제공합니다."
Zenith에 대해 더 알아보기: 웹사이트 | 문서 | GitHub | 블로그 | X (트위터) | Telegram | Discord
