온체인 트랜잭션은 메인 체인 위에서 발생하는 트랜잭션이다.
오프체인 트랜잭션은 메인 체인이 아닌 다른 곳에서 발생하는 트랜잭션이다.
(ex : 이더리움에서 볼 때는 비트코인 체인에서 발생하는 트랜잭션은 off-chain이다.)
온체인을 이용하면 모든 내용을 블록체인에 기록하게 되어 높은 안정성을 얻는다.
하지만 아래 내용과 같이 오프체인을 써야 하는 이유가 있다.
속도
트랜잭션이 발생한 후 해당 트랜잭션이 블록체인 네트워크에 전파되어 확정되는데 까지는 꽤 오랜 시간이 걸린다. 그래서 빠른 처리가 필요한 서비스는 온체인에서 처리하지 못하고 오프체인에서 처리를 해야만 하는 경우가 생긴다.
프라이버시
블록체인에 올라가는 트랜잭션의 모든 내역은 공개 장부를 통해서 모든 사람들에게 공개 된다. 그런데 공개를 원치 않는 개인정보 등이 담겨 있는 트랜잭션을 발생시켜야 된다면, 그때 오프체인으로 처리를 한다.
비용/확장성
트랜잭션 검증 시 채굴자에게 지불해야되는 비용이 발생하며, 초당 처리할 수 있는 트랜잭션의 수(TPS)가 너무 적다. 그래서 빈번이 일어나는 소액결제와 같은 서비스를 현재 온체인에서 수행하게 된다면 송금액보다 수수료를 더 많이 지불해야 될 수 있다.
오프 체인 트랜잭션 처리 방법은 다음과 같다.
메인 체인에 보증금과 같은 형태로 Lock을 걸어두고, 오프 체인 트랜잭션을 수행한 후 모든 트랜잭션이 완료되면 내역을 정산해서 메인 체인에 반영하며, 보증금을 돌려받는 방식이다.
상태/지불 채널(State/Payment Channel)
두 사용자 만이 사용할 수 있는 채널을 열어서 오프체인 트랜잭션을 수행한다. 그리고 최종 결과에 해당하는 트랜잭션을 메인 체인의 트랜잭션으로 만들어서 반영한다.
인터체인
서로 다른 블록체인 메인 네트워크를 이어서 모두가 이어진 커다란 블록체인 네트워크를 만들고자 진행 중인 프로젝트들. 인트라넷을 이어서 인터넷을 만들것도 비슷하다고 생각하면 좋을 듯 하다.
조금 다르게 생각하면 자신의 네트워크를 메인 네트워크로 사용하고 나머지 블록체인 네트워크들을 사이드 체인 처럼 사용한다고 볼 수도 있다.
예 : COSMOS, ICON, AION
사이드 체인 (Sidechains)
담보물을 맡기고 돈을 빌리는 것을 생각하면 됩니다. 비트코인 소유자가 다른 블록체인 위에서 거래를 하고자 할 때, 기존 비트코인을 ‘동결(Freeze)’시킨다. 그리고 이 비트코인에 해당하는 ‘대체물(Counterpart)’을 만들어 교환하게 된다. 이렇게 만들어진 대체물은 사이드체인 위에서 얼마든지 입맛에 맞게 사용되어질 수 있고, 나중에 비트코인으로 다시 교환해갈 수 있다.
비트코인을 텐더민트 블록체인 위에서 거래하고자 한다고 가정했을 때 다음의 순서를 따를 것이다.
1) 비트코인을 특정한 목적으로 생성된 계좌에 전송한다.
2) 당신은 해당 비트코인에 대한 권한을 잃으며 그 비트코인은 동결(immobilized)된다.
3) 동시에 반대급부로, 그 비트코인에 상응하는 코인이 텐더민트 블록체인 위에 생성된다. (그 코인은 상응물이지만 현실적으로 그냥 비트코인이라고 보아도 무방하다)
4) 해당 코인을 텐더민트 블록체인 위에서 다양한 다른 코인이나 기타 상응물들과 자유롭게 거래한다.
5) 해당 비트코인의 최종 소유자가 이를 비트코인 블록체인에 있는 원래의 비트코인으로 바꾸고자 한다.
6) 텐더민트 위에 생성되었던 비트코인은 삭제되고, 실제 비트코인 블록체인 위의 비트코인의 동결이 풀린다.
7) 최종 소유자는 자신의 이체권한을 해당 비트코인에 행사할 수 있게 된다.
예 : Loom Networks의 sidechains (DappChains, ZombieChain)
(출처가 현재 불명확해 출처를 적으려 했지만 적지 못했습니다. 문제가 된다면 삭제 조치 하겠습니다.)
'Applied > Blockchain' 카테고리의 다른 글
ChainLink 백서 한글 번역 (0) | 2019.06.04 |
---|---|
LINE+LINK-dev 2018 후기 (0) | 2018.11.11 |
블록체인 Finality란? PoW, PoS 관점 (0) | 2018.11.03 |
이더리움 플라즈마(Ethereum Plasma)란? (0) | 2018.11.01 |
EVM에 대한 간단한 정리 (0) | 2018.10.31 |