저자: 로이 셰인펠드
출처: https://bitcoinmagazine.com/technical/spark-explained-like-youre-five
일부 독자분들은 제가 몇 년 전에 쓴 " 주판으로 라이트닝 네트워크 이해하기 "라는 제목의 글을 기억하실지도 모르겠습니다. 당시 저는 많은 사람들이 라이트닝 네트워크를 제대로 이해하지 못하고 있다는 것을 깨닫고 그 글을 썼습니다. 제 목표는 라이트닝 네트워크의 암호화 및 구현 세부 사항을 설명하는 것이 아니라 결제 채널의 핵심 개념을 명확히 하는 것이었습니다. 독자들이 메커니즘보다는 개념에 집중할 수 있도록 주판을 비유로 사용했습니다. 이 비유는 꽤 효과적이었고, 이후로 많은 사람들이 초보자들에게 라이트닝 채널을 설명할 때 이 주판 비유를 사용해 왔습니다.
최근 들어 심한 좌절감을 느끼고 있습니다.
Spark에 대해 이야기할 때도 비슷한 상황을 목격했습니다. 어떤 사람들은 " 스테이트체인 "( 중국어 번역 )이라고 말할 줄 알았지만, 대부분은 그게 전부였습니다. 라이트닝 네트워크 대면 마찬가지로, 문제는 지능이나 게으름 때문이 아니라, 근본적인 사고방식에 대한 이해 부족 때문이었습니다. 그래서 이번에도 같은 방식으로 암호학 용어를 사용하지 않고 개념적인 관점에서 Spark의 작동 방식을 설명해 보겠습니다.
퍼즐 조각 두 개
Spark의 핵심 기능은 사용자가 블록체인에 거래를 브로드캐스팅하지 않고 비트코인을 주고받을 수 있도록 하는 것입니다. 다시 말해, 비트코인 소유권이 변경되더라도 블록체인 네트워크 관점에서는 비트코인 자체가 이동하는 것처럼 보이지 않습니다. 대신, 해당 비트코인의 사용을 공동으로 승인할 수 있는 주체만 변경됩니다. 이 공동 승인 권한은 사용자와 운영자 그룹(Spark 엔티티(SE)라고 함) 간에 공유됩니다.
이것이 어떻게 작동하는지 설명하기 위해, Spark 기기에서 비트코인을 사용하는 상황을 상상해 보세요. 이를 위해서는 간단한 두 조각 퍼즐을 풀어야 합니다.
- 퍼즐 조각 하나는 사용자가 가지고 있습니다.
- 퍼즐의 나머지 한 조각은 SE가 가지고 있습니다.
비트코인은 동일한 퍼즐 조각 두 개가 맞춰졌을 때만 사용할 수 있습니다. 각 암호화폐는 서로 다른 퍼즐을 사용합니다.
자, 이제 소유권 이전 절차가 어떻게 진행되는지 살펴보겠습니다.
처음에 앨리스는 SE가 가진 퍼즐 조각과 짝을 이루는 퍼즐 조각을 가지고 있었습니다. 앨리스는 두 퍼즐 조각을 맞춰서 스파크 기기에서 자신의 비트코인을 사용할 수 있었습니다. 앨리스가 밥에게 비트코인을 보내고 싶었을 때, 그녀는 밥에게 SE와 함께 새로운 퍼즐 세트를 만들도록 했습니다. 중요한 것은 퍼즐 자체는 바뀌지 않았다는 것입니다. 이전 퍼즐과 새 퍼즐(모양)은 동일했고, 단지 퍼즐을 구성하는 조각들의 모양만 바뀌었습니다. 새 퍼즐 세트는 밥을 위해 디자인되었으며, 한 조각은 밥이, 다른 한 조각은 SE가 갖게 되었습니다. 그 이후로는 밥이 가진 퍼즐 조각만이 SE가 가진 조각과 짝을 이룰 수 있었습니다. 앨리스는 여전히 이전 퍼즐 조각을 가지고 있을 수 있었지만, 그것은 더 이상 쓸모가 없었습니다. SE가 앨리스의 조각과 짝을 이루었던 퍼즐 조각을 파괴했기 때문에, 앨리스의 조각은 다른 누구의 조각과도 짝을 이룰 수 없었고, 비트코인을 사용하는 데 사용할 수도 없었습니다. 따라서 스파크 기기가 관리하는 비트코인의 블록체인 상에서의 이동은 없었지만, 소유권은 사실상 밥에게 이전되었습니다.

밥은 같은 과정을 반복하여 캐롤에게 동일한 비트코인을 보낼 수 있고, 이런 식으로 계속 진행할 수 있습니다. 각 전송은 블록체인 내에서 거래를 공개적으로 알리는 것이 아니라, 퍼즐 조각을 교체하는 방식으로 이루어집니다.
이로 인해 자연스럽게 다음과 같은 질문이 제기됩니다. 만약 SE가 기존 조각을 버리지 않았다면 어떻게 될까요? 이 시나리오에서 SE는 이전 소유자(앨리스 등)와 공모하여 새 소유자(밥 등)에게 속해야 할 비트코인을 사용할 수 있습니다. 우리는 SE가 소유권 이전을 지원하는 동안 기존 조각을 파기할 것이라는 점 을 신뢰 해야 합니다. 그러나 SE는 한 개인이 아니라 운영자 그룹이며, SE 측의 조각들은 단일 운영자가 보유하고 있는 것이 아니라는 점을 이해하는 것이 중요합니다. 조각을 교체하려면 여러 운영자 간의 협력이 필요합니다. 각 당사자는 기존 조각을 비밀리에 보유하거나 나중에 다시 생성할 수 있습니다. 따라서 이전 과정에서 한 운영자만 정직하게 행동한다면 기존 조각이 다시 활성화되는 것을 막기에 충분합니다.

핵심 아이디어는 간단합니다. Spark는 블록체인 내에서 비트코인을 직접 전송하지 않습니다. 전송하는 경우에도 단순히 비트코인 사용 권한을 가진 사용자를 교체할 뿐입니다. Spark가 관리하는 비트코인의 블록체인 내 위치는 변하지 않으며, 단지 서로 연결되는 부분만 변경됩니다.
설명을 간결하게 하기 위해 Spark의 핵심 보안 모델인 일방적 출구 메커니즘은 의도적으로 생략했습니다. 하지만 이를 논의하는 것은 제가 강조하고 싶은 핵심 개념에서 벗어나기 때문입니다. 중요한 것은 Spark가 사용자가 SE(Spark Enterprise)에 영구적으로 의존하는 시스템이 아니라는 점입니다. 일상적인 데이터 전송은 연합 승인에 의존하지만, Spark는 사용자가 SE의 협력 없이 블록체인 내에서 독립적으로 자금을 사용할 수 있는 옵션을 제공합니다. 이러한 탈출 경로는 처음부터 설계되었지만, 이 글의 범위를 벗어납니다.
(위에)



