ZetaChain의 목표는 모든 블록체인에서 쉽게 접근하고 간편하게 활용할 수 있는 플랫폼을 제공하는 것입니다. 오늘은 Universal Apps의 개발 경험을 크게 향상시키는 Gateway와 Localnet을 소개하게 되어 기쁩니다. 이 기능들은 ZetaChain의 EVM에서 단일 스마트 계약을 통해 다른 블록체인과 원활하게 연결할 수 있도록 해줍니다. Gateway는 ZetaChain 2.0 업그레이드에서 중요한 역할을 하고 있습니다.
주요 사항
- 범용 EVM(Universal Apps)에서의 앱은 네트워크를 전환할 필요 없이 모든 연결된 체인에서 원활하게 접근할 수 있습니다. 이 앱들은 ZRC-20 토큰 표준을 사용하여 연결된 체인으로 토큰을 자유롭게 인출할 수 있습니다.
- 허브-스포크 모델을 통해 Universal Apps는 외부 자산과 데이터를 한 곳에서 간편하게 관리할 수 있습니다. 반면, 다른 체인 간의 포인트 투 포인트 메시징은 복잡하고 확장하기 어려우며 비스마트 체인(예: 비트코인)과는 연동할 수 없습니다.
- Gateway를 통한 스마트 계약 인터페이스의 개편은 외부 소유 계정(EOA)과 연결된 체인의 앱들이 Universal Apps를 효율적으로 호출하고, 토큰을 전송하며, 가스 쿼리를 통합 API를 통해 간편하게 처리할 수 있도록 합니다.
- Gateway는 복잡한 다단계 작업을 쉽게 처리할 수 있습니다. 예를 들어, 비트코인에서 ZetaChain의 Universal App으로 BTC를 전송하고, 금고에 잠그며, USDC를 발행한 후, USDC를 이더리움에서 다른 토큰으로 교환하는 등의 작업을 한 번의 클릭으로 수행할 수 있습니다.
- 새로운 localnet 환경은 거의 즉각적인 거래 완료와 피드백을 제공하여 마치 단일 체인에서 작업하는 것처럼 빠르게 계약을 배포하고 상호작용할 수 있게 해줍니다.
범용 애플리케이션(Universal Apps)
범용 애플리케이션은 ZetaChain의 EVM에서 운영되는 스마트 계약으로, 비트코인, EVM, 비EVM, 이종 L2 등 어떤 블록체인과도 본질적으로 연결되어 있습니다.
일반 계약과 달리, 범용 애플리케이션은 모든 연결된 체인에서 계약 호출, 메시지, 토큰 전송을 받을 수 있으며, 연결된 체인에서 계약 호출을 트리거하고 토큰 전송을 수행할 수 있습니다. 이러한 기능 덕분에 범용 애플리케이션은 체인 간 복잡한 다단계 거래를 조정할 수 있습니다.
예를 들어, 비트코인 사용자는 범용 애플리케이션을 통해 USDC를 이더리움의 수신자에게 보낼 수 있습니다. 이더리움 사용자는 ZetaChain에서 NFT를 구매하고 이를 BNB 체인의 자신의 계정으로 한 번의 단계로 보낼 수 있습니다.
범용 애플리케이션은 ZetaChain의 범용 EVM에 배포됩니다. 이 EVM은 EVM의 기능을 확장하여 모든 체인 간 상호 운용성을 제공합니다. 즉, 기존의 계약들이 ZetaChain에서 기본적으로 작동하며, 약간의 수정만으로 강력한 체인 간 기능을 갖출 수 있습니다.
포인트 투 포인트 메시징의 문제점
포인트 투 포인트 메시징 시스템에서는 하나의 체인에 있는 계약이 다른 블록체인에 있는 계약과 직접적으로 통신합니다. 이 방법은 블록체인 수가 적을 때는 간단하고 효과적이며, 통신 채널을 쉽게 설정할 수 있습니다.
하지만 블록체인과 계약이 많아질수록 복잡성은 기하급수적으로 증가합니다. 각 계약이 다른 모든 계약과 직접 연결을 설정하고 유지해야 하기 때문에 연결이 복잡하게 얽히게 됩니다. 이 구조는 다음과 같은 여러 문제를 일으킬 수 있습니다:
- 확장성 문제: 노드 수가 증가함에 따라 연결의 수도 제곱으로 늘어나게 됩니다. 이런 연결을 관리하는 것은 매우 번거롭고 자원을 많이 소모할 수 있습니다.
- 유지 관리와 업그레이드: 포인트 투 포인트 시스템을 업데이트하거나 유지보수하는 것이 어렵습니다. 변경 사항을 모든 연결에 동시에 적용해야 하기 때문입니다.
그럼에도 불구하고 포인트 투 포인트 시스템은 공유 상태에 대한 접근이 필요 없는 소규모 크로스체인 애플리케이션에서는 유용하게 사용되었습니다.
허브-스포크 모델과 범용 애플리케이션의 도입
ZetaChain의 허브-스포크 모델은 통신을 단일 허브를 통해 처리하며, 이 허브가 네트워크 내 모든 블록체인과 연결됩니다.
이 모델은 포인트 투 포인트 메시징을 사용해 구축한 애플리케이션과 동일한 기능을 제공하면서도, 네트워크 아키텍처를 훨씬 간단하게 만들고 여러 가지 장점을 제공합니다:
- 향상된 확장성: 허브-스포크 시스템에서는 새로운 노드를 추가할 때 허브와 단일 연결만 필요합니다. 각 노드와 직접 연결할 필요가 없으므로, 블록체인 상호 운용성을 위한 미래 지향적인 시스템을 쉽게 확장할 수 있습니다.
- 간편한 유지 관리: 업그레이드와 유지 관리가 쉬워집니다. 모든 변경 사항을 여러 블록체인에 걸쳐 있는 개별 계약이 아닌, 허브의 단일 계약에서만 적용하면 됩니다.
- 체인 추상화: 모든 통신이 중앙 허브를 통해 이뤄지기 때문에, 개발자들은 다양한 블록체인과의 복잡한 상호작용을 간단히 처리할 수 있습니다. 이를 통해 크로스체인 애플리케이션을 보다 쉽게 개발하고, 개별 연결과 프로토콜을 신경 쓸 필요 없이 다양한 블록체인과 상호작용할 수 있습니다.
- 통합 유동성: 허브-스포크 모델은 여러 블록체인에 걸쳐 유동성을 통합할 수 있습니다. 다양한 체인의 자산을 모아 교환할 수 있는 중앙 지점을 제공하며, 크로스체인 거래의 효율성과 효과성을 높이고 유동성의 단편화를 줄입니다.
ZetaChain은 이러한 장점을 활용하여 향후 1,000개의 블록체인과 더 나은 상호 운용성 솔루션을 구축하기 위해 포인트 투 포인트 메시징 시스템에서 범용 허브-스포크 모델로 전환하고 있습니다.
Gateway — ZetaChain의 통합 접근 포인트
새로운 Gateway는 Universal Apps를 완전히 새롭게 변화시켜 복잡한 다단계 작업을 간소화합니다. 이전에는 ZetaChain이 Connector 계약을 통해 연결된 체인 간의 가치와 데이터 전송을 포인트 투 포인트 메시징 방식으로 처리했습니다. Universal Apps는 EOA(외부 소유 계정)와 계약이 ZetaChain과 상호작용할 수 있도록, 네이티브 가스 토큰을 TSS 주소로 보내고 ERC-20 토큰을 보관 계약으로 보내 ZRC-20 토큰으로 변환했습니다. 그러나 이 방식은 일관성이 부족하고 유연성이 떨어져 프로토콜 개선에 어려움을 겪었습니다.
이제는 모든 Universal Apps와의 상호작용이 Gateway를 통해 이루어집니다. Gateway는 연결된 체인에 배포된 스마트 계약으로, 개발자들이 Universal Apps를 호출하고, 토큰을 전송하며, 가스 정보를 쿼리할 수 있는 API를 제공합니다.
Gateway의 주요 함수에 대한 설명은 원문을 확인해보세요.
연결된 체인에서 계약 호출하기
ZetaChain은 처음부터 연결된 체인에서 전송된 토큰을 추상화하는 강력한 메커니즘인 ZRC-20 토큰 표준을 제공해 왔습니다. ZRC-20은 통합된 유동성을 가능하게 합니다. ZRC-20의 주요 기능은 토큰을 연결된 체인으로 권한 없이 인출하여 원주 자산으로 사용하는 것입니다.
이제 "call"과 "withdrawAndCall" 메서드가 추가되어 Universal Apps의 기능이 확장되었습니다. 이를 통해 ZRC-20 자산을 인출할 뿐만 아니라, 연결된 체인의 계약을 호출할 수 있게 되었습니다.
예를 들어, 비트코인에서 ZetaChain의 Universal App으로 BTC를 전송하여 이를 금고에 잠그고, USDC를 발행한 후, USDC를 이더리움에서 다른 토큰으로 교환하는 복잡한 다단계 작업이 이제 가능합니다.
연결된 네트워크 체인
ZetaChain은 연결성을 지속적으로 확장하고 있습니다:
- Polygon: 현재 테스트넷에서 사용 가능하며, 곧 ZetaChain Mainnet Beta에서도 만나볼 수 있을 예정입니다.
- Solana: 통합 작업이 진행 중이며, 현재 개념 증명 단계에 있습니다. 가까운 시일 내에 테스트넷에서 도입할 계획입니다.
로컬 개발 환경 소개
ZetaChain은 Universal Apps 개발을 위해 다양한 도구를 기본 제공하며, 새로운 개발 환경을 통해 로컬 네트워크를 생성하고 계약을 배포하며 상호작용할 수 있습니다. 이를 통해 모든 작업을 단일 체인에서 실행하는 것처럼 거의 실시간으로 결과를 확인할 수 있습니다. 체인 업그레이드를 기다릴 필요 없이 즉시 테스트할 수 있어 개발과 테스트가 훨씬 더 쉬워집니다.