블록체인은 데이터는 용량의 개념을 가지고 있나요?

블록체인 정보를 주고받을 때, 흔히 이야기하는 영상이나 이미지 등의 고용량의 데이터의 개념인지 궁금합니다. 데이터의 정보가 많다면 그렇다면 데이터 전송속도에도 영향을 많이 받을텐데, 블록체인 내 정보는 고용량의 데이터를 포함하는 것인지 궁금합니다.

    2개의 답변이 있어요!

    • 스팀 블록체인의 예를 들어 답변해 드리도록 하겠습니다. 스팀 블록체인은 DPOS 방식의 합의 알고리즘을 채택하고 있으며 투표로 선정된 대표 노드인 '증인(Witness)'이 트랜잭션을 처리하며 블록을 생성하고 있습니다.

      스팀잇 서비스가 스팀 블록체인의 메인 Dapp이라고 할 때, 이용자가 첨부한 이미지나 동영상은 외부 데이터 서버에 별도로 저장되고 그것을 글에 첨부했을 때 생성된 Url만을 블록체인에 기록하게 됩니다. 그리고 해당 글이 유저들에 의해 불러오기 될 때 해당 Url의 이미지나 동영상이 브라우징 되는 방식으로 알고 있습니다.

      이미지나 동영상이 블록체인에 올라가는 것이 아니라 텍스트들이기 때문에 트랜젝션의 처리에는 큰 부담이 없다고 생각하시면 좋겠습니다. 실제로 스팀잇의 경우 사용에 불편함이 없을 정도의 속도를 보여주고 있습니다.

      끝으로 다른 블록체인들 역시 트랜젝션이 용량을 가지고 있고 그러한 트랜젝션이 기록되는 블록의 크기는 1MB, 32MB, 128MB 등 다양하다고 할 수 있습니다.

      그런데 블록체인이 분산원장이라고 할 때 동영상이나 이미지가 포함된 대용량의 블록을 다른 노드들이 똑같이 공유하는 것은 비효율적이라고 할 수 있습니다.

      또한 풀 노드를 운영하는 경우 엄청난 유지비가 필요할지도 모릅니다. 따라서 보통 블록체인은 주로 텍스트 데이터를 저장하거나 파일을 여러 노드에 분산 저장한는 방식을 이용하고 있습니다.

      답변이 도움이 되길 바랍니다.

    • 안녕하세요 Danny입니다.

      블록체인에는 블록체인에 필요한 핵심적인 데이터만 포함되고 대부분의 나머지 데이터들은(이미지,영상,자료 등) 블록체인에 들어간 핵심적인 데이터에서 연결시켜줍니다.

      조금 더 깊게 설명하면, 신뢰 및 네트워크의 유지를 위한 핵심 Key값이 블록체인화되고(다양한 곳에 분산되어 원본임을 증명) 이렇게 블록체인화되어 있는 데이터들에 링크값이 있습니다.

      예를들어 A->B에게 1억에 해당하는 그림 A 원본을 줬다라는 걸 블록체인화한다면 아래와 같이 진행될 수 있습니다.

      A->B에게 1억을 지불완료,승인됨 이라는 데이터의 내용이 블록에 기록되고 해당 블록을 노드들이 나누어 가집니다.

      이 데이터에는 링크값이 있는데 (A->B에게 1억을 지불완료, 원본그림의 주소는 아마존서버1(aws.123.421/1.jpg)로 저장되어 있음)의 정보값이 함께 포함됩니다.

      사용자는 거래기록과 그림의 원본 보려고 사용자 UI에서 해당 하는 거래내역을 확인하면 그림의 주소를 불러와서 거래내역과 그림을 함께 볼 수 있습니다.

      일반적으로 이렇게 처리되므로, 고용량의 데이터나 대부분의 데이터들은 블록체인화된 핵심데이터에 연결되어 있다고 이해하시면 됩니다.

      감사합니다.