
고속 애플리케이션을 핵심으로 한 TON 기술 로직, 이 글로 완벽히 이해하기
작성자: 북경대 블록체인 협회 Kiwi
TON은 고속 애플리케이션을 핵심으로 하는 기술 구조를 보유하고 있다. TON은 Telegram에서 탄생하였으며, 거래가 메시지를 통해 직접 체인에 올라가며, P2P를 지원한다.
-
비동기 메시지 전달: FunC를 함수 개발 언어로 선택함에 따라, TON 내 각 노드는 '메시지(message)'를 통해 통신하지만, TON은 비동기 체인이므로 체인 간 메시지 동기를 맞추기 위해 논리적 시간(Lamport time, lt) 개념을 도입하였다. 메시지의 lt가 엄격한 순서대로 실행되도록 하여 정보의 정확한 처리를 보장한다.
-
초입방체(hypercube) 메시지 라우팅 메커니즘: TON은 일반 라우팅과 고속 라우팅을 병행 사용한다. 일반 라우팅은 입방체 구조를 통해 인접 노드를 경유하여 샤드 간 메시지를 전달하며, 고속 라우팅은 초입방체의 모서리를 따라 Merkle 증명을 함께 전달함으로써 메시지를 중계하여 속도를 향상시킨다.
-
PoS+BFT 합의는 생태계 발전에 유리하다: PoS는 블록 생성 과정에서의 계산 낭비를 피할 수 있어 효율이 높고 비용이 낮으며 네트워크 성능이 우수하여 DApp의 실용화에 적합하다. 또한 DPoS가 더 빠르긴 하지만 신뢰 형성 속도와 확정성 측면에서 BFT 시스템보다 느리기 때문에 TON은 BFT를 선택하였다.
TON의 동적 다중 샤딩 아키텍처는 애플리케이션의 확장성(Scalability)을 용이하게 한다: TON은 병렬 조회로 속도를 높이고, 동적 샤딩으로 조회 정확도를 향상시키며, 'bag of cells'를 통해 확장성을 강화한다.
-
동적 다중 샤딩 아키텍처: TON은 세 계층으로 구성되어 있으며, 단일 마스터체인(masterchain) + 다수의 워크체인(workchain) + 동적으로 증감 및 분할 가능한 샤드체인(shardchain)으로 이루어져 있다. 각 샤드체인은 다양한 계정 체인(account chain)의 집합이며, DApp은 특정 샤드체인을 자율적으로 활성화할 수 있다.
-
빠르게 업데이트 가능한 전역 상태: DAG와 유사한 'bag of cells' 구조를 활용하여 전역 상태를 업데이트하며, 새로운 cell 그룹과 이전 cell 그룹을 연결한 후 이전 root를 삭제함으로써 신속히 업데이트한다. 또한 수직 블록(vertical block)을 이용해 블록을 수정 및 업데이트한다.
TON은 향후에도 기술 프레임워크를 계속 최적화할 예정이다: 병렬 확장, 샤드 분할 도구 출시, 노드 검사 강화 등을 통해 TON의 속도 및 확장성 장점을 지속적으로 발전시킬 것이다.
블록체인 확장성 문제
블록체인 확장성은 중요한 기술 난제로서 블록체인 기술 발전의 핵심 요소 중 하나이다: 블록체인 애플리케이션의 지속적인 성장과 사용자 수 증가에 따라 기존 블록체인 네트워크는 처리량 부족과 거래 확인 지연이라는 문제에 직면하고 있다. 전통적인 블록체인 설계는 대규모 거래 및 사용자 수요 처리 능력을 제한하여 네트워크 혼잡, 높은 거래 수수료, 낮은 효율성 등의 상황을 초래한다.
블록체인 확장성의 어려움은 주로 분산 아키텍처와 합의 메커니즘에서 기인한다: 먼저 블록체인의 합의 메커니즘과 분산 특성으로 인해 네트워크 내 모든 노드가 모든 거래를 검증하고 기록해야 하므로 처리량이 제한된다. 또한 블록체인의 보안성과 탈중앙화 특성은 모든 노드가 완전한 블록체인 사본을 유지해야 하므로 저장 및 전송 부담이 증가한다.
블록체인 확장성 문제를 해결하기 위해 연구자들은 다양한 확장성 방안을 제안했다: 샤딩(Sharding), 사이드체인(Sidechains), 2단계 솔루션(Layer 2 solutions) 등이 있으며, 이들 방식은 네트워크를 여러 작은 부분으로 나누거나 독립된 블록체인을 도입하거나 메인체인 위에 추가 구조를 구축함으로써 네트워크 처리량과 성능을 향상시키려 한다. 그러나 이러한 방안들은 샤드 간 통신, 크로스체인 자산 이전, 합의 메커니즘 설계 등의 새로운 기술적 도전과 보안 문제를 동반한다.
-
샤딩: 전체 블록체인 네트워크를 여러 개의 작은 조각(샤드)으로 나누는 기본 아이디어이다. 각 샤드는 일부 거래와 데이터를 독립적으로 처리할 수 있다. 거래와 데이터를 서로 다른 샤드에 분산함으로써 샤딩 메커니즘은 전체 네트워크의 처리량과 성능을 향상시킬 수 있다. 그러나 여전히 샤드 간 통신과 크로스샤드 거래의 보안성 및 일관성 문제가 존재하며, 또한 전체 네트워크의 일관성과 보안을 보장하기 위한 합의 메커니즘의 설계 및 구현도 필요하다.
-
사이드체인: 사이드체인 기술은 메인체인(주 블록체인)과 연결되면서 독립적으로 작동하는 별도의 블록체인을 생성·운영하는 방법이다. 사이드체인은 메인체인과 양방향 자산 이전이 가능하며 자체 규칙과 기능을 가질 수 있다. 사이드체인 기술의 기본 원리는 일부 거래를 메인체인에서 사이드체인으로 이전 처리함으로써 메인체인의 부담을 줄이고 확장성과 유연성을 제공하는 것이다. 그러나 사이드체인은 메인체인과 양방향 자산 이전을 해야 하므로 자산의 안전성과 일관성을 보장하기 위한 보안 메커니즘과 프로토콜이 필요하며, 사이드체인의 설계 및 구현은 메인체인과의 호환성 및 상호 운용성도 고려해야 한다.
-
롤업(Rollup): 기본 원리는 많은 거래 데이터를 오프체인의 사이드체인에 저장한 후, 해당 거래들의 요약 정보를 메인체인에 제출하여 검증받는 것이다. 이 기술의 장점은 블록체인 네트워크의 확장성과 성능을 크게 향상시킬 수 있다는 점으로, 거래 데이터를 사이드체인에 저장하고 메인체인으로 검증을 수행함으로써 메인체인의 저장 및 계산 부담을 크게 줄일 수 있다. 그러나 중심화 및 보안성 우려도 존재한다.
-
새로운 합의 메커니즘: 예를 들어 Solana의 POH는 각 거래에 타임스탬프를 연동하여 검증 가능한 시간 순서를 블록체인에 제공한다. 이 시간 순서를 통해 거래의 순서와 시간을 검증함으로써 합의 과정의 통신 비용과 지연을 줄일 수 있다. Solana는 TPS가 65,000에 달한다고 주장하지만 실제로 대부분의 TPS는 노드 간 통신량이며 실제 데이터 처리 한계는 6-8k 정도이다(평소 4-5k).
TON 블록체인은 Telegram에서 유래하였으며, 초기 설립 목표는 다수의 사용자를 서비스하는 것이었다: Telegram은 세계에서 가장 인기 있는 소셜 플랫폼 중 하나로, 월간 활성 사용자가 8억 명 이상이며 매일 수백억 건의 메시지가 소프트웨어 내에서 전송된다. TON은 Telegram의 Web3 전환 플랫폼으로서, 설계 철학 자체가 소수 사용자를 넘어서 수십억 명의 사용자를 서비스하기 위해 처음부터 설계되었다.
TON의 기술 아키텍처
자기 적응형 무한 샤딩 멀티체인 설계
TON의 샤딩은 하향식이 아니라 상향식이다: 일반적인 블록체인 샤딩 방식은 상향식 접근을 취한다. 즉, 먼저 단일 블록체인을 만들고 이를 여러 개의 상호작용하는 블록체인으로 분할하여 성능을 향상시킨다. 반면 TON의 샤딩 방식은 하향식 접근을 사용한다. 즉, 계정 체인들을 샤드체인(shardchain)으로 구성하여, 계정 체인(workchain)이 샤드체인 내에서 순전히 가상 또는 논리적인 형태로 존재하도록 한다. TON은 다수의 체인이 거래를 병렬 처리하는 'blockchain of blockchains'라고 불린다. 이를 통해 시스템 성능을 효과적으로 향상시킬 수 있다.
TON은 동적 샤딩 아키텍처를 갖추고 있다: 마스터체인(masterchain), 워크체인(workchain), 샤드체인(shardchain)으로 나뉜다. 마스터체인은 조정을 담당하고, 각 워크체인과 샤드체인이 실제 거래 처리를 수행한다. 또한 TON의 샤딩은 동적이며, 각 계정은 하나의 샤드체인으로 존재하다가 계정 간 상호작용에 따라 자동으로 더 큰 샤드체인으로 결합하여 동적 확장을 처리할 수 있다.
-
마스터체인: 오직 하나만 존재하며, 프로토콜 파라미터, 검증자(Validators) 집합 및 해당 지분, 현재 운영 중인 워크체인 및 하위 샤드체인을 기록한다. 하위 체인은 최신 블록 해시를 마스터체인에 제출하여 크로스체인 메시지 읽기 시 최신 상태를 확인할 수 있도록 한다.
-
만약 샤딩이 극한에 도달하면, 마지막에는 각 샤드체인이 단 하나의 계정이나 스마트 컨트랙트만 저장하게 된다. 이로 인해 수많은 '계정 체인(account-chains)'이 생기는데, 이는 각각의 계정 상태와 상태 전이를 설명하며 서로 정보를 전달한다. 즉, 샤드체인들이 워크체인을 구성하게 된다.
-
워크체인: 샤드체인들의 집합으로 존재하는 가상의 개념이며, 시스템은 최대 2^32개의 워크체인을 수용할 수 있다. 각 워크체인은 상호 운용성 표준을 만족하는 전제 하에 거래 유형, 토큰 유형, 스마트 컨트랙트, 주소 형식 등 규칙을 유연하게 정의할 수 있다. 그러나 모든 워크체인은 동일한 메시지 큐 형식을 가져야 하며, 메시지 교환이 원활하도록 하고, 이는 모든 워크체인이 거의 동등한 수준의 보안을 제공해야 함을 의미한다.
-
샤드체인: 처리 효율을 높이기 위해 부하가 높아지면 자동으로 분할되고, 부하가 감소하면 병합되는 특성을 가지며, 각 워크체인은 최대 2^60까지 더 작은 샤드체인으로 나눌 수 있다. 샤드체인은 작업을 모든 샤드체인에 분산시키며, 각 샤드체인은 일부 계정 집합만을 서비스한다.

정보 전달 메커니즘
메시지(Message): TON은 FunC의 send_raw_message 함수를 개발 언어로 사용하므로, TON 내 각 노드 간 전달되는 것을 '메시지(message)'라고 부른다. TON에서의 거래는 최초의 인바운드 메시지와 다른 컨트랙트로 보내진 아웃바운드 메시지 그룹으로 구성된다.
하이퍼큐브 라우팅(Hypercube Routing): 입체 구조의 정보 전달 메커니즘으로, 한 샤드체인 블록 내에서 생성된 메시지가 목적지 샤드체인의 다음 블록에서 신속하게 전달 및 처리될 수 있도록 한다.
비동기 메시지 전달
비동기 호출은 동기화 문제를 수반한다: 동기식 블록체인에서는 하나의 거래가 여러 스마트 컨트랙트 호출을 포함할 수 있다. 반면 비동기 시스템에서는 사용자가 동일 거래 내에서 대상 스마트 컨트랙트의 응답을 즉시 받을 수 없는데, 컨트랙트 호출은 몇 개의 블록 시간이 걸릴 수 있으며, 소스 블록과 목적지 블록 간의 라우팅 길이가 이 과정에 영향을 미치기 때문이다.
무한 샤딩을 실현하기 위해서는 메시지의 완전한 병렬화를 보장해야 하며, 이로부터 논리적 시간 개념이 도출된다: TON에서 각 거래는 단일 스마트 컨트랙트에서만 실행되며, 메시지를 통해 컨트랙트 간 통신을 수행한다. 따라서 비동기 체인에서 사용되는 논리적 시간 개념, 즉 람포트 시간(Lamport Time, 이후 lt라 약칭)이 등장하게 되며, 이는 체인 간 메시지 동기화를 위해 사용된다. 모든 메시지는 자신의 논리적 시간(lt)을 가지며, 이는 사건 간 관계를 추적하고 검증자가 우선 처리해야 할 사건을 결정하는 데 사용된다.
메시지의 lt는 엄격한 순서에 따라 실행되어 작업 로직을 보장한다: 한 계정에서 보내는 메시지와 한 계정에서 발생하는 거래는 엄격히 정렬되며, 생성된 거래의 lt는 메시지의 lt보다 크다. 또한 어떤 거래 내에서 보내는 메시지의 lt는 그 메시지를 유발한 거래의 lt보다 반드시 크다. 또한 여러 메시지가 존재할 경우, lt가 더 낮은 메시지를 먼저 처리한다.
메시지 초입방체 라우팅 메커니즘
TON은 고속 라우팅과 저속 라우팅을 병행하여 운영한다:
저속 라우팅: 더 안정적이며 전통적인 크로스체인 정보 처리 방식으로, 정보는 소스 체인에서 블록에 패키징된 후, 리레이어(relayer)를 통해 한 샤드체인에서 다른 샤드체인으로 전달되며, 여러 중간 샤드체인을 경유할 수도 있다. 모든 샤드체인이 '하이퍼큐브(hypercube)' 형태의 그래프를 구성하고, 메시지는 이 초입방체의 모서리를 따라 전파된다. 검증자의 검증을 거친 후 다른 블록에 패키징된다.
저속 라우팅의 장점은 더 높은 보안성과 탈중앙화 수준이다. 모든 정보가 완전한 블록 확인 과정을 거쳐야 하기 때문이다. N 크기의 샤드체인 하이퍼큐브 네트워크에서 필요한 라우팅 경로 수는 hop = log₁₆(N)이다. 따라서 단 4개의 라우팅 노드만으로도 백만 개급 샤드체인을 지원할 수 있다.
고속 라우팅: 저속 라우팅에서 메시지는 하이퍼큐브의 모서리를 따라 전파되지만, 속도 향상을 위해 고속 라우팅은 목적지 샤드체인의 검증자가 메시지를 미리 처리한 후 Merkle 증명을 제공하고, 수신 확인(receipt)을 보내 전송 중인 메시지를 폐기할 수 있도록 한다.
고속 라우팅은 더 빠르며(노드가 최적 경로를 찾을 수 있음), 중복 전송을 방지할 수 있지만, 검증자가 receipt를 잃어버려도 처벌받지 않기 때문에 일정한 보안 위험이 존재하므로 저속 라우팅을 완전히 대체할 수 없다.
샤드체인의 전역 상태
'bag of cells': DAG와 유사한 형식으로 업데이트되는 cell들의 집합. 새로운 상태를 자체 root를 가진 또 다른 'bag of cells'로 표현한 후, 새 bag과 이전 bag을 연결하고 이전 root를 삭제함으로써 상태를 업데이트한다.
수직 블록 수정(vertical block repair): TON 샤드체인의 각 블록은 실제로 단일 블록이 아니라 일련의 체인으로 구성되어 있다. 잘못된 샤드체인 블록을 수정할 필요가 있을 때, 새로운 블록이 '수직 블록체인'에 제출되어 기존 블록을 대체한다.
합의 메커니즘
PoS 네트워크에는 3가지 역할이 존재한다:
-
검증 노드: 하드웨어 조건을 충족하고 300,000 TON을 스테이킹하면 네트워크 보안 유지에 참여할 수 있다.
-
모든 블록은 선정된 100~1,000개의 노드에 의해 생성되며, 노드는 매월 선출되며, 선거 시 스테이킹한 TON 코인을 예치해야 한다. 임기 동안 선정된 노드는 여러 작업 그룹으로 나뉘어 새 블록을 생성하며, 각 새 블록은 작업 그룹 내 2/3 이상의 스테이킹 노드로부터 서명을 받아야 생성 성공으로 간주된다. 악의 행위 시에는 슬래시(slash) 및 자격 박탈 조치가 적용된다.
-
피셔맨(Fisherman): 유효하지 않은 증명을 제출하여 검증 노드가 검증 작업을 성실히 수행했는지 감시하는 역할을 하며, 감독자라고 볼 수 있다.
-
교정인(Curator): 검증자에게 새로운 샤드체인 후보 블록을 제안하며, 블록이 채택되면 보상을 받는다. 해당 샤드체인의 상태와 인접 샤드체인의 데이터를 검증한 후 검증 노드에 전달하는 책임을 진다.
BFT: TON은 검토 결과 DPoS가 더 빠르지만, 신뢰 수준과 속도 면에서 BFT 시스템보다 느리다는 판단 하에 결국 BFT(Byzantine Fault Tolerance)를 선택하였다.
TON의 새로운 프레임워크는 Telegram의 고속 정보 전달을 뒷받침할 수 있다
TON은 동적 다중 샤딩 아키텍처를 통해 높은 거래 속도와 확정성(finality)을 실현한다: TON은 각 사용자 지갑마다 별도의 체인을 생성할 수 있으며, 샤딩의 병렬 계산, 즉각적인 크로스샤드 통신 지원, TVM의 비동기 계산 지원이 높은 TPS의 이론적 기반을 구성한다.
TON은 정보 전달 메커니즘을 통해 더 높은 확장성을 제공한다: TON 블록체인에서 스마트 컨트랙트 간 호출은 원자적(atomically)이 아니라 비동기적으로 이루어진다. 즉, 한 스마트 컨트랙트가 다른 스마트 컨트랙트를 호출할 때 즉시 실행되지 않고, 거래 종료 후 미래의 어느 블록에서 처리된다. 이 설계는 모든 거래 처리를 하나의 블록 안에서 완료할 필요가 없으므로 더 높은 확장성을 가능하게 한다.
TON은 앞으로도 기술 프레임워크를 계속 최적화할 것이다...
TON 로드맵의 기술 부분은 TON의 속도 및 확장성 장점을 지속적으로 추진할 것이다.
-
정렬기(Orderer)와 검증자(Validator)의 분리;
-
확장성과 속도 향상: TON이 대량의 트랜잭션을 처리할 때 병렬 확장을 실현;
-
체인 샤딩 가이드 및 도구: 거래소, 결제 시스템, TON 서비스 내에서 고부하 TON 작업을 조직하기 위한 가이드 및 코드 예제 제공;
-
검증자 노드 간 조정성 강화: 성능이 낮은 검증자의 탐지 및 처벌을 강화하고 개선.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














