블록체인의 자산이동 방법에는 여러 가지가 있다. 그중에서도 가장 대표적인 2-Way Pegging에 대하여 알아볼 예정이다.
본격적으로 들어가기 전에 알아야 할 것들이 많으니 하나씩 알아보도록 하자.
간단히 말하면 상위 블록체인 혹은 Mainnet 블록체인에 연결하는 별도의 블록체인 네트워크다.
현재 블록체인 네트워크에서 제한적이거나 다른 네트워크의 기능들이 필요할 때, 다른 블록체인 네트워크에 해당 상응 코인을 만들어 기능을 사용하기 위해 개발되었다.
이러한 방식은 토큰과 같은 디지털 자산이 블록체인 간에 안전하게 전송되어 프로젝트가 분산된 방식으로 생태계를 확장할 수 있는 장점이 있다.
사이드체인과 메인넷 간에 디지털 자산을 전송하려면 두 블록체인 간에 데이터를 전송하는 오프체인 프로세스가 구축되어야 한다.
* 스마트 컨트랙트(Smart Contract)란
디지털로 작성된 계약서를 의미.
스마트 컨트랙트 기술은 디지털의 특성상 서면으로 기술된 계약서에 비해 명확성을 가지고 있으며 조건에 따라 디지털로 자동 수행이 가능하다는 장점이 있다.
Simplified Payment Verification의 약자다.
암호화 지갑과 지갑이 적은 리소스를 사용하여 빠르고 쉽게 작동할 수 있는 방법이다.
SPV Proof를 사용하는 경우 트랜잭션을 확인하기 위해 각 블록의 Merkle root만 알면 되므로 블록당 80바이트만 저장하면 돼서 경제적이다. 이것은 스마트 컨트랙트 내부에서 검증을 실행하는 것을 가능하게 만들어준다.
하지만 Merkle Tree에 의존하는 SPV Proof는 악의적인 의도를 가지고 전체 노드에 잘못된 정보 제공하여, 문제를 일으킬 수 있는 치명적 단점이 있다.
* 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
이러한 문제들 때문에 지금까지 'Erasure Codes', 'Merklix Trees' 등 많은 개량을 거쳐서 보안 및 개인 정보를 개선하기 위해 노력하고 있다.
이 방법은 쉽게 말하면 메인넷(부모체인)과 사이드체인 간에 양방향으로 자산을 전송할 수 있는 방법이다.
실제로는 코인은 전송되지 않고 일시적으로 블록체인에 잠겨 있는 반면 동일한 양의 동등한 토큰이 사이드체인에서 잠금 해제가 된다.
* Confirmation Period
부모체인에서 사이드체인으로 코인을 전달하기 전에 부모체인에 코인이 Lock 되는 것이 확정되는 기간
* Contest Period
부모체인에서 사이드체인으로 전달된 코인이 사이드체인에서 사용될 수 없는 기간
이러한 Two-Way Peg 방법은 해당 블록체인 안에 묶여있던 코인들을 자유롭게 사용하고, 별다른 수정을 하지 않고도 여러 가지 블록체인 기능들을 적용해볼 수 있다는 점에서 혁명적이라 할 수 있다.
하지만 이 방식은 자산 이동 자체에 대한 방법이라서 나쁜 의도를 가지고 교환 비율에 장난을 친다던가, 부모체인으로의 자산 쏠림 현상 등에 대한 대비책이 부족하다.
앞으로도 블록체인의 다양한 자산 이동 방법들에 대한 연구가 계속되고, 기술개발이 되어 많은 사용처가 생기길 기대한다.