본문 바로가기
Blockchain

[Blockchain] 스마트 컨트랙트 월렛(Contract Account)?

by 개발자 염상진 2022. 6. 21.

이더리움 블록체인에서 일반적으로는 EOA(External Owned Account)를 통해 자산을 관리할 수 있습니다. 하지만 EOA는 제한된 기능을 가지고 있습니다. 대표적으로 스마트 컨트랙트 코드를 담을 수 없습니다. 스마트 컨트랙트를 사용하는 월렛을 스마트 컨트랙트 월렛(Contract Account)이라고 합니다. 이더리움에서는 주소와 개인키의 조합을 어카운트(Account)로 관리합니다 :)

CA는 스마트 컨트랙트를 이용하는 지갑입니다. 따라서 CA를 사용하는 경우 코드를 담을 수 있습니다. 따라서 누가 특정 조건에서 자산에 접근할 수 있도록 프로그래밍화 할 수 있게 됩니다. CA에서는 개인키가 아닌 스마트 컨트랙트로 관리 되므로 EOA 기반 월렛에 비해 높은 보안성과 편의성을 제공하고 있습니다.

 

 

  • 멀티 시그 트랜잭션
  • 일일 송금 제한 - 트랜잭션의 금액을 제한할 수 있습니다. 순간적인 오판단으로 제출된 트랜잭션은 undo가 불가능합니다. 또한 공격자가 해당 자산을 모두 탈취하는 것을 방지할 수 있습니다. 
  • 화이트/블랙 리스트 관리 : 사용자가 지정한 주소로만 송금이 가능하도록 설정할 수 있습니다. 
  • 긴급 계정 동결 
  • 안전한 계정 복구 - 장치를 분실한 경우 계정을 잠글 수 있고 손상된 장치에 대한 액세스 권한을 비활성화할 수도 있습니다.
  • 2단계 인증 - 인증 앱 혹은 기본 지갑 솔루션으로 추가 보안기능 제공

CA를 사용하면 위와 같은 기능들을 추가로 사용할 수 있습니다. 또한 다른 dApp들과 상호작용도 가능하기 때문에 범용성이 높습니다. 컨트랙트 계정에는 상응하는 개인키가 존재하지 않고 스마트 컨트랙트를 블록체인에 배포할 때 생성됩니다. 다른 컨트랙트의 호출을 받아 트랜잭션을 발생시킬 수도 있습니다. 

 

 

스마트 컨트랙트 월렛의 종류

 

웹 월렛

웹 기반으로 계정을 생성하고 자산을 보관할 수 있습니다. 인터넷 브라우저의 확장 기능을 사용해 웹 사이트에서 송금이 가능합니다. 인터넷에 연결되어 있어 편의성은 높지만 해킹에 대한 위험이 존재합니다.

데스크탑 월렛

Operating System에서 작동하는 월렛입니다. 인터넷 연결 여부에 따라 핫월렛 콜드월렛으로 구분됩니다.(핫월렛 콜드월렛 차이?) 보안을 고려해 두가지 종류 중 하나를 선택해서 사용할 수 있습니다. 

 

 

모바일 월렛

웹 월렛처럼 인터넷에 연결해서 사용할 수도 있고, 오프라인 환경에서 안전하게 사용할 수도 있습니다. 구글 플레이나 앱 스토어에서 다운 받아 사용할 수 있습니다. 언제 어디서든지 거래가 가능합니다. 

하드웨어 월렛

콜드 월렛의 한 종류입니다. 개인 키를 인터넷에 노출시키지 않으면서 관리가 가능하고 필요할 때만 인터넷에 블록체인 네트워크에 연결해 송금할 수 있습니다.

멀티 시그 월렛

멀티 시그(Multi-Sig)를 통해 송금이 가능한 방식입니다. 기존 핫 월렛과 콜드 월렛의 경우 단일 개인키가 노출되면 자산보호가 힘든 단점을 가지고 있었습니다. 이러한 문제를 해결하기 위해 등장한 것이 멀티 시그 월렛 입니다. 

멀티 시그 월렛은 하나의 지갑에 여러명의 사용자가 지갑에 대한 소유권한을 가지게 됩니다. 따라서 해당 지갑에서 트랜잭션을 생성하기 위해서는 여러 명의 사용권한을 가진 사람들 중 특정 수의 사람이 트랜잭션에 서명하는 방식을 취합니다.

 

 

멀티 시그 월렛은 스마트 컨트랙트로 구현됩니다. 이더리움에서는 지갑의 소유권한을 가진 사람들 중 특정수가 트랜잭션에 서명을 하도록 조건문을 명시하게 됩니다. 따라서 특정 수의 사용자가 멀티 시그 월렛 컨트랙트에 트랜잭션을 보내야 지갑 사용이 가능해집니다.

단일키를 사용하는 일반 지갑보다 보안성이 우수하지만 지갑 사용을 위해서는 여러 사용자를 모아야 하는 점 때문에 편의성은 떨어집니다. 또한 대부분의 거래소에서는 일반 지갑에서 발생한 트랜잭션만 처리하기 때문에 멀티 시그 월렛의 트랜잭션을 인식하지 못하는 경우도 있습니다. 만약 스마트 컨트랙트에 코드 오류가 있다면 심각한 보안 위협이 될 수 있습니다. 

 

 

 

[Blockchain] 핫 월렛 콜드 월렛 차이 (암호화폐 지갑이란?)

블록체인에서는 지갑을 사용해서 다른 노드와 거래를 할 수 있습니다. 블록체인 뿐만 아니라 현실 세계에서도 돈을 다른 사람에게 보내기 위해서는 계좌번호와 공인인증서, 비밀번호가 필요합

about-tech.tistory.com

 

 

[Security] 디지털 서명(Digital Signature)이란? 검증 확인 원리

공개 키 방식(PKC, Public Key Cryptographym)은 전형적인 비대칭키 암호 방식을 사용합니다. 공개키와 개인키로 구성된 두개의 키로 암호화/복호화를 진행합니다. 공개키와 개인키는 ECDSA라는 타원 곡선

about-tech.tistory.com

 

 

[Security] 대칭키 비대칭키 암호화 방식 비교

블록체인에서 보안을 위해서 암호학을 사용합니다. 정보 보안에서는 합리적인 정보 사용을 위해 기밀성, 무결성, 가용성, 부인봉쇄의 4가지 요소를 가지고 있어야 합니다. 또한 상황에 맞는 암

about-tech.tistory.com

 

댓글