1백만 TPS의 비밀: TON이란 무엇이고 어떻게 작동하나요?
The Open Network(TON)은 2020년부터 오픈소스 커뮤니티 프로젝트로 운영되고 있어요. TON이 무엇인지, 누가 개발하고 있는지, 그리고 TON이 어떤 기능을 제공하는지 알아볼게요.
간단한 역사
The Open Network는 원래 텔레그램 팀이 개발해 Telegram Open Network로 알려졌어요. 현재 텔레그램은 TON과 완전히 별개의 존재로, TON 위에서 활동하는 많은 개발자 중 하나일 뿐이에요. TON은 블록체인 기반 네트워크로, 지분증명(Proof-of-Stake) 알고리즘을 사용해요. 이전 버전의 Telegram Open Network에서는 자체 토큰인 Gram을 출시할 계획이었어요.
당시 회사의 계획에 따르면 TON은 탈중앙화 애플리케이션(DApp)을 위한 플랫폼이 될 예정이었고, 아키텍처는 이더리움보다 뛰어난 확장성을 지원하도록 설계됐어요. 또 하나 중요한 점은, TON 네트워크와 토큰을 당시 약 2억 명의 사용자를 보유한 텔레그램 메신저와 통합하는 것이었어요.
2018년, 팀은 ICO(암호화폐 공개 모집) 참여 신청을 열었고, 1차 라운드에서만 약 30억 달러(USD)에 달하는 투자를 유치했어요. 다음 해에는 TON 테스트넷이 성공적으로 가동됐고, 네트워크 탐색기와 전체 노드 코드가 공개됐어요. 메인넷 출시는 2019년 11월까지로 예정됐지만, 미국 증권거래위원회(SEC)의 개입으로 계획이 틀어졌어요.
미국 투자자가 프로젝트에 참여하면서 ICO가 미국 법률의 적용을 받게 됐고, SEC는 토큰 판매 과정에서 위반 사항을 발견했어요. SEC는 Gram 토큰이 불법적으로 판매됐다고 판단해 배포 금지 명령을 내렸고, 이로 인해 TON의 출시는 무산됐어요. 텔레그램 창립자인 파벨 두로프는 프로젝트 취소를 발표하며 법적 대응을 포기했어요. 2020년 5월, 텔레그램의 프로젝트 참여가 불확실해지자 다른 프로젝트들이 TON 기술 개발에 나섰고, 텔레그램은 ton.org 도메인과 GitHub 저장소를 The Open Network 커뮤니티에 이관했어요.
현재는 어떨까요?
TON 개발자들은 안전하고 효율적이며 확장성 높은 블록체인 생태계를 만들고, 이를 통해 탈중앙화 애플리케이션과 스마트 컨트랙트가 사용자에게 최대한 편리하게 제공되도록 목표를 세웠어요.
TON은 레이어 1 지분증명 블록체인을 기반으로 하지만, 단순한 블록체인 그 이상이에요. 다양한 구성 요소를 포함하고 있죠:
- TON P2P Network: 중앙 노드 없이 모든 노드가 동등한 피어 투 피어 네트워크로, 네트워크 자원을 모두가 공유해요.
- Ton Storage: 블록의 스냅샷과 아카이브 사본을 저장해요.
- Ton Proxy: 네트워크에 익명으로 접근할 수 있게 해줘요.
- 분산 해시 테이블: TON Storage(특정 파일을 가진 노드 검색), TON Proxy, 기타 서비스에서 사용돼요.
- 자체 사용자 인터페이스를 갖춘 서비스 플랫폼
- TON DNS: 일반 DNS처럼 스마트 컨트랙트, 노드, 서비스 등에 사람이 읽을 수 있는 이름을 부여해요.
- TON Payments: 마이크로 결제 플랫폼
이 모든 기능은 최종 사용자가 TON을 최대한 쉽게 사용할 수 있도록 돕기 위해 마련됐어요. 7억 명이 넘는 사용자를 가진 텔레그램과 TON 생태계 프로젝트가 통합되면, 이러한 접근성은 더욱 중요해져요. 프로젝트가 성장하고 텔레그램 내 통합 TON 사용이 늘어나면, 트랜잭션 수가 크게 증가할 것으로 예상돼요. 새로운 서비스가 등장하면 네트워크 부하도 커질 거예요.
여기서 TON 개발진은 네트워크가 초당 100만 건 이상의 트랜잭션을 처리할 수 있다고 밝혀 주목받았어요. 어떻게 이런 일이 가능할까요? TON은 이를 위해 여러 독특한 기술을 적용했어요.
1백만 TPS에 도달하는 방법
Not just one blockchain
TON의 핵심은 단일 블록체인이 아니라, 마스터체인과 여러 워크체인(workchain)으로 구성된 구조예요. 각 워크체인은 다시 샤드(shard)로 나뉘어요.
마스터체인은 프로토콜, 검증자, 워크체인, 샤드 등 전체 정보를 저장해요. 워크체인은 트랜잭션, 스마트 컨트랙트 등 실질적인 처리를 담당해요. TON은 샤딩(sharding)을 적용해, 워크체인을 여러 샤드체인(shardchain)으로 나누고, 각 샤드는 독립적으로 트랜잭션을 처리하며 블록체인 상태의 일부를 저장해요. 이로써 네트워크가 트랜잭션을 병렬로 처리해 부하를 분산하고 혼잡을 막을 수 있어요.
Asynchronous smart contracts
처리 속도를 높이는 또 다른 기술은 비동기 스마트 컨트랙트예요. 이 방식은 컨트랙트가 실행을 기다릴 필요 없이 각자 조건을 계속 수행할 수 있게 해줘요.
일반적으로 한 컨트랙트가 다른 컨트랙트를 호출하면, 두 번째 컨트랙트가 결과를 반환할 때까지 첫 번째 컨트랙트의 실행이 멈춰요. 비동기 방식에서는 한 스마트 컨트랙트가 다른 컨트랙트의 결과를 기다리지 않고, 자신에게 주어진 나머지 조건을 계속 처리해 속도가 빨라져요.
The consensus protocol
또 한 가지 혁신은 Catchain의 독자 알고리즘으로 구동되는 빠른 합의 시스템이에요. 기존 블록체인에서는 블록이 먼저 생성되고, 그 후 네트워크 노드들이 해당 블록의 정당성을 합의해요. 이 과정에서 포크가 발생할 수 있고, 이후 올바른 체인만 남기고 나머지는 버려져요.
Catchain은 조금 다르게 작동해요. TON 네트워크에서는 합의가 먼저 이뤄진 후 블록이 생성돼요. 즉, 새로운 블록을 만들 때 특별한 검증자 그룹이 모여 별도의 네트워크 레이어(ANDL, TON 팀의 또 다른 개발)를 통해 Catchain을 실행해요. 합의 과정은 여러 라운드에 걸쳐 동시에 진행될 수 있어요.
각 라운드가 끝나면, 그룹은 제안된 후보 중 아무도 채택되지 않았을 경우 후보 블록을 결정해요. 전체 검증자의 3분의 2 이상이 "서명"하면 라운드가 종료되고, 다음 라운드로 넘어가요.
TON은 여러 "작은 블록체인"이 동시에 작동해 거의 포크가 발생하지 않아요. 블록체인은 프로세스 집합 내에서 메시지 전달에 활용되고, Catchain이 분기 가능성을 사전에 감지해 미리 차단해요.
Optimization and adaptability
TON은 네트워크 노드 간 "소통"을 최적화하기 위해 여러 방법을 사용해요. 예를 들어, 트랜잭션을 하나씩 전송하지 않고 "번들"로 묶어 집계해요. 데이터 전송량을 줄이기 위해 압축 알고리즘을 활용하며, 네트워크 상황에 따라 블록 크기나 생성 빈도 등 블록체인·샤딩 설정이 유동적으로 바뀔 수 있어요.
맺음말
이 짧은 글에서는 TON에 도입된 혁신 중 일부만 간략히 다뤘어요. TON이 선보인 흥미로운 기술을 모두 자세히 설명하려면 한 편으로는 부족할 거예요. 앞으로도 TON 관련 소식을 계속 전해드릴 테니, 기대해 주세요.