블록체인은 데이타를 파일 형태로 저장하는건가요?
블록체인이 분산된 원장이라는 개념은 이해했습니다.
그렇다면 이 분산된 원장이라는 형태가
파일형태의 저장인건가요? 아니면 메모리상에서 저장되고 지워지는건가요?
파일이라면 엄청나게 fileOpen하고 쓰고 닫고..
리소스도 그렇지만 느릴것같은데...; 설명좀 부탁드립니당.
질문자께서 질문해주신 내용에 대해 제가 알고 있는 대로 답변해 드리도록 하겠습니다. 우선 우리가 흔히 사용하는 암호화폐 지갑(라이트 웨이트 노드)이 아니라 각 블록체인의 풀 노드 혹은 채굴 클라이언트 소프트웨어를 다운로드하여 풀 노드나 마이닝 노드가 되려고 한다면 다른 노드들에게서 전체 또는 일부 '블록체인 데이터 베이스'를 다운로드 받는 과정이 필요합니다.
이러한 블록 데이터베이스가 블록체인의 분산원장이라고 할 수 있으며 풀 노드의 경우 0번 블록부터 현재 시점의 가장 최신 블록에 대한 정보까지 컴퓨터에 다운로드를 받아 저장할 수 있습니다. 즉 모든 거래 내역이 기록된 블록에 대한 정보를 .dat 파일 형태로 PC에 다운로드 받는 것이죠.
그러므로 거래 내역으로서의 블록의 데이터 베이스가 어디에 어떻게 저장되느냐고 묻는다면 각 노드의 컴퓨팅 기기 혹은 장비에 파일 형태로 저장된다고 할 수 있습니다. 하지만 이 경우 새롭게 생성되고 있는 블록은 어디에 위치하고 있는 것이냐 하는 문제가 생깁니다.
따라서 결론적으로 말씀드리자면 블록체인이 수많은 노드들이 연결된 하나의 네트워크를 이룬다고 본다면 기존의 블록체인의 데이터 베이스는 네트워크 상의 노드들에 저장되고 새로운 블록의 생성은 블록체인 네트워크 상에서 이루어진다고 정리하는 것이 좋을 것입니다.
그리고 이렇게 블록이 생성되고 나면 그것이 다시 이전 블록과 체인으로 연결되고 각 노드들에 전파되어 다시 블록 데이터베이스화 되는 것이라고 할 수 있습니다. 또한 다시 노드들이 데이터베이스를 동기화하여 새로운 블록에 대한 정보를 추가함으로써 같은 거래 내역을 분산하여 저장하고 공유하는 것이 가능해집니다.
끝으로 비트코인의 경우 블록 생성의 인터벌이 평균적으로 10분 정도이고 전체 블록 데이터베이스를 매 번 다운로드 받아 동기화하는 것이 아니기 때문에, 동기화에 큰 자원이 소모되거나 하지 않습니다. 또한 전체 블록 데이터베이스의 용량도 약 237GB이기 때문에 저장공간의 경우에도 큰 부담이 되지 않는다고 할 수 있습니다.
답변이 도움이 되길 바랍니다.