왜 우리는 ‘하나’의 스마트 컨트랙트로 단순화 했을까?

왜 우리는 ‘하나’의 스마트 컨트랙트로 단순화 했을까?
"펑크폴 VoteNFT는 스위스 군용칼과 같은 구조를 가졌다."

Punkpoll: The Future of the Vote?

여러분은 온라인에서 투표나 설문에 참여하시면서 이런 생각해 보신 적 없으신가요? "내가 지금 클릭한 이 버튼, 과연 어디로 가서 어떻게 집계되는 걸까?", "내 소중한 데이터는 안전할까?", "혹시 조작되는 것은 아닐까?" , "이 결과, 나의 데이터는 포함되어 있을까?" 하는 의문들 말입니다.

이러한 ‘신뢰의 문제’는 인터넷 세상의 오래된 숙제였습니다. 많은 분들이 블록체인이 그 해답이 될 수 있다고 이야기하지만, 기존 블록체인 기술 역시 명확한 한계를 가지고 있었죠. 모든 것을 블록체인 위(On-chain)에서 처리하면 투명성은 최고가 되지만, 엄청난 비용과 느린 속도를 감수해야 합니다. 반대로 블록체인 밖(Off-chain)에서 처리하면 빠르고 저렴하지만, 결국 모든 과정이 불투명한 ‘블랙박스’가 되어버려 '잘하겠지’하고 믿어야 하는 원점으로 돌아가게 됩니다.

그렇다면 이 딜레마를 어떻게 해결해야 할까요? 펑크폴은 그 해답을 ‘단순함’에서 찾았습니다.

핵심은 하나, 스위스 군용 칼 같은 스마트 컨트랙트

저희는 복잡하게 얽힌 여러 시스템 대신, 모든 것을 단 하나의 독립적인 스마트 컨트랙트 안에 담아냈습니다. 기술적으로는 이를 ‘모놀리식 아키텍처(Monolithic Architecture)’라고 부르지만, 쉽게 말해 ‘모든 기능이 한데 모여있는 올인원 머신’이라고 생각하시면 됩니다. 여러 도구가 널려 있는 창고가 아니라, 꼭 필요한 핵심 기능들을 완벽하게 수행하는 하나의 세련된 스위스 군용 칼처럼 말이죠.

펑크폴의 'VoteNFT 스마트 컨트랙트'는 단 하나지만, 동시에 세 가지 핵심적인 역할을 수행합니다.

  1. 티켓 부스 (NFT 발행자): 투표에 참여하는 모든 분들에게 고유한 디지털 투표용지, 즉 NFT를 발행합니다.
  2. 은행(보상 금고와 영수증): 참여에 대한 보상과 영수증 역할을 하는 토큰을 안전하게 보관하고, 조건이 충족되면 그 즉시 자동으로 지급합니다.
  3. 심판 (규칙 집행자): 정해진 규칙을 엄격하게 집행하며 전체 시스템이 공정하고 정확하게 돌아가도록 감독합니다.

이 모든 기능이 하나의 컨트랙트 안에서 유기적으로 작동하는 것입니다.

그 누구도 바꿀 수 없는 ‘불변의 규칙’

아마 이 구조에서 가장 중요한 점은, 한번 설정된 규칙은 ‘변경이 불가능(Immutable)’하다는 것입니다.

투표 기간, 투표 내용, 대상자 혹은 유권자, 보상 수량과 같은 핵심 규칙들은 컨트랙트가 배포되는 순간 확정됩니다. 일단 시작되면 저희 펑크폴 팀을 포함한 그 누구도 이 규칙을 임의로 변경하거나 조작할 수 없습니다. 여러분이 믿어야 할 것은 특정 회사나 사람의 양심이 아니라, 누구나 열람하고 검증할 수 있도록 투명하게 공개된 ‘코드 그 자체’입니다. 이것이 바로 저희가 생각하는 진정한 신뢰의 기반입니다.

참여와 보상, 더 이상 분리되지 않습니다

"나의 투표가 결과에 포함되어 있을까?", "설문에 참여하면 보상을 준다는데 받을 수 있을까?" 하는 걱정은 이제 접어두셔도 좋습니다. 펑크폴은 여러분의 참여와 그에 따른 보상 지급을 ‘하나의 사전’으로 처리했습니다.

기술적으로 이를 ‘원자적 트랜잭션(Atomic Transaction)’이라고 부릅니다. 여러분이 투표를 완료하는 그 순간, 시스템은 아래의 모든 과정을 한 번에, 즉각적으로 처리합니다.

  1. 자격 확인: 여러분이 유효한 투표권을 가졌는지 확인합니다.
  2. 투표권 회수: 사용된(기표한) 투표용지 NFT를 회수합니다.
  3. 보상 및 영수증 지급: 여러분의 투표 행위를 증명하는 ‘영수증’이자 약속된 ‘보상’인 토큰을 여러분의 지갑으로 즉시 전송합니다.

이 모든 과정은 ‘전부 성공하거나, 아예 아무 일도 없었던 것’이 되는 All-or-Nothing 방식으로 이루어집니다. 따라서 ‘나는 참여했는데 확인할 방법이 없거나 보상을 못 받는’ 위험은 원천적으로 사라집니다.

사용자 경험: 수수료와 복잡함은 저희에게 맡기세요

아무리 기술이 훌륭해도 사용하기 어렵고 복잡하다면 그 가치를 제대로 전달할 수 없을 것입니다. 특히 다양한 연령층과 불특정 다수가 참여하는 투표나 여론조사에서는 쉽고 편리한 사용성이 매우 중요합니다. 펑크폴의 목표는 누구나 불편함이나 불안감을 느끼지 않고, 쉽고 안전하게 이용할 수 있는 경험을 제공하는 것입니다.

Web3 서비스의 가장 큰 진입 장벽은 단연 ‘가스비(수수료, 독립적인 wallet에서 지불되는)’ 구조입니다. 펑크폴은 ‘트러스티드 포워더(Trusted Forwarder)’라는 메커니즘을 통해 이 문제를 해결했습니다. 간단히 말해, 여러분이 내야 할 가스비를 펑크폴 시스템투표 및 여론조사 주최자이 대신 내드립니다. 여러분은 그저 디지털 서명 한 번만으로, 마치 일반 웹사이트를 이용하듯 쉽고 간편하게 모든 과정에 참여할 수 있습니다.

프라이버시: 당신의 선택은 완벽한 비밀로, 참여 사실은 영원한 증거로

여러분의 소중한 개인정보와 프라이버시를 지키기 위해, 저희는 2단계의 독창적인 솔루션을 적용했습니다.

1단계: 투표 내용은 완벽하게 비공개로 유지됩니다.

여러분이 어떤 후보나 답변을 선택했는지는 블록체인에 공개적으로 기록되지 않습니다. 이 정보는 체인 외부(Off-chain)에 안전하게 보관되어 그 누구도 들여다볼 수 없습니다.

2단계: 하지만 당신의 투표가 있었다는 사실은 영원히 증명됩니다.

“내 투표 내용이 비밀인 건 좋은데, 이게 제대로 반영됐는지, 조작되지 않았는지 어떻게 믿지?” 라는 의문이 드실 겁니다. 그래서 저희는 여러분의 투표 행위를 고유한 ‘디지털 지문(IPFS 해시)’ 형태로 블록체인에 영구히 기록합니다. 이 지문은 투표 데이터의 쉼표 하나만 바뀌어도 완전히 다른 값으로 변하기 때문에, 실제 내용을 공개하지 않으면서도 ‘투표가 존재했고, 절대 변조되지 않았다’는 완벽한 증거가 됩니다.

실용적인 탈중앙화: 투표는 블록체인에서, 참여는 익숙한 메신저에서

저희는 이 모델이 가진 강점과 현실적인 한계를 솔직히 말씀드리고자 합니다. 세상에 완벽한 시스템은 없기 때문입니다.

강점:

  • 최소화된 신뢰: 사람 대신 코드가 신뢰의 기준이 됩니다.
  • 조작 불가능: 투표 규칙은 불변하며, 결과는 누구나 투명하게 검증할 수 있습니다.
  • 보장된 인센티브와 영수증: 원자적 트랜잭션을 통해 참여자에게 지급되는 보상의 미지급 위험을 방지하고, 참여에 대한 영수증을 발행하여 신뢰성을 더욱 높입니다.
  • 최고의 사용자 경험: 사용자는 카카오톡과 같은 평소 익숙한 메신저에서 쉽고 간편하게 참여할 수 있으며, 가스비나 복잡한 절차가 없습니다.
  • 낮은 운영 비용: 올인원 설계를 통해 효율적이고 경제적인 운영이 가능합니다.

현실적인 절충점:

물론 펑크폴 시스템 역시 몇 가지 전제 조건 위에서 운영됩니다. 가스비를 대납하는 포워더(Forwarder)는 신뢰할 수 있는 온라인 상태를 유지해야 하며, 오프체인에 저장된 투표 데이터를 책임지고 보관할 주체가 필요합니다.

이러한 문제를 해결하기 위해 중요한 투표의 경우 다중서명(Multi-sig) 지갑이나 타임락(Timelock) 거버넌스와 같은 메커니즘을 통해 리스크를 완화하고 있습니다. 또한 가스 추상화는 포워더의 가용성과 중립성에 의존하기 때문에, 궁극적으로 포워더의 완전한 탈중앙화를 목표로 하고 있습니다.

이러한 선택은 이론적으로 완벽한 탈중앙화보다는 현실에서 보다 많은 사람들이 쉽고 유용하게 사용할 수 있는 ‘실용성’을 추구한 결과입니다. 펑크폴은 상상 속의 기술이 아니라 지금 당장 우리가 직면한 문제를 해결하는 데 집중합니다.

저희는 이 ‘실용적인 탈중앙화’가 블록체인 기술을 수백만, 수천만 명의 일상으로 가져오는 핵심 열쇠가 될 것이라 믿습니다.