오프체인의 보안성은 높은 편인가요?
제가 사용하고 있는 앱 지갑은 오프체인 컨트렉트를 활용해 회원들끼리 주고받는 속도성을 높였다 라는 특징이 있습니다. 온체인 지갑의 경우는 개별 지갑 주소를 운영하고 그만큼 개인이 키를 관리해야하는 책임이 따라야합니다. 오프체인 환경의 지갑은 코인을 전송할 때 개별 지갑 주소를 운영하고 있지만 이것이 개인만 사용하는 것이 아니라고 들었습니다. 이용중 해킹이나 프라이빗 키 탈취와 같은 걱정이 우려되는데 오프체인 구조의 지갑의 보안성은 높은지 궁금하네요.
안녕하세요. 오프체인의 보안성에 대하여 답변드리겠습니다.
오프체인은 온체인 보다 보안성이 다소 낮다고 보여집니다. 온체인 같은 경우 해당 거래내역을 블록체인 네트워크를 통해 다른 노드에 공유하여 검증하게 되지만 오프체인은 1:1 거래 같은 직거래 또는 단독거래 방식으로 운영되기 때문에 중간에 거래내역이 변조 및 조작될 가능성이 있기 때문입니다.
온체인 : 데이터 공유를 통한 분산 처리 / 일부 노드에 데이터 조작이 발생해도 대처 가능
오프체인 : 당사자들간의 직거래를 통한 단독 처리 / 중간에 데이터 조작이 발생될 경우 대처가 힘듬
또한 거래내역을 한대 모아 처리하기 때문에 경우에 따라 다른사람의 거래내역을 조회할 수 있는 프라이버시 문제가 있습니다. 이를 보완하기 위해 거래내역마다 암호화 등을 통해 보완하고 있습니다.
감사합니다.
오프체인 솔루션인 라이트닝 네트워크를 통해 아토믹 스왑 진행하는 과정을 예로 들어 거래의 보안성에 대해 설명 드리도록 하겠습니다.
예를 들어 A, B, C가 있고 B는 거래 중개인이고 A와 C가 거래 당사자이며 그리고 A의 0.1BTC와 B의 10LTC를 교환한다고 가정하겠습니다.
이때 A와 B, B와 C는 각각 오프 체인 상에서 멀티 시그 주소를 개설하여 각각 BTC와 LTC가 보관된 라이트닝 네트워크 채널을 개설합니다.
이어서 A가 C에게 비트코인을 보내는 과정을 설명드릴텐데 반대로 C가 A에게 라이트 코인을 보내는 과정도 동일하므로 한 방향에 대해서만 설명드리도록 하겠습니다.
우선 A가 C에게 BTC를 보내기 위해서는 수신자인 C가 A에게 자신만이 복호화할 수 있는 해시 값을 전달하게 됩니다. 이것이 필요한 이유는 라이트닝 네트워크가 오프 체인 상에서 이루어지는 거래이기 때문에 C가 A에게 보낸 해시 값과 함께 BTC가 도착해야 그것이 A가 보낸 것임을 알 수 있고 또 중개인인 B가 해시 값을 복호화하지 못하면 중간에서 BTC를 가로채지 못하기 때문이라고 할 수 있습니다.
계속해서 A가 C로부터 해시 값을 받으면 중개인인 B에게 0.1BTC를 C에게서 받은 해시 값과 함께 전달합니다.
그리고 B는 C에게 A가 보낸 BTC와 해시 값을 함께 전달합니다. BTC와 함께 받은 해시 값을 복호화하여 A가 BTC를 정확히 보냈다면 멀티 시그 지갑에 서명을 하고 수령하게 됩니다.
이때 A가 B에게 비트코인을 전달하고 C가 B에게 라이트코인을 전달하는 것은 동시에 이루어지며 B가 중간에서 교환을 해 줌으로써 각기 다른 암호화폐가 거래소를 거치지 않고 직접적으로 교환이 이루어질 수 있게 되는 것입니다.
이 과정에서 해시 값을 이용하게 되므로 암호화폐가 중간에서 해킹으로 탈취될 가능성이 낮으며 암호화폐의 수령자가 해시 값과 함께 암호화폐를 받을 때에만 본인의 프라이빗 키로 서명을 하게 되므로 프라이빗 키가 유출될 가능성도 낮아 보안성이 확보된다고 생각합니다.
답변이 도움이 되길 바랍니다.