2-Way Pegging

UEG·2022년 8월 22일
0
post-thumbnail

개요

블록체인의 자산이동 방법에는 여러 가지가 있다. 그중에서도 가장 대표적인 2-Way Pegging에 대하여 알아볼 예정이다.
본격적으로 들어가기 전에 알아야 할 것들이 많으니 하나씩 알아보도록 하자.

1. 사이드체인(Side-Chain)

간단히 말하면 상위 블록체인 혹은 Mainnet 블록체인에 연결하는 별도의 블록체인 네트워크다.
현재 블록체인 네트워크에서 제한적이거나 다른 네트워크의 기능들이 필요할 때, 다른 블록체인 네트워크에 해당 상응 코인을 만들어 기능을 사용하기 위해 개발되었다.

이러한 방식은 토큰과 같은 디지털 자산이 블록체인 간에 안전하게 전송되어 프로젝트가 분산된 방식으로 생태계를 확장할 수 있는 장점이 있다.

사이드체인 구축

사이드체인과 메인넷 간에 디지털 자산을 전송하려면 두 블록체인 간에 데이터를 전송하는 오프체인 프로세스가 구축되어야 한다.

    1. 스마트 컨트랙트는 메인넷과 사이드체인에서 검증인이 교차 체인 거래를 확인하는 정직하게 행동하도록 하여 부정행위를 최소화하는 데 사용된다.
    1. 트랜잭션이 발생하면 스마트 컨트랙트는 이벤트가 발생했음을 메인넷에 알린다.
    1. 오프체인 프로세스는 트랜잭션 정보를 사이드체인의 스마트 컨트랙트로 전달하여 트랜잭션을 확인한다.
    1. 이벤트가 확인된 후 자금은 사이드체인에서 해제되어 사용자가 두 블록체인에서 디지털 자산을 이동할 수 있다.

* 스마트 컨트랙트(Smart Contract)란
디지털로 작성된 계약서를 의미.
스마트 컨트랙트 기술은 디지털의 특성상 서면으로 기술된 계약서에 비해 명확성을 가지고 있으며 조건에 따라 디지털로 자동 수행이 가능하다는 장점이 있다.

2. SPV Proof

Simplified Payment Verification의 약자다.
암호화 지갑과 지갑이 적은 리소스를 사용하여 빠르고 쉽게 작동할 수 있는 방법이다.

2-1. 장점

SPV Proof를 사용하는 경우 트랜잭션을 확인하기 위해 각 블록의 Merkle root만 알면 되므로 블록당 80바이트만 저장하면 돼서 경제적이다. 이것은 스마트 컨트랙트 내부에서 검증을 실행하는 것을 가능하게 만들어준다.

2-2. 단점

하지만 Merkle Tree에 의존하는 SPV Proof는 악의적인 의도를 가지고 전체 노드에 잘못된 정보 제공하여, 문제를 일으킬 수 있는 치명적 단점이 있다.

  • 공격자는 SPV 지갑을 사용하여 피해자에게 임의의 금액을 지불하는 것을 시뮬레이션하고 피해자가 유효한 것으로 수락하도록 속일 수 있다.
  • 비트코인 Merkle Tree는 Inner 노드와 Leaf 노드를 구분하지 않으므로 트랜잭션을 노드로, 노드를 트랜잭션으로 재해석할 수 있는 공격에 의해 조작될 수 있다.
    (형식이 없고 길이만 64바이트로 요구하는 내부 노드 때문이다)

* Merkle Tree에 관한 내용은 아래 내용을 참고
https://www.banksalad.com/contents/%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85%ED%95%98%EB%8A%94-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%EB%A8%B8%ED%81%B4%ED%8A%B8%EB%A6%AC-Merkle-Trees-%EB%9E%80-ilULl

2-3 해결방법

이러한 문제들 때문에 지금까지 'Erasure Codes', 'Merklix Trees' 등 많은 개량을 거쳐서 보안 및 개인 정보를 개선하기 위해 노력하고 있다.

3. 2-Way Pegging(Two-Way Peg)

이 방법은 쉽게 말하면 메인넷(부모체인)과 사이드체인 간에 양방향으로 자산을 전송할 수 있는 방법이다.

실제로는 코인은 전송되지 않고 일시적으로 블록체인에 잠겨 있는 반면 동일한 양의 동등한 토큰이 사이드체인에서 잠금 해제가 된다.

3-1. Two-Way Peg 과정

    1. 부모체인에 있는 코인을 사이드체인으로(output address)로 보내고 그 코인은 Lock을 건다.
    1. 트랜잭션이 완료되고 보안을 위해 Confirmation Period 과정을 진행한다.
    1. 체인 간에 Confirmation이 공유되면 사이드체인에서 해당 트랜잭션을 SPV Proof를 이용해 유효성을 검증한다.
    1. Contest Period를 거쳐서 부모체인에서 Lock이 걸린 코인과 같은 양의 상응된 코인을 사이드체인에서 발행한다.
    1. 사이드체인에서 발행된 코인을 자유롭게 사용한다.
    1. 코인을 사이드체인에서 다시 부모체인으로 전송하면 트랜잭션을 발생시킨다.
      (다시 Confirmation Period, Contest Period 과정 거쳐야 함)
    1. 정상적으로 트랜잭션이 확인되면 사이드체인의 상응된 코인은 삭제되고, 부모체인에서의 코인의 Lock이 풀린다.

* Confirmation Period
부모체인에서 사이드체인으로 코인을 전달하기 전에 부모체인에 코인이 Lock 되는 것이 확정되는 기간

* Contest Period
부모체인에서 사이드체인으로 전달된 코인이 사이드체인에서 사용될 수 없는 기간

결론

이러한 Two-Way Peg 방법은 해당 블록체인 안에 묶여있던 코인들을 자유롭게 사용하고, 별다른 수정을 하지 않고도 여러 가지 블록체인 기능들을 적용해볼 수 있다는 점에서 혁명적이라 할 수 있다.

하지만 이 방식은 자산 이동 자체에 대한 방법이라서 나쁜 의도를 가지고 교환 비율에 장난을 친다던가, 부모체인으로의 자산 쏠림 현상 등에 대한 대비책이 부족하다.

앞으로도 블록체인의 다양한 자산 이동 방법들에 대한 연구가 계속되고, 기술개발이 되어 많은 사용처가 생기길 기대한다.

profile
Make a step forward

0개의 댓글