엑셀라 네트워크 소개 : 보안성

완벽한 보안 시스템을 구축하는 것은 매우 어렵지만, 엄격한 모델과 엔지니어링을 통해 최악의 공격도 버틸 수 있는 시스템을 구축할 수 있습니다.

Coblin Choi
엑셀라 네트워크 한국어 블로그
7 min readMar 20, 2024

--

Introduction

보안성은 이분법적인 결과를 가지는 다차원적인 문제입니다. 시스템의 보안성을 정의하는 것은 매우 복잡한 작업이지만 엄격한 모델, 정확한 설계 및 엔지니어링 기술을 통해 더 안전한 시스템을 구축할 수 있습니다.

블록체인을 연결하는 크로스체인 상호작용에 있어 보안성은 핵심 요소입니다. 하지만 대부분의 크로스체인 인프라는 상호작용을 위해 일정 부분 보안성을 포기하는 한계가 있었고, 이 때문에 수십억 달러에 달하는 자금 탈취 사건들이 발생했습니다. 이때 인프라가 간과하는 두 가지 핵심 속성은 다음과 같습니다.

  • 안전성 : 악의적인 사용자가 이중 지불을 유도하거나 악의적인 목적으로 거래를 실행하기 위해 시스템에서 몇 개의 노드를 손상시켜야 하는가?
  • 활성도 : 악의적인 사용자가 시스템을 중단시키기 위해 몇 개의 노드를 손상시켜야 하는가?

위 두 가지의 핵심 속성을 충족하기 위해 자체 검증자나 오라클을 활용하는 것이 가장 쉬운 방법입니다. 하지만 인터넷 보안의 30년 이상의 역사를 보면 애플리케이션 개발자는 대체로 리소스 제약으로 인해 보안성과 관련된 결정을 쉽사리 내릴 수 없다는 것이 현실입니다.

보안에 있어 “다다익선”은 잘못된 생각입니다. 많은 기능은 복잡성을 야기하기 때문에 보안성에 있어서 만큼은 기능이 단순할수록 안전합니다. 한편, 애플리케이션 개발자들은 인터넷 보안을 단순히 ‘https’ 프로토콜을 사용하면 안전하다고 생각하고 있습니다.

그렇다면 어떻게 안전한 웹3 보안성을 달성할 할 수 있을까요?

1단계 : 탈중앙화

대부분의 비잔틴 시스템에서는 활성 상태가 깨지면 시스템 작동 자체가 중단되지만, 악의적인 공격자가 보안성을 깨뜨리고자 한다면 더 많은 리소스가 필요합니다. 예를 들어, 블록체인은 검증자들이 합심하여 오퍼레이팅을 중지한다면 블록생성이 중단될 수 있습니다. 하지만 특정 주체가 블록체인의 보안성을 해치고자 한다면 검증인 노드의 취약점을 찾아 비밀 키를 추출하지 않는 이상 불가능 합니다.

따라서 시스템의 안전성은 소프트웨어 배포의 다양화를 통해 실현할 수 있습니다. 한 검증자는 우분투(Ubuntu)에서, 다른 검증인은 데비안(Debian)에서, 일부는 클라우드 시스템에서, 또 일부는 자체 서버실(가장 바람직한 방법)을 활용하여 노드를 가동한다면 안전성을 실현할 수 있습니다.

이처럼 탈중앙화는 블록체인 간 상호작용을 실현하는 데 필요한 강력한 안전성과 활성도를 충족할 수 있는 중요한 포인트입니다. 이러한 이유를 바탕으로 엑셀라 네트워크는 75개의 검증인을 비탕으로 지분 증명 합의를 사용하는 블록체인을 기반으로 구축된 이유입니다. 누구나 참여할 수 있고, 누구나 네트워크의 보안에 기여할 수 있습니다.

2단계 : 이차 투표(Quadratic Voting)

기술적으로 탈중앙화 된 시스템을 구축했다면, 시간이 지남에 따라 분산화를 계속 유지하고 중앙화를 방지하는 메커니즘을 형성해야 합니다. 노드 운영을 잘하는 검증인은 커뮤니티로부터 더 많은 지분을 위임받고, 블록체인에서 더 많은 지분을 보유하게 되는 경향이 있습니다.

일반적인 지분증명 시스템은 검증인의 투표 가중치를 직접 보유한 지분과 위임받은 지분을 합산하는 방식을 사용합니다. 하지만 이러한 방식은 자칫 중앙화된 슈퍼 검증인을 형성할 수 있습니다.

비탈릭 부테린을 포함하여 많은 사람들이 해당 문제를 해결하기 위한 방법을 제시했으나, 현재까지 실제로 해결책을 구현한 사례는 없습니다. 엑셀라 네트워크는 이러한 문제를 해결하기 위해 새로운 패러다임을 열어가고 있습니다.

이중 키(dual-Key) 접근 방식은은 기본적인 지분 증명 시스템처럼 지분에 따라 가중치를 부여하고, 다른 하나는 각 검증인 당 한 표를 가지고 상위 검증인을 선택할 수 있도록 구성했습니다. 그러나 이러한 방식의 문제점은 검증인 규모가 확장되기 시작하면 나타납니다. 예를 들어, 상위 100의 검증자가 선택되고, 목록 하단의 각 검증자가 지분의 0.1%를 가지고 있다면, 악의적인 공격자는 오직 1.1%의 지분만으로 10표(모든 표의 10%를 대표)를 모을 수 있습니다.

이차 투표(Quadratic Voting) 방식은 특정 검증자가 더 많은 표를 모으는 것을 어렵게 만들어 중앙화를 억제할 수 있습니다. 요약하자면, 각 검증인이 가지는 투표 수는 지분의 제곱근이 됩니다. 이를 통해 지분을 축적할수록 투표권을 늘려가는 것이 더욱 어려워집니다.

엑셀라는 Maeve 업그레이드를 통해 크로스체인 상호작용을 검증하고 처리하기 위해 이차 투표를 구현했고, 기본 합의는 블록 생성 및 보상을 위한 기본적인 PoS 스테이킹 모델 [1 토큰, 1 투표]을 따릅니다.

3단계 : 보안 강화

코스모스 생태계에는 한 네트워크가 다른 네트워크의 보안을 빌릴 수 있는 ICS(Interchain Security)라는 기능이 존재합니다. 이를 통해 블록체인을 보호하는 지분을 늘려 악의적인 사용자의 공격을 훨씬 더 어렵게 만들 수 있습니다.

4단계 : 안전장치

아무리 잘 설계된 시스템이라도 무적은 아닙니다. 시스템은 악의적이든 우발적이든 오류에 대응하는 방법을 알고 있어야 합니다. 엑셀라 네트워크는 여러 가지 추가적인 안전 조치를 고려한 상황에서 설계되었습니다.

전송 속도 제한

엑셀라 네트워크는 임의의 메시지 전달을 지원하지만, 특정 주요 자산(USDC, ETH 등)은 네트워크에서 ‘라우팅’ 자산으로 구현되어 애플리케이션이 하나의 기능에서 메세지와 함께 토큰을 전송하고, 엑셀라 게이트웨이를 통해 락업하고 발행됩니다. 이때 게이트웨이에 속도 제한 기능이 있어서 시간을 기준으로 전송할 수 있는 자산의 상한선을 설정할 수 있습니다. 이를 통해 악의적인 공격을 받더라도, 상한선에 따라 피해 규모를 줄일 수 있게 됩니다.

네트워크 키 순환

엑셀라 네트워크의 검증인은 블록체인과 유사한 방식으로 크로스체인 트랜잭션을 처리할 수 있는 네트워크 키를 활용합니다. 검증인은 네트워크 키를 안전하게 보호하기 위해, 주기적으로 키를 교체해야 합니다. 키 순환을 통해악의적인 공격자로부터 네트워크를 보호합니다.

감사(Audlts)

엑셀라네트워크 코드는 지속적이고 엄격한 감사를 거칩니다.
: https://github. com/axelarnetwork/audits

엑셀라 네트워크와 스마트 컨트랙트는 모두 오픈 소스 형태로 공개되어 있습니다. 또한 화이트 해커의 의견과 수정을 장려하고 활발한 버그 바운티 프로그램을 통해 안전성을 강화하고 있습니다.

5단계: 애플리케이션 수준 보안 추가 기능

엑셀라 네트워크는 핵심적인 안전성 및 활성도를 바탕으로 튜링 완전성 일반 메시지 전달을 지원합니다. 이 기능을 통해 애플리케이션 개발자는 자신만의 맞춤형 크로스체인 보안 정책을 구축할 수 있습니다. 예를 들어, DeFi 애플리케이션은 자금의 규모, 반복 트랜잭션, 대규모 이체 등에 대해서 추가적인 안전장치를 설정할 수 있습니다. 이러한 애플리케이션별 기능은 네트워크 요구사항과 함께 작동하여 더욱 강력한 보안을 보장합니다.

엑셀라 네트워크

엑셀라 네트워크는(Axelar Netwrok)는 텐더민트 기반의 앱체인으로, 독보적인 인터체인 기술을 통해 60개 이상의 블록체인이 통합된 인터체인 생태계를 꾸려가고 있습니다. 엑셀라 네트워크를 통해 유저는 쉽고, 안전하게 블록체인 간 이동을 경험할 수 있습니다.

홈페이지 | 디스코드 | X(트위터) | 텔레그램 커뮤니티 | 개발자 문서

--

--