이더리움 멀티시그 지갑 소개(1)

Alex Park
Hexlant
Published in
4 min readNov 2, 2018

이더리움은 트랜잭션 생성시 하나의 서명만 필요하기 때문에 “단일 서명 트랜잭션”이라고 할 수 있습니다. 하지만 스마트 컨트랙트를 통해 다중 서명 트랜잭션을 지원할 수 있습니다. 예를 들어 등록된 서명중 3분의 2 이상의 해당 트랜잭션을 승인 하였을 경우만 실행한다는 등의 복잡한 트랜잭션도 실행 가능해집니다.

  1. 이더리움 멀티시그 지갑 목록

multisig wallet 기능이 간단히 구현되어 코드를 이해하기 쉬우나 현재 오랜 시간 업데이트 되지 않고 있습니다.

Consensys multisig 에 조금 더 기능 향상이 되었고 주기적으로 업데이트 되고 있고 ERC20 토큰 전송 및 Wallet UI 제공

ERC20 토큰 전송을 지원합니다

Mist 또는 Ethereum Wallet 과 연동 가능

2017년 11월 6일 multisig wallet 치명적 버그로 인해 악의적인 사용자가 해당 컨트랙트를 삭제 하였고 이로 인해 전체 발행량의 1%에 해당하는 이더리움 Lock 되어 버림.

2. Gnosis’ Multisig Wallet 특징

Gnosis’ Multisig Wallet은 주기적으로 업데이트 되고 있고 Open Zepplin 의 Audit 레포트를 통해서 취약성 검증이 되었기 때문에 해당 지갑으로 실습을 진행해보겠습니다.

  • 이더리움 및 이더리움 토큰 지원
  • 오프라인 서명 (콜드 지갑) 지원
  • 메타 마스크, Mist, Parity 지갑과 손쉬윈 통합
  • 트랜잭션 데이터 및 로그 디코딩을 쉽게 볼 수 있게 가공
  • 손쉬운 사용을 위한 UI 지원
  • 하드웨어 지갑 지원 (Ledger Wallet)
  • 이벤트가 발생되거나 대상자가 거래에 서명 해야하는 경우 선택적으로 알림 기능

3. Remix을 이용하여 Gnosis’ Multisig Wallet 배포해보기

  • 해당 경로에서 MultisigWallet.sol 소스를 다운로드 후 remix 창에 복사 붙여 넣습니다.
  • Account 에 컨트랙트를 배포할 충분한 이더가 있는지 확인합니다.
  • MultiSigWallet 컨트랙트를 선택합니다.
  • Deploy 오른쪽 input 창에 [“자기주소(owner)”], 1 입력후 Deploy 버튼을 클릭합니다.

4. Remix을 이용하여 Gnosis’ Multisig Wallet 실행해보기

  • 배포가 완료되면 오른쪽 화면과 같이 Multisig Wallet 컨트랙트의 기능을 사용 할 수 있는 화면이 표시됩니다.
  • 앞서 Deploy 시에 두번째 인자에 1을 넣으셨던걸 기억하실텐데요. 이 인자는 몇명의 오너가 승인을 해야 트랜잭션이 실행될지 정하는 것인데요. 일단 1명으로 설정을 해놓고 진행하겠습니다.

이제까지 Gnosis’ Multisig Wallet 을 네트워크에 배포하고 간단하게 실행해 보았습니다. Remix 를 통해서도 멀티시그지갑을 관리 할 수 있지만 입력값 및 출력값을 확인 하는데 불편함이 있어 다음 포스팅부터는 Gnosis 에서 제공하는 UI 툴을 이용하여 진행하겠습니다.

--

--