Ordering by Unanimity: Giving Applications Sequencing Rights Without Breaking Composability
이 논문은 모든 관련 당사자가 동의할 때 블록체인 애플리케이션이 선호하는 트랜잭션 순서를 강제할 수 있도록 하는 "만장일치 오버라이드(unanimity override)" 알고리즘을 소개하며, 이는 사이클을 해결하기 위해 기본 순서를 사용하고 적대적인 조작에 맞서서도 특정 트랜잭션이 의도한 대로 실행되는 것을 보장한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
블록체인을 모든 사람이 거래 내역을 기록하는 거대하고 공유된 디지털 공책이라고 상상해 보세요. 이 공책에서 **컴포저빌리티(Composability, 결합성)**는 서로 다른 앱들이 서로 대화할 수 있게 해주는 초능력입니다. 예를 들어, 한 앱에서 주식을 팔고 그 즉시 그 돈을 사용하여 다른 앱에서 대출을 받는 것을 단 하나의 단계로 처리할 수 있습니다.
하지만 문제가 있습니다: 누가 순서를 결정할까요?
커피숍의 물리적인 줄에서는 먼저 도착한 사람이 먼저 서비스를 받습니다. 하지만 블록체인에서는 줄을 쓰는 사람(즉, "블와 제안자")이 보통 누가 먼저 갈지를 결정합니다. 이는 앱 개발자들에게 골칫거리가 됩니다.
- 경매 앱은 두 번째로 높은 입찰가보다 가장 높은 입찰가가 먼저 처리되어야 합니다. 그렇지 않으면 경매가 무너집니다.
- 트레이딩 앱은 누군가 거래를 하기 전에 가격 업데이트가 일어나야 합니다. 그렇지 않으면 사람들은 오래되고 잘못된 가격에 거래하게 됩니다.
- 취소 앱은 누군가 주문을 체결하기 전에 주문을 취소해야 합니다.
블록체인 제안자가 순서를 결정한다면, 의도치 않게 혹은 악의적으로 이러한 앱들을 망가뜨릴 수 있습니다.
해결책: "만장일치 오버라이드(Unanimity Override)"
저자는 만장일치 오버라이드라는 새로운 규칙을 제안합니다. 이것을 공책을 위한 "그룹 합의" 시스템이라고 생각하면 됩니다.
핵심 아이디어는 다음과 같습니다: 만약 특정 거래 쌍에 관련된 모든 앱이 누가 먼저 가야 하는지에 대해 동의한다면, 공책은 그 합의를 존중해야 합니다.
- 좋은 소식: 만약 앱 A가 "X가 Y보다 앞서야 한다"라고 말하고, (두 거래를 모두 보고 있는) 앱 B도 이에 동의한다면, X는 Y보다 앞에 옵니다. 시스템은 이를 확정합니다.
- 나쁜 소식 (순환 구조): 때때로 앱들이 원형으로 서로 의견이 엇갈리는 경우가 있습니다.
- 앱 A는: X가 Y보다 앞서야 한다고 함.
- 앱 B는: Y가 Z보다 앞서야 한다고 함.
- 앱 C는: Z가 X보다 앞서야 한다고 함.
- 이는 **순환(Cycle)**을 만듭니다 (X → Y → Z → X). 이것은 역설입니다. 시스템은 모든 앱이 원하는 순서대로 이들을 실행할 수 없습니다.
순환 끊기: "강등(Demotion)" 규칙
순환이 발생했을 때, 시스템은 이 루프를 끊기 위한 타이 브레이커(결정권자)가 필요합니다. 논문은 "폴백(Fallback)" 규칙을 도입합니다.
- 문제의 거래 식별: 시스템은 서로 상충하는 의견을 가진 여러 앱과 상호작용하는 거래들을 찾습니다. 이들을 **"다중 의견 거래(Multi-Opinion Transactions)"**라고 부릅니다.
- 강등: 시스템은 순환 내에서 "가장 낮은 우선순위"를 가진 거래를 선택하고(예: 가장 낮은 수수료를 낸 사람 등 기본 규칙에 따라), 해당 거래를 강등합니다.
- 재설정: 강등된 거래는 줄의 맨 뒤로 이동합니다. 이렇게 하면 순환이 깨지고, 남은 거래들은 앱들이 요청한 대로 순서가 정해질 수 있습니다.
두 가지 핵심 보장
논문은 악의적인 공격자가 사이클을 강제로 만들기 위해 가짜 거래를 만들어 시스템을 속이려 하더라도, 다음 두 가지는 결코 깨뜨릴 수 없음을 증명합니다.
1. "단일 앱" 보장 (Single-App Guarantee)
만약 어떤 거래가 단 하나의 특정 앱하고만 대화한다면(그리고 그 앱이 강력한 선호도를 가지고 있다면), 공격자는 이를 망칠 수 없습니다.
- 비유: 당신이 특정 상점의 줄에 서 있다고 상상해 보세요. 오직 그 상점만이 당신의 순서에 관심을 가집니다. 설령 불량배가 다른 상점들에게 소리를 질러 당신의 앞을 가로채려 하더라도, 그 상점은 당신의 자리를 지켜주기 위해 당신을 먼저 들여보낼 것입니다.
- 결과: 자신의 내부 순서를 통제하기를 원하는 앱들(예: 경매)은 사용자가 해당 앱 내에서만 활동하는 한 안전하게 이를 수행할 수 있습니다.
2. "게이트형" 보장 (Gated Guarantee)
만약 어떤 거래가 "게이트형(Gated)"이라면(즉, 공격자가 제어하는 누구도 그보다 높은 순위를 가질 수 없다면), 그 거래는 안전합니다.
- 비로: "일반 배지를 가진 사람은 내 앞을 지나갈 수 없다"라고 적힌 VIP 패스를 상상해 보세요. 공격자가 VIP 배지를 가지고 있지 않거나(혹은 위조할 수 없다면), 당신을 뒤로 밀어내기 위해 순환을 만들 수 없습니다.
- 결과: 신뢰할 수 있는 출처로부터 오는 가격 피드와 같은 중요한 업데이트들은 공격자가 시스템상에서 당신을 앞지를 수 없으므로 보호받습니다.
"강등된" 거래들은 어떻게 되나요?
시스템이 앱의 의사를 무시하는 유일한 경우는, 거래가 여러 앱과 얽힌 복잡한 순환에 휘말려 "강등"될 때뿐입니다.
- 주의 사항: 논문은 만약 앱이 자신의 거래를 안전하게 지키고 싶다면, 사용자들에게 단순한 거래(오직 그 앱하고만 상호작용하는 것)를 유지하도록 권장해야 한다고 주장합니다. 만약 사용자가 화려하게 여러 앱을 동시에 건드리려 한다면, 순환에 휘말려 강등될 위험이 있습니다.
- 인센티브: 이는 사용자들이 규칙을 따르도록 만드는 자연스러운 인센티브를 제공합니다. 만약 당신의 입찰이 경매에서 이기길 원한다면, 동시에 열 가지 일을 하려 하지 말고, 그냥 경매 앱에 입찰만 보내세요.
요약
이 논문은 앱들이 "X가 Y보다 먼저 와야 해"라고 말할 수 있고, 블록체인이 그 말을 듣게 해주는 규칙을 소개합니다—단, 앱들이 원형으로 서로 다투는 경우가 아니라면 말이죠. 만약 앱들이 원형으로 다툰다면, 시스템은 "가장 낮은 우선순위"의 다중 앱 거래를 맨 뒤로 밀어냄으로써 승부를 결정합니다.
이 방식은 가장 중요한 거래들(단순하거나 "게이트형"인 거래들)이 조작되지 않도록 보호하면서도, 블록체인이 여전히 앱들이 함께 작동할 수 있는 하나의 연결된 공책으로 남을 수 있게 해줍니다. 이는 앱들에게 전체 시스템을 망가뜨리지 않으면서도 스스로의 운명을 통제할 수 있는 권한을 주는 방법입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.