프리랜서로 활동하며 항상 경력 증빙
의 불투명성에 대한 아쉬움이 있었습니다. 기업은 지원자의 경력을 100% 신뢰하기 어렵고, 프리랜서는 자신의 실력을 온전히 증명하기 힘든 이 악순환을 끊고 싶었습니다. 저는 이 문제의 해답을 블록체인의 탈중앙성
과 불변성
에서 찾았습니다.
신뢰와 오라클 문제
하지만 블록체인에 무언가를 기록하는 것만으로는 ‘신뢰’를 보장할 수 없었습니다. 가장 큰 난관은 기술이 아닌 철학적인 문제, 바로 ‘오라클 문제’였습니다. 경력이라는 주관적인 정보를 어떻게 객관적인 블록체인에 신뢰할 수 있는 방식으로 연결할 수 있을까?
저는 이 문제를 복잡한 기술이 아닌, 게임 이론(Game Theory) 에서 해답을 찾았습니다.
중앙화된 검증 기관(Middleman)을 두는 대신, 검증의 책임을 전적으로 경력을 증명해주는 기업에 맡기는 구조를 설계했습니다. 이 구조에서는 모든 참여자가 정직하게 행동하는 것이 가장 큰 이익을 가져갑니다.
- 기업: 허위 경력을 증명해주는 것은 장기적으로 기업의 평판을 깎아 먹는 행위입니다.
- BlockJobs (플랫폼): 플랫폼의 수익 모델은 오직 경력 증명이 활발하게 일어날 때 발생하는 수수료뿐입니다. 데이터 조작으로 얻을 수 있는 이익이 전혀 없으며, 조작이 발각되는 순간 플랫폼의 신뢰도가 무너져 존립 자체가 불가능해집니다.
결국, 모든 참여자가 ‘정직이 최선의 전략’ 이 되는 시스템을 통해 오라클 문제를 해결하고자 했습니다.
Smart Contract: 신뢰를 구현하는 엔진
이러한 철학을 바탕으로, 이더리움 스마트 컨트랙트를 이용해 신뢰의 핵심 엔진을 구현했습니다.
- 영구적인 경력 증명: 기업의 증명을 거친 경력은 블록체인에 영구적으로 기록됩니다. 한번 등록된 경력은 위변조가 불가능하며, 추가 비용 없이 영원히 자신의 자산이 됩니다.
- 가치 있는 리뷰 NFT: 기업과 프리랜서 간의 리뷰 역시 위변조가 불가능하도록 컨트랙트로 구현했습니다. 이렇게 생성된 신뢰도 높은 리뷰는 그 자체로 가치를 지니도록 NFT로 발행하여 참여자 간에 거래할 수 있게 했습니다. 이는 정보의 가치를 높이고, 양질의 리뷰 작성을 유도하는 강력한 동기가 됩니다.
현실적인 사용성을 위한 고민: 가스비 최적화
아이디어를 현실로 옮기기 위해선 사용자의 가장 큰 진입 장벽인 ‘가스비’를 해결해야 했습니다. Solidity
코드를 튜닝하여 데이터 저장 방식을 최적화(string
대신 bytes32
사용)하고, 불필요한 연산을 제거하는 등, 사용자들이 부담 없이 서비스를 이용할 수 있도록 가스비를 최소화하는 데 많은 노력을 기울였습니다.
Frontend: Web2와 Web3의 가교
아무리 뛰어난 블록체인 기술이라도 사용자 경험이 불편하다면 외면받습니다. 저는 사용자와 개발자 모두에게 친숙한 환경을 제공하는 것을 목표로 프론트엔드를 설계했습니다.
- Next.js 기반 SEO: 블록체인에 익숙하지 않은 사용자의 유입을 위해 검색엔진 최적화(SEO)에 강점이 있는
Next.js
를 채택했습니다. - Ethers.js 커스텀 훅: 블록체인과의 복잡한 상호작용을
useCareerVerification
과 같은 커스텀 훅으로 추상화했습니다. 이를 통해 블록체인 로직과 UI 로직을 분리하여 코드의 가독성과 재사용성을 크게 높였습니다.