온체인과 오프체인의 차이점이 궁금합니다.
블록체인의 호율성을 위해서 온체인과 오프체인으로 분류하여 데이터?처리를 하는것으로 알고 있습니다. 두 체인이 어떻게 다른지 궁금합니다.
안녕하세요. 오프체인과 온체인에 대하여 답변드리겠습니다
오프체인(Off-chain Transaction)이란?
블록체인 네트워크를 사용하지 않고 트랜잭션을 발생하여 사전거래를 하는 방식입니다.
차후에 온체인과 연동하여 최종 검증을 통해 블록을 생성하게 됩니다.
온체인(On-chain Transaction)이란?
일반적으로 사용되는 블록체인 네트워크의 개념입니다.
오프체인에서 발생된 트랜잭션들을 검증하고 블록을 생성하게 됩니다.
쉽게 말해 소액의 거래나 자잘한 트랜잭션들을 오프체인을 통해 묶음형식(트랜잭션 덩어리)으로 만들어서 온체인상에 올리게 되고 이를 검증과 합의를 통해 블록을 생성하기 때문에 일반적으로 하나하나 개별로 처리하는 방식보다 속도가 빨라지게 됩니다. 이럴 경우 수수료가 저렴해지는 효과도 있습니다.
감사합니다.
트랜잭션 정보내의 저장정보는 모두 공개가 되어있씁니다. 하지만 오프체인내의 정보는 비밀을
보장할수있습니다. 온체인에 연결된 블럭저장에는 한계가 있고 이러한 단점을 보안하고 져 오프체인
시스템을 도입했습니다. 오프체인에는 온라인상에 공개되지 꺼리는 각종 개인정보를 저장하고
거래에 관련된 정보만 온체인에 연결하여 처리속도를 높이고 블럭저장공간을 해서하기 위한 방법입니다.
하지만 온체인블럭에 연결된 정보는 해킹이나 조작이 불가능하나 오프체인에 연결된 정보는 해킹이
중간저장순간에 조작이 가능합니다. 이러한 단점으로 인해 뜨거운 감자입니다.
그동안 블럭내부에 저장해야할 많은 정보가 증가함에 따라 많은 문제점이 증가하고 있습니다.
따라서 블럭의 내용에 따라 어떠한 용도의 정보가 저장되어질지 선별을 해야할 문제에 당면
하게 됩니다. 한마디로 확장성의 문제가 대두합니다.
온체인과 오프체인은 두 저장공간을 어떻게 연결하고 해결하는 가에 따라 얼마나 정확하고
유용성있는 코인인가가 증명될 정도로 발전해왔습니다.
비트코인도 이전에는 블럭용량이 1m의 용량이었습니다. 하지만 거래정보의 70%를 저장하는
플랫폼을 구사하여 지금은 블럭용량을 2m로 늘릴수 있었습니다.
이런 개념에서 등장하는 기술이 오프체인 기술이었습니다.
블럭에 관한 정보를 노드에 저장하고 이러한 정보를 p2p를 통하여 공유하는 방법을 사용합니다
ipfs같은 웹 분산화 프로토콜을 이용하면 큰 블럭의 용량을 작게 분산화하여 저장할수 있습니다.
파일의 해시값을 나눠저장할수있으므로 블록의 비대성을 해결할수있었습니다.
하지만 공유솔루션이기에 모든사람이 파일을 공유하므로 해킹의 위험성에 존재하게 됩니다,.
그래서 ipfs에 자료를 올리기전에 암호화해서 올리기 시작했습니다.
블럭의 확장성 해결문제와 더불어 오프체인의 정보를 온체인과 어떻게 접속하는가가
관건이 되었습니다. dapp들은 중재자 없이 디지털 명령어만으로 계약을 성사시키는
스마트컨트랙트를 현실화 하지만 이또한 오프체인 정보를 어떻게 불러오는가가
문제점으로 대두하게 됩니다. 외부 체인의 정보를 가져오지 못한 dapp들은 1차원적인 정보만을
제공하여 도퇴되어 가고 있었습니다. 또 외부체인의 정보를 가져왔다 하더라도 얼마나 신뢰할수
있을까하는 문제점이 대두하였습니다. 이렇게 외부체인의 정보를 온체인으로 가져올수 있는가에
대한 문제점인 오라클은 하드웨어오라클,소프트웨어오라클,아웃바운드오라클등으로 구분합니다.
이런 오라클의 문제를 해결하는 방법으로 dapp들은 여러가지 방법을 간구합니다.
@. 타업체와 공조하여 솔루션을 제공받는 미들웨어 방식
@. dapp가 일정부분 지분(pos)을 보유한 노드를 구성하는 방식(라이닝네트워크의 사이드체인)
여러가지 방법으로 온체인과 오프체인을 연결하는 오라클 문제를 해결하는 방안은 많은
시행착오를 거쳐 발전해 나가고있습니다.