← 최신 논문
💻 computer science

OPERA: Enabling Inter-node Concurrency in Byzantine Fault Tolerant Blockchains

이 논문은 부분 복제와 노드 간 병렬성을 통해 노드 간 동시성을 확장함으로써, 보안이나 애플리케이션의 의미론을 타협하지 않으면서도 블록체인의 실행 비용을 크게 절감하고 처리량을 높이는 비잔틴 결함 허용 실행 모델인 OPERA를 소개한다.

원저자: Sungwook Chung, Jinwoo Yang, Hyunwoo Kim, Wonjae Lee, Minsoo Ryu

게시일 2026-08-03
📖 5 분 읽기🧠 심층 분석

원저자: Sungwook Chung, Jinwoo Yang, Hyunwoo Kim, Wonjae Lee, Minsoo Ryu

원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

수백만 명의 사람들이 거대하고 공유된 일기를 완벽하게 동기화하려고 노력하는 세상을 상상해 보세요. 이것은 단순한 일기가 아닙니다. 누가 디지털 고양이를 소유하고 있는지부터 누가 누구에게 돈을 보냈는지까지 모든 것을 기록하는 디지털 장부입니다. 문제는 무엇일까요? 모든 사람이 모든 항목에 대해 동의해야 하며, 그룹 중 일부는 시스템을 속이려는 못된 거짓말쟁이일 수도 있다는 점입니다. 이것이 바로 암호화폐와 탈중앙화 앱의 기반이 되는 기술인 블록체인의 역동적인 세계입니다.

오랫동안 이 디지털 일기들은 심각한 교통 체증을 겪었습니다. 정직함을 유지하기 위해 그룹의 모든 사람이 일기의 새로운 페이지 전체를 읽고, 모든 단어를 확인하고, 하나하나 직접 써 내려가야 했기 때문입니다. 이는 마치 모든 학생이 자신에게 할당된 문제만 풀면 되는데도, 칠판에 적힌 모든 수학 문제를 모든 학생이 다 풀어야 하는 교실과 같았습니다. 이로 인해 시스템은 느려지고 비용이 많이 들었으며, 특히 참여자가 늘어날수록 더욱 그러했습니다. 과학자들은 이를 "비잔틴 결함 허용(Byzantine Fault Tolerance)"이라고 부르는데, 이는 시스템에 사기를 치려는 구성원이 있더라도 안전하게 유지된다는 것을 의미하는 멋진 표현입니다. 연구자들은 한 가지 질문을 던져왔습니다. 어떻게 하면 사기꾼들이 파티를 망치지 않도록 하면서 이 그룹을 더 빠르게 작동시킬 수 있을까?

여기, 한양대학교 연구진이 제안한 새로운 아이디어인 OPERA가 등장했습니다. 이 아이디어는 학생들이 업무를 나누어 맡게 함으로써 이 교통 체증을 해결하려고 합니다. 모든 사람이 페이지 전체를 읽는 대신, OPERA는 페이지의 서로 다른 부분을 서로 다른 학생들에게 할당합니다. 이는 마치 거대한 포트럭 파티에서 모두가 각자 다른 음식을 가져오되, 누군가 독이 든 사과를 내놓지는 않았는지 서로의 음식을 맛보며 검사하는 것과 같습니다. 연구진은 이 방식을 테스트하기 위해 OPERA-PBFT라는 시스템을 구축했습니다. 그들은 노드(블록체인을 실행하는 컴퓨터)가 트랜잭션의 작은 조각만을 실행하고 서로의 작업을 재확인하게 함으로써 시스템을 훨씬 더 빠르게 만들 수 있다는 것을 발견했습니다. 테스트 결과, 이 새로운 방식은 초당 33,787건 이상의 트랜잭션을 처리했으며, 이는 Aptos와 같은 기존의 가장 빠른 시스템들보다 약 2.4배 더 빠른 수치입니다. 작업이 혼란스럽고 무질서해져서 많은 트랜잭션이 동일한 데이터를 두고 다투는 상황에서도, OPERA는 단 **7%**만 느려졌을 뿐이며, 다른 시스템들은 성능이 급격히 저하되거나 멈춰버렸습니다.

문제점: "모두가 모든 것을 하는" 병목 현상

전통적인 블록체인을 매우 엄격한 도서관이라고 생각해 보세요. 새로운 책(트랜잭션 블록)이 도착하면, 건물 안의 모든 사서(노드)가 책의 처음부터 끝까지 전체를 읽고, 모든 사실을 확인하고, 자신의 개인 사본에 기록해야 합니다. 도서관에 100명의 사서가 있더라도, 전체 도서관의 속도는 가장 느린 사서에 의해 제한됩니다. 만약 한 사서가 느리거나 주의가 산만해지면, 전체 줄이 멈춰버립니다. 이를 "전체 복제(full replication)"라고 합니다. 모두가 모든 것을 확인하기 때문에 안전하지만, 매우 비효율적입니다. 이는 100명의 요리사가 있는 주방에서, 단 하나의 요리만 맛봐도 충분히 알 수 있음에도 불구하고 모든 요리사가 10가지 코스 요리를 전부 만들어야 하는 것과 같습니다.

해결책: "특성화된 포트럭 파티"

이 논문의 저자인 정성욱 교수팀은 간단한 질문을 던졌습니다. 만약 우리 모두가 전체 식사를 다 만들지 않는다면 어떻게 될까?

그들은 **부분 복제(partial replication)**를 사용하는 새로운 블록체인 운영 방식인 OPERA를 제안했습니다. 똑같은 주방을 상상해 보세요. 이번에는 헤드 셰프(리더)가 메뉴를 나눠줍니다. 모든 셰프가 10코스 요리를 전부 만드는 대신, 셰프 A는 에피타이저만 만들고, 셰프 B는 스프만 만들며, 셰프 C는 디저트만 만듭니다.

하지만 여기서 까다로운 점이 있습니다. 만약 셰프 A가 거짓말쟁이라서 썩은 샐러드를 내놓는다면 어떻게 될까요? 기존 시스템에서는 모두가 모든 것을 맛보았기에 이를 잡아낼 수 있었습니다. OPERA에서는 셰프 B와 셰프 C가 샐러드에 손을 대지 않았기 때문에, 그들이 그것이 안전하다는 것을 어떻게 알 수 있을까요?

OPERA는 영리한 2단계 댄스로 이 문제를 해결합니다.

  1. "신뢰하되 검증하라"는 할당: 각 트랜잭션(음식)은 이를 요리할 소수의 셰프(노드)들에게 할당됩니다. 구체적으로, f + 1명의 주요 셰프와 f - k명의 백업 셰프에게 할당됩니다. 여기서 f는 시스템이 감당할 수 있는 최대 거짓말쟁이의 수를 나타냅니다. 만약 시스템이 2명의 거짓말쟁이를 처리할 수 있다면, 최소 3명의 셰프가 요리를 하고 그 결과에 동의해야 합니다.
  2. "맛보기" 인증서: 주요 셰프들의 작업이 끝나면, 그들은 단순히 "완료되었습니다"라고 말하는 데 그치지 않습니다. 그들은 **읽기/쓰기 세트(read/write set)**를 전달합니다. 이것은 "나는 이러한 재료를 읽었고 이러한 맛을 변화시켰다"라고 적힌 영수증과 같습니다. 다른 셰프들은 이 영수증들을 확인합니다. 만약 f + 1명의 셰프(거짓말쟁이를 압도하는 데 필요한 최소 인원)가 정확히 똑같은 영수증을 제출한다면, 시스템은 그 음식이 안전하다고 신뢰합니다.

만약 주요 셰프가 거짓말쟁이이거나 사라진 경우(비잔틴 결함), 백업 셰프들이 투입되어 음식을 요리하고 자신들만의 영수증을 생성합니다. 충분한 양의 일치하는 영수증이 모이면, 해당 음식은 "검증"된 것으로 간주됩니다.

"충돌"의 댄스: 요리가 충돌할 때

때때로 두 가지 서로 다른 음식이 동일한 재료를 필요로 할 때가 있습니다. 예를 들어, 두 트랜잭션이 동시에 동일한 지갑에서 돈을 쓰려고 시도할 수 있습니다. 기존의 "모두가 모든 것을 요리하는" 시스템에서는 셰프들이 순서를 지켜가며 작업했습니다. OPERA에서는 서로 다른 셰프들이 서로 다른 부분을 요리하기 때문에, 실수로 동일한 재료를 동시에 사용하려고 할 수 있습니다.

이를 해결하기 위해 OPERA는 **충돌 해결 결정론적 재실행(Conflict-Resolving Deterministic Re-execution, CRDR)**이라는 기술을 사용합니다. 이는 마치 요리를 지켜보는 심판과 같습니다.

  • 먼저, 시스템은 모든 영수증을 살펴보고 어떤 음식들이 충돌하는지 확인합니다.
  • 충돌하지 않는 음식들을 그룹화하여 즉시 서빙될 수 있도록 합니다.
  • 충돌하는 음식들에 대해서는, 시스템이 특정 순서에 따라 하나씩 다시 실행하여 최종 결과가 완벽하도록 보장합니다.

이를 통해 업무를 나누어 수행하더라도, 최종 결과는 마치 한 사람이 혼자서 모든 일을 수행했을 때와 정확히 일치하게 됩니다. 이는 "일기"의 일관성을 유지하고 아무도 속일 수 없음을 보장합니다.

결과: 파티의 속도를 높이다

연구진은 이 새로운 분업 방식을 사용하는 블록체인 버전인 OPERA-PBFT를 구축하여 아이디어를 테스트했습니다. 그들은 다양한 수의 컴퓨터와 다양한 유형의 워크로드를 사용하여 시뮬레이션을 실행했습니다.

  • 큰 승리: 테스트 결과, OPERA-PBFT는 초당 33,787건의 트랜잭션(TPS) 속도에 도달했습니다. 이는 현재 속도 면에서 선두를 달리고 있는 Aptos보다 2.4배 더 빠른 수치입니다.
  • "무질서한" 테스트: 또한 많은 트랜잭션이 동일한 데이터를 두고 다투는 혼란스러운 상황(skewed workloads)에서 어떻게 작동하는지 테스트했습니다. 대부분의 시스템은 이 시나리오에서 속도가 급격히 떨어집니다. 하지만 OPERA-PBFT는 단 **7%**만 느려진 반면, Aptos와 같은 다른 시스템들은 **77%**나 느려졌습니다.
  • 비용: 연구진은 시스템이 수행한 "작업량"도 측정했습니다. 전통적인 시스템에서는 모든 컴퓨터가 모든 작업을 수행합니다. 하지만 OPERA에서는 총 작업량이 최대 **44%**까지 감소했습니다. 이는 이 시스템이 더 빠를 뿐만 아니라, 에너지와 컴퓨팅 자원을 덜 사용하는 더 효율적인 시스템임을 의미합니다.

이것이 중요한 이유

이 논문은 우리가 안전성과 속도 사이에서 하나를 선택할 필요가 없다는 것을 시사합니다. 오랫동안 사람들은 블록체인을 거짓말쟁이로부터 안전하게 지키려면 모든 사람이 모든 것을 해야 한다고 생각했습니다. OPERA는 업무를 나누고, 서로 다른 컴퓨터가 서로 다른 부분을 처리하게 하면서도 여전히 시스템을 안전하고 빠르게 유지할 수 있음을 보여줍니다.

이는 거대한 오케스트라가 아름다운 음악을 연주하기 위해 모든 연주자가 모든 악기를 연주할 필요는 없다는 깨달음과 같습니다. 지휘자(프로토콜)가 적절한 파트를 적절한 연주자에게 배정하고 그들이 서로의 소리에 귀를 기울이게 한다면, 음악은 이전보다 더 빠르고 웅장하게 연주될 수 있습니다. 연구진은 이 접근 방식이 일부 연주자가 틀린 음을 연주하려고 할 때도 효과적임을 발견했으며, 이는 블록체인이 초고속 고속도로인 동시에 철통 보안 금고가 될 수 있음을 증명합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →