Perils of Parallelism: Transaction Fee Mechanisms under Execution Uncertainty
이 논문은 현대 블록체인의 실행 병렬성과 우발성이 사용자 및 스케줄러 인센티브 사이에 어떻게 내재적인 트레이드오프를 생성하는지 분석하여 기존 수수료 메커니즘의 불가능성 결과를 증명하고, Sui 및 Monad와 같은 시스템에서 공정성과 성능의 최적 경계를 달성하는 새로운 프레임워크를 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
현대적인 블록체인에서 **병렬 실행(parallel execution)**은 자동차들이 한 번에 한 대씩 단일 차선으로 달리는 대신, 여러 차선을 통해 동시에 질주하는 바쁜 고속도로와 같습니다. 이는 시스템을 더 빠르게 만들기 위해 많은 트랜잭션을 동시에 처리하는 방법입니다.
하지만 이 논문은 병렬 고속도로가 더 빠를 수는 있지만, 현재의 "톨게이트" 시스템(수수료 메커니즘)은 고장 났다고 주장합니다. 이 시스템은 운전자가 서로 다른 경로를 택할 수도 있거나, 가짜 운전자가 시스템을 속이려 할 때 어떻게 공정하게 요금을 부과해야 하는지 알지 못합니다.
다음은 쉬운 비유를 사용하여 이 논문의 발견 내용을 정리한 것입니다.
1. 두 가지 큰 문제점
저자들은 병렬 처리에 대한 수수료를 부과하려고 할 때 발생하는 두 가지 주요 "위험(perils)"을 식별했습니다.
위험 A: "어쩌면" 운전자 (조건부 트랜잭션)
당신이 맞춤형 피자를 주문한다고 상상해 보세요. 당신은 주방에 "페퍼로니, 버섯, 올리브를 넣은 피자를 원해요"라고 말합니다.
- 현실: 당신은 실제로 페퍼로니만 먹습니다. 주방은 버섯과 올리브도 준비했지만, 당신은 손도 대지 않았습니다.
- 문제: 병렬 블록체인에서 트랜잭션(피자 주문)은 종종 "나는 이 5가지 재료를 필요로 할 수도 있다"라고 말합니다. 하지만 현재 세상의 상태(페퍼로니 가격 등)에 따라, 결과적으로는 1가지 재료만 사용하게 될 수도 있습니다.
- 만약 당신이 '실제로 사용한 것'에 대해서만 비용을 지불한다면: 주방(스케줄러)은 남겨진 재료(버섯과 올리브)가 낭비되었기 때문에 손해를 봅니다.
- 만 if 당신이 '사용하겠다고 말한 것'에 대해 비용을 지불한다면: 당신(사용자)은 손도 대지 않은 재료에 대해 과다한 비용을 지불하게 됩니다.
논문의 핵심 발견: 두 가지를 동시에 가질 수는 없습니다. 사용자가 절대 과다 지불하지 않으면서도, 동시에 주방이 사용되지 않은 재료 준비 작업으로 인해 손해를 보지 않도록 설계하는 것은 불가능합니다. 당신은 누가 리스크를 부담할지 선택해야만 합니다.
위험 B: "가짜" 운전자 (실 공격 - Shill Attacks)
이제 도로 위의 교통량에 따라 통행료를 부과하는 톨게이트를 상상해 보세요.
- 사용자의 속임수: 어떤 운전자가 낮은 통행료를 내고 싶어 합니다. 그들은 도로 위에 아무 쓸모 없는 가짜 자동차(실 트랜잭션)들을 잔뜩 보냅니다. 이 가짜 자동차들은 공간만 차지할 뿐 실제로 어디로 가지도 않습니다. 톨게이트는 "교통량이 많다"고 판단하고 비용을 분산시키므로, 실제 운전자는 더 적은 비용을 지불하게 됩니다.
- 톨게이트의 속임수: 톨게이트를 운영하는 사람은 돈을 더 벌고 싶어 합니다. 그들은 도로 위에 자신들의 가짜 자동차를 보내서 마치 실제 운전자들이 엄청난 교통 정체를 일으키고 있는 것처럼 보이게 만듭니다. 그러면 톨게이트는 실제 운전자들에게 "혼잡"에 대한 프리미엄을 추가로 부과합니다.
논문의 발견: 현재의 시스템들은 이러한 속임수에 취약합니다. 만약 시스템이 얼마나 많은 "병렬 작업"이 일어나는지에 따라 비용을 부과한다면, 악의적인 행위자들은 가짜 트랜잭션을 추가하여 수수료를 낮추거나 높임으로써 수학적 계산을 조작할 수 있습니다.
2. 비용을 나누는 세 가지 방법
"사용하지 않은 재료"의 리스크(위험 A)를 없앨 수 없기 때문에, 논문은 사용자(User)와 시스템(System) 사이에서 비용을 나누는 세 가지 방법을 제안합니다.
- "사용자 친화적" 접근 방식: 당신은 실제로 먹은 페퍼로니에 대해서만 비용을 지불합니다.
- 결과: 사용자는 만족하지만(과다 지불 없음), 주방(시스템)은 낭비된 버섯과 올리브 때문에 손해를 봅니다.
- "스케줄러 친화적" 접근 방식: 당신은 페퍼로니만 먹었더라도 주문한 피자 전체에 대해 비용을 지불합니다.
- 결과: 주방은 만족하지만(수익 보장), 사용자는 과다 지불을 할 수 있습니다.
- "공평한 분담" 접근 방식: 낭비된 재료의 비용을 50:50으로 나눕니다.
- 결과: 양측이 "어쩌면" 사용될 뻔했던 재료의 리스크를 공유하는 절충안입니다.
3. 해결책: "객체 가중치" 톨게이트
"가짜 운전자" 문제(위험 B)를 해결하면서 "어쩌면" 문제(위험 A)를 다루기 위해, 저자들은 **OW-TFM (Object-Weighted Transaction Fee Mechanism, 객체 가중치 트랜잭션 수수료 메커니즘)**이라는 새로운 시스템을 제안합니다.
비유:
지금 당장 도로에 차가 얼마나 많은지(조작 가능함)에 따라 비용을 부과하는 대신, 어제 특정 차선이 얼마나 인기가 있었는지에 따라 비용을 부과하는 톨 시스템을 상상해 보세요.
- 특정 객체(예: 인기 있는 피자 토핑)가 지난 블록에서 많이 사용되었다면, 다음 블록을 위한 그 가격은 약간 올라갑니다.
- 만약 사용되지 않았다면, 가격은 낮게 유지됩니다.
이것이 속임수를 막는 이유:
- 사용자 측면: 수수료를 낮추기 위해 가짜 트랜잭션을 추가하려 해도 불가능합니다. 가짜 트랜잭션을 추가하는 것은 오히려 특정 객체의 사용 횟수를 증가시켜, 당신을 포함한 모두의 가격을 높일 수 있기 때문입니다. 차를 더 많이 보낸다고 해서 가격을 낮출 수는 없습니다.
- 시스템 측면: 시스템은 과거의 데이터를 기반으로 가격을 설정하므로, 미래에 무슨 일이 일어날지 예측할 필요가 없습니다.
4. 결론
이 논문은 빠르고 안전하며 공정한 병렬 블록체인을 구축하는 것이 근본적인 트레이드오프(trade-off) 때문에 어렵다고 결론짓습니다.
- 속도 vs. 공정성: 트랜잭션을 실제로 실행하기 전에는 어떤 "재료"를 사용할지 완벽하게 예측할 수 없습니다(예측하려면 시간이 걸리며, 이는 병렬 처리의 목적을 퇴색시킵니다).
- 보안 vs. 효율성: 완벽하게 효율적인 시스템(실제로 사용된 만큼만 청구하는 시스템)과 완벽하게 보안이 철저한 시스템(가짜 트랜잭션에 면역이 있는 시스템)을 동시에 가질 수는 없습니다.
저자들은 Sui, Solana, 또는 Monad를 구축하는 블록체인 설계자들이 누가 사용되지 않은 자원의 리스크를 부담할지를 명시적으로 결정해야 하며, 시스템을 조작하려는 가짜 트랜잭션을 방지하기 위해 과거의 객체 사용량에 기반한 가격 모델을 사용해야 한다고 제안합니다.
요약하자면: 병렬 블록체인은 바쁜 주방과 같습니다. 고객이 실제로 무엇을 먹을지 알기 전에는 식사 비용을 완벽하게 청구할 수 없으며, 식사 주문을 흉내 내어 계산서를 망쳐놓는 사람들을 막을 수도 없습니다. 해결책은 낭비된 음식에 대해 누가 지불할지 합의하고, 사람들이 지금 당장 무엇을 주문한다고 "말하는지"가 아니라, 보통 무엇을 "주문하는지"에 기반하여 가격을 책정하는 것입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.