NFT 서비스를 만들며 배운 것
시작하며
최근 몇 명의 엔지니어와 함께 작은 NFT 토이 프로젝트를 시작했다. 이런 일을 해보는 것이 처음은 아니었다. 몇 년 전에도 비슷한 서비스를 만든 적이 있어서 어느 정도는 알고 있다고 생각했다. 그런데 이번에 다시 해보니 아직 배울 것이 훨씬 많다는 사실을 알게 됐다.
지갑 연동
예전에는 비수탁형 지갑만 알고 있었다. WalletConnect, MetaMask, Trust Wallet을 연동하느라 많은 시간을 썼다. 사용자는 직접 개인 키를 관리해야 했고, 나는 그것이 당연한 방식이라고 생각했다.
이번에는 수탁형 지갑을 알게 됐다. 수탁형 지갑에서는 회사가 사용자의 키를 보관한다. 경험은 전통적인 Web2 서비스에 더 가깝다. 사용자는 시드 구문을 잃어버리거나 자산 접근 권한을 잃을까 봐 불안해하지 않아도 된다.
키 보안
금융 기관은 HSM을 사용해 안전한 환경에서 키를 생성하고, 저장하고, 서명한다. 그다음에는 MPC를 배웠다. MPC는 개인 키를 여러 조각으로 나누어 전체 키가 어느 한 곳에서도 다시 조립되지 않도록 하는 방식이다.
체인 선택
Ethereum, Solana, Polygon 등은 모두 서로 다른 장단점을 가진다. 어떤 체인을 선택할지는 프로젝트의 구체적인 필요에 맞춰 신중하게 판단해야 한다.