DApp 서비스를 위한 암호화폐 지갑 개발 방법론 4가지

블록체인 서비스 CTO님이 꼭 알아야 할 암호화폐 지갑 개발 방법론의 장단점

HAECHI LABS
HAECHI LABS
13 min readSep 28, 2020

--

들어가며

블록체인 서비스(DApp) 기업들이 겪는 가장 큰 어려움, ‘암호화폐 지갑 개발’

현재 대부분의 블록체인 서비스(DApp)들은 사용자 활동 보상, 한정판 아이템, 투자 이자 수익(Staking)을 암호화폐로 지급하고 있습니다. 서비스 내에서 P2P 암호화폐 거래, 암호화폐 결제 등을 지원하는 서비스들도 등장하고 있죠.

블록체인 서비스에서 이러한 기능들을 지원하기 위해서는 반드시 암호화폐 지갑이 필요합니다. 실제로 블록체인 기업의 대표님, CTO님이 가장 많이하는 고민은 ‘암호화폐 지갑을 어떻게 개발할 것인가?’입니다. 만약 암호화폐 지갑 개발을 고민하고 계신다면, 다양한 방법들을 비교하며 각각의 장단점을 꼼꼼히 따져야 합니다.

오늘은 블록체인 기업들이 암호화폐 지갑을 개발할 때 선택할 수 있는 4가지 방법각각의 장단점을 소개합니다.

이 글을 읽기에 앞서 우리 회사에 가장 잘 맞는 블록체인 서비스, 암호화폐 지갑 개발 방법론이 궁금하시다면 contact@henesis.io 로 문의주시기 바랍니다.

결론 미리보기 🕵🏻‍♀️

1. 암호화폐 지갑 자체적으로 개발하기

DApp의 암호화폐 지갑을 자체적으로 개발하면, 어떤 장단점이 있을까?

먼저 회사의 내부 인력을 동원해서 블록체인 서비스 내 암호화폐 지갑 기능을 개발한다면, 어떤 장단점이 있는지 알아보겠습니다.

  1. 보안
    ☐ 장점
    • 많은 시간과 비용이 들지만 내부 통제가 가능한 보안 시스템 구축이
    가능합니다.
    ☐ 단점
    • 상당한 선행 투자 개발 비용이 발생합니다.
    • 강력한 보안을 갖춘 암호화폐 지갑을 서비스에 구축하기 위해서는 상당한 수준의 설계, 코딩, 테스트, 유지보수 작업이 동반됩니다.
    • 팀원들의 경력에 따라 신규 인력을 채용해야 할 수 있습니다.
  2. 사용자 경험
    장점
    • 원하는 방식의 서비스 사용자 경험을 기반으로 지갑을 개발할 수 있습니다.
    단점
    • 지속적으로 서비스 사용자 경험 개선을 연구하기 위해 많은 리소스가 투입됩니다.
  3. 운영 편의성
    장점
    • 서비스에 문제가 발생했을 경우 내부 에서 원인을 빠르게 파악할 수 있습니다.
    단점
    • 모든 운영 도구를 자체적으로 개발해야 하고, 고도화된 운영 도구를 개발하는 것은 어렵습니다.
  4. 시간과 비용
    장점
    • 회사 내부 상황에 따라 개발 기간을 유연하게 조절할 수 있습니다.
    • 개발자 채용을 위한 고정 비용이 발생하지만, 추가 요구사항 개발이 가능합니다.
    단점
    • 최소 2~3명의 개발자가 투입되고, 4개월 이상의 개발 기간이 소요됩니다.
    • 장기적으로 유지보수와 내부 운영 도구 개발을 포함하면 더욱더 많은 시간과 비용이 발생합니다.

결론

우리 회사의 블록체인 서비스 내에 암호화폐 지갑을 자체적으로 개발할 경우

✔️ 내부 통제가 가능한 시스템을 개발할 수 있지만, 굉장히 큰 선행 투자 개발과 유지보수 비용이 발생합니다.
✔️ 블록체인 서비스 사용자 경험 개선을 위해 지속적인 연구가 필요합니다.
✔️ 서비스에 문제 발생 시 원인을 내부에서 빠르게 파악할 수 있지만, 모든 운영 도구를 자체 개발해야 합니다.
✔️ 최소 2~3명의 개발자가 투입되고, 4개월 이상의 개발 기간이 소요됩니다.
장기적으로 유지보수와 내부 운영 도구 개발을 포함하면 더욱더 많은 시간과 비용이 발생합니다.

하지만 블록체인 서비스 기업들의 핵심 경쟁력은 서비스 내 암호화폐 지갑 기능이 아닌, 서비스 그 자체입니다.

그렇다 보니 최근 많은 기업이 암호화폐 지갑을 자체적으로 개발하지 않고, 검증된 솔루션을 도입하여 암호화폐 지갑을 구축하고 있습니다.

해당 솔루션에 대해서는 글 후반부에서 자세히 다루도록 하겠습니다.

2. 암호화폐 지갑 개발 외주 맡기기

DApp의 암호화폐 지갑을 외주로 개발하면, 어떤 장단점이 있을까?

앞서 블록체인 서비스 기업에서 자체적으로 암호화폐 지갑을 개발할 경우 발생하는 문제점들을 살펴봤습니다. 실제로 많은 대표님들은 블록체인 개발자를 채용하기 힘들고, 내부적으로 암호화폐 지갑까지 개발하기에는 너무 많은 시간과 비용이 들기 때문에 외주 개발을 고민하는 경우가 있습니다.

그런데 과연 개발 외주를 맡기는 것만으로 이러한 문제들이 해결될 수 있을까요?

  1. 보안
    ☐ 장점

    • 보안에 전문성이 있는 외주 개발사에 의뢰한 경우, 우수한 보안 시스템을 갖춘
    지갑 개발이 가능합니다.
    ☐ 단점
    • 외주개발사 마다 전문성이 달라 기대하는 결과물을 받지 못할 수 있습니다.
    • 보안 시스템 강화를 위한 유지보수에 많은 시간과 비용이 발생합니다.
    • 외주 개발사와 구체적인 조율을 위해 최소 1~2명의 회사 담당자가 빈번하게 소통해야 합니다.
  2. 사용자 경험
    ☐ 장점

    • 원하는 방식의 서비스 사용자 경험을 기반으로 지갑을 개발할 수 있습니다.
    ☐ 단점
    • 우수한 사용자 경험을 제공하기 위해서는 지속적인 개선 작업이 필요합니다.
    • 외주 개발사와 커뮤니케이션에 이슈가 있을 때 기획했던 것과 다른 서비스를
    개발 할 수 있습니다.
    • 따라서 개발 외주를 의뢰할 경우 추가 기능 개발 및 개선을 위한 비용이 발생합니 다.
  3. 운영 편의성
    ☐ 장점
    • 모든 운영 도구를 추가로 외주 개발사에 의뢰할 수 있습니다.
    ☐ 단점
    • 운영 도구를 직접 개발한 것이 아니므로, 서비스 운영과 유지보수에 어려움이
    있습니다.
  4. 시간과 비용
    ☐ 장점

    • 개발 범위에 따라 견적과 비용이 다르고, 회사의 예산 내에서 협의를 진행해야
    합니다.
    ☐ 단점
    • 개발 범위 변경 및 추가 개발이 있을 때 큰 비용이 발생합니다.
    • 장기적으로 유지보수와 내부 운영 도구 개발을 포함하면 더욱더 많은 시간과
    비용이 발생합니다.
    • 외부 개발사에서 개발한 내용을 내부 개발팀이 이해하기 위해 많은 시간과 노력이 필요합니다.

결론

블록체인 서비스 내 암호화폐 지갑 개발을 외주 개발사에 맡기면

✔️ 외주 개발사마다 전문성이 다르고, 1차 결과물 이후에도 지속적인 유지보수가 필요합니다.
✔️ 향후 블록체인 서비스 사용자 경험 개선을 위해 추가 개발이 필요한 경우, 추가 비용이 발생합니다. 이 경우, 개선 사항을 서비스에 빠르게 반영하지 못하게 됩니다.
✔️ 서비스 운영을 위한 운영 도구까지 외주 개발을 맡기거나, 운영 도구는 자체적으로 개발해야 합니다.

하지만 아무리 전문성 있는 외주 개발사를 찾았다고 하더라도, 암호화폐 지갑 개발은
일회성 서비스로는 부족합니다. 강력한 보안 시스템과 서비스 개선을 위해 지속적인
유지보수가 필수적이기 때문입니다.

결국 외주 개발을 맡기더라도 단기간에 낮은 비용으로 개발할 수 있는 것이 아니었습니다.

그렇다면 거의 무료로 암호화폐 지갑을 우리 회사 블록체인 서비스에 활용할 수 있는 방법은 없을까요?

3. Web 암호화폐 지갑 활용하기

Metamask와 같은 B2C 암호화폐 지갑을 활용하면 어떨까?

이번에 소개해 드릴 방법은 Metamask와 같은 Web, B2C 지갑을 활용하는 것입니다. 이미 출시된 지갑을 블록체인 서비스에서 활용하는 것인데요, 이 방법의 장단점을 알아보도록 하겠습니다.

가장 대표적인 web 지갑 Metamask를 예시로 설명해 드리도록 하겠습니다.

  1. 보안
    장점
    • Metamask의 경우 서비스 사용자에게 자산에 대한 모든 권한이 있습니다.
    • 따라서 서비스 운영사에서 별도의 보안 시스템을 구축하지 않아도 됩니다.
    단점
    • 서비스 사용자 개인이 키 관리의 모든 책임을 지는 구조이기 때문에, 사용자가 키를 분실했을 경우 서비스에서 대응할 수 없고 이는 서비스 이탈률을 증가시키는 요소입니다.
  2. 사용자 경험
    장점
    • Metamask의 경우 블록체인을 잘 아는 사용자에게는 웹지갑 경험이 익숙할 수
    있습니다.
    단점
    • 블록체인을 잘 모르는 일반 사용자에게 진입장벽이 너무 높습니다.
    • 서비스 사용자가 키를 관리해야 하고, 네트워크 수수료를 지불해야 합니다.
    • 추가로 DApp을 사용하다가 Metamask 로그인과 이용을 위해 서비스를 이탈하는 경험은 좋은 사용자 경험이 아닙니다.
  3. 운영 편의성
    장점
    • Metamask와 같은 지갑은 모든 권한이 사용자에게 있으므로, 서비스 차원에서
    운영해야 할 것들은 적습니다.
    단점
    • 지갑 권한이 서비스와 단절되어있기 때문에, 지갑과 관련된 사용자의 문의가 왔을 때 대처할 방법이 없습니다.
  4. 시간과 비용
    장점
    • Metamask와 같은 지갑 서비스가 연동되도록 App/Web을 개발하면 쉽게 활용할 수 있습니다.
    단점
    • 자체 개발 혹은 외주 개발보다 비용과 시간은 단축되지만, 실제로 활용할 수 있는 사용자가 적어 많은 cs 문의나 사용자 이탈이 발생할 수 있습니다.
    • 그러므로 서비스 운영사가 암호화폐 지갑 기능을 효과적으로 제공하지 못할 수 있습니다.

결론

Metamask와 같은 B2C 지갑을 활용하는 경우

✔️ 서비스 사용자 개인이 키 관리의 모든 책임을 지는 구조이기 때문에, 사용자가 키를 분실했을 경우 서비스에서 대응할 수 없고 이는 서비스 이탈률을 증가시키는 요소입니다.
✔️ 블록체인을 잘 모르는 일반 사용자에게 진입장벽이 너무 높습니다.
✔️ 지갑 권한이 서비스와 단절되어 있으므로, 지갑과 관련된 사용자의 문의가 왔을 때 대처할 방법이 없습니다.
✔️ 자체 개발 혹은 외주 개발보다 비용과 시간은 단축되지만, 실제로 활용할 수 있는 사용자가 적어 많은 cs 문의와 사용자 이탈이 발생할 수 있습니다.

그렇다면 과연 블록체인 서비스 기업(DApp)들이 선택한 best practice는 무엇일까요?

4. 암호화폐 지갑 API 연동하기

Henesis Wallet과 같은 API 암호화폐 지갑은 어떤 장단점이 있을까?

마지막을 소개해드릴 방법은 Henesis Wallet과 같은 암호화폐 지갑 API입니다. 명령어 한 줄로 API를 연동하면 블록체인 App/Web 서비스에 내장된 암호화폐 지갑을 구축하는 방식입니다.

가장 대표적인 암호화폐 지갑 API인 Henesis Wallet을 예시로 설명해 드리도록 하겠습니다.

  1. 보안
    장점
    • Henesis Wallet은 2-of-3 다중 서명(Multi-sig) 기술을 활용한 비 수탁형 지갑입니다.
    ☑︎ 디지털 자산의 소유권을 분산하여 도난 리스크를 낮출 수 있습니다.
    ☑︎ 2-of-3 구조로 자산의 소유권을 Henesis Wallet에 위임하지 않아도 됩니다.
    ☑︎ 서비스 운영사의 키 분실을 대비하여 복구 키트가 발급됩니다.

    • 내부자 리스크를 통제할 수 있는 대시보드를 지원합니다.
    ☑︎ 내부 팀원별 권한을 분리하여 통제할 수 있습니다.
    ☑︎ 팀원들은 정해진 주소로만 한도 이내에서 출금할 수 있습니다.
    ☑︎ 이외에도 OTP 이중 인증, IP 주소와 출금 주소 화이트리스팅, 네트워크 통신
    암호화 등 가능한 모든 탈취 시나리오를 방어합니다.

    단점
    • 서비스 사용자가 키를 보관하지 않는 구조로 우수한 사용자 경험을 제공하지만, 다소 중앙화되어있는 솔루션 입니다.
  2. 사용자 경험
    장점
    • 서비스 사용자는 블록체인을 몰라도 DApp을 쉽고 편리하게 사용할 수 있습니다.
    ☑︎ 서비스 운영사가 키를 관리하고 네트워크 수수료를 대납하는 구조를 지원합니다.
    ☑︎ 서비스 진입장벽을 낮춰 많은 사용자 유입을 통한 서비스 활성화가 가능합니다.

    단점
    • 혹시라도 스스로 키 보관과 네트워크 수수료를 지불하고 싶은 사용자가 있다면, 지원이 어렵습니다.
  3. 운영 편의성
    장점
    웹 대시보드를 통해 언제 어디서든 통제할 수 있습니다.
    ☑︎ 물론 아무나 접속할 수는 없습니다. OTP, IP 주소 이중 인증이 필요합니다.
    ☑︎ 개발을 모르는 관리자도 하나부터 열까지 시스템을 통제할 수 있습니다.
    ☑︎ 언제, 어디에서, 얼마를 입금하고 출금하였는지 확인하세요.
    ☑︎ 팀원 권한, API 키 접근 권한, 지갑별 1일/1회 출금 한도 등을 확인&조정하세요.
    대시보드 주요 기능
    ☑︎ 내부 팀원별 권한 분리
    ☑ 입출금 QR코드 제공
    ☑ 수수료 지갑 제공 (하나의 수수료 지갑으로, 모든 지갑 계정의 네트워크 수수료 편리하게 지불)
    ☑ 지정 출금 한도 초과 시 담당 관리자들의 승인 필요 등
Henesis Wallet 대시보드

단점
• 웹 대시보드가 제공됨에도 불구하고 서비스 운영사에서 모든 운영 도구를 자체 개발하고 싶은 경우가 있을 수 있습니다.
☑︎ 하지만 블록체인 서비스 운영사에 필요한 모든 기능이 제공되기 때문에 자체 개발할 필요는 없습니다.

4. 시간과 비용
장점
• API로 1주일 만에 암호화폐 지갑을 연동할 수 있습니다.
☑︎ 명령어 1줄이면 쉽게 연동할 수 있습니다.
☑︎ 전문 인력을 채용하거나, 교육하지 않아도 됩니다.
☑︎ 친절한 개발 문서가 제공됩니다.
• 자체 개발, 외주개발 보다 낮은 비용으로, 최적의 암호화폐 지갑 서비스를 구축할 수 있습니다.

단점
• Metamask와 같은 web 지갑을 활용하는 것 보다는 큰 비용이 소요됩니다.

결론

Henesis Wallet과 같은 암호화폐 지갑 API를 연동하는 경우

✔️ 2-of-3 다중 서명(Multi-sig) 기술을 활용한 비 수탁형 지갑으로, 암호화폐 소유권을 분산하여 도난 리스크를 낮출 수 있습니다.
✔️ 서비스 사용자가 블록체인을 전혀 몰라도 DApp을 쉽게 사용할 수있습니다.
✔️ 서비스 진입장벽을 크게 낮춰 많은 사용자 유입을 통한 서비스 활성화가 가능합니다.
✔️ API로 1주일 만에 암호화폐 지갑을 연동할 수 있습니다.
✔️ 개발을 모르는 관리자도 웹 대시보드를 통해 모든 시스템을 통제할 수 있습니다.

마치며

오늘은 블록체인 App/Web 서비스를 위해 암호화폐 지갑 개발 방법론 4가지와, 각각의 특징들을 살펴보았습니다.

암호화폐 지갑에서 가장 중요한 보안, 사용자 경험, 운영 편의성 그리고 시간과 비용 항목을 기준으로 살펴보며 각 방법론의 장/단점에 대해 알 수 있었습니다.

그 결과, Henesis Wallet은 다양한 방법론의 단점을 해결하면서도 DApp 기업들이 필요로 하는 모든 기능을 제공한다는 측면에서 최적의 선택지임을 알게 되었습니다.

대표적으로 직토(얼마야), 비트베리, 해시드, 하이블럭스 등의 기업들이 도입한 Henesis Wallet

Henesis Wallet에 대해 자세히 알아보고 싶으신 블록체인 서비스 기업 담당자분은, 언제든 편하게 연락주시기 바랍니다.

contact@henesis.io

감사합니다.
Henesis 팀 드림

--

--

HAECHI LABS
HAECHI LABS

BRIDGING THE FUTURE OF DIGITAL OWNERSHIP FOR EVERYONE