나만 몰랐던 블록체인 상식) 스팀잇 데이터는 어디에 저장될까?

in #coinkorea7 years ago (edited)

스팀잇은 사용자 데이터 저장을 어떻게 할까요? 이미지도 많이 들어가고 비디오도 들어가던데, 도대체 이 많은 것을 어떻게 감당하는 것일까요. 심지어 평생 지워지지도 않는다던데... 도라에몽 주머니마냥 먹기만하는 이 데이터들은 도대체 어디에 저장되고 있을까요.

안녕하세요! 나만 몰랐던 블록체인 상식 2번째 이야기입니다. 저번에는 지분증명과 마스터노드가 사실 다른 것이었다는 충격적인(?) 사실을 다루었었는데요. 이번엔 스팀잇 데이터 저장 방식에 대해 한번 이야기를 해볼까 합니다. 이 미스테리를 지금부터 파해쳐보겠습니다!

스팀잇 데이터는 어디에 저장될까?


(정말) 나만 몰랐던 (것은 아니기를 바라는) 이야기 시작하겠습니다!

스팀의 블록체인


스팀의 블록은 3초에 한번씩 생성된다는 것 아시나요? 3초마다 생성되는 블록에는 이런저런 정보들이 담기게 됩니다. 여러분들이 가장 자주하시는 보팅, 댓글, 보상 받기, 글 쓰기 등등이 블록에 저장된답니다. 그리고 중요한 점은 모조리 "싹! 다!" TEXT 형태로만 담긴다고 하네요.

스팀 블록체인에 쌓여 올라가는 정보는 "증인(witness)"이라는 블록 생성자 서버에 저장되게 됩니다. 스팀잇에서 증인의 숫자는 대기 증인까지 합하여 총 100분이 계십니다. 그러니 최소 100개 규모의 서버에 스팀잇 활동 기록들이 똑같이 복사되어 저장된다고 보시면 되겠습니다 :)

  • 초보를 위한 한줄 요약: 스팀잇 데이터는 모두 TEXT 형태로 변환되어 100명의 증인(저희 유저가 선출한 대표자) 하드에 백업되게 됩니다.

블록체인 공장을 탐험해보자

그럼 블록이 실시간으로 업데이트 되고 있는 현장에 방문해보겠습니다!! 3초에 한번씩 생기니까 굉장히 신나는 현장학습이 될 것 같아요. 어제 철수는 비트코인 공장을 갔다던데, 블록 하나 생기는데 10분이나 기다려야해서 굉장히 지루했다네요 :)

스팀 블록체인 공장 현장학습! 보니까 보팅/계정 업데이트/댓글/송금 등등 굉장히 많은 내역들이 전부 기록되고 있음을 확인할 수 있었습니다. 앗 그런데! 저기 보니 새로운 계정이 생겼다는 소식도 들리는 군요! 어서와~ 스팀잇은 처음이지? 직접 체험하기

  • 초보를 위한 한줄 요약: 우리의 활동 내역이 어떻게 TEXT 형태로 변환될 수 있는지 감만 잡으시면 됩니다!
  • 초보를 위한 보충 설명: "블록"은 스팀잇 데이터를 담고 있는 단위라고 보시면 됩니다. 일종의 데이터 폴더라고 생각하시면 되세요. 활동내역을 담은 폴더가 계속해서 이어지는 것이 블록체인입니다.


이미지/동영상은 어떻게 저장할까?

이미지와 동영상 같은 것들은 블록체인 내에 저장되지 않습니다. 그런것까지 저장했다간 우리 증인님들 하드 공간이 남아나질 않을 것이에요. 모든 이미지와 동영상은 "url 링크"로 변환되어 저장되게 됩니다. 저장된 url 링크는 사용자의 컴퓨터가 이미지와 동영상으로 다시 불러와 우리에게 보여주게 됩니다.

"그런데 어쨌든 url 링크로 이어지는 곳에는 이미지/동영상이 저장되야 되는 것 아닌가요? 그것은 누가 관리하나요!" 라는 질문이 생기셨다면, 굉장한 내공의 소유자이십니다. 스팀잇은 이를 위해 아마존(Amazon) S3를 이용합니다. 외부 호스팅 업체에 비용을 지불하고, 이미지 저장을 위한 서버를 마련한 것이지요. 호스팅 비용은 아마도 개발진이 내겠죠?

  • 초보를 위한 한줄 요약: 이미지/동영상은 용량이 커서 링크만 남겨놓고, 중앙화된 외부 서버에 저장하게 됩니다.


스팀잇에 탈중앙화 동영상 플랫폼 (DTube) 끼얹기

동영상도 이미지와 마찬가지로 외부 링크를 가져오는 방식을 채택합니다. 동영상은 아주 쓸만하고 믿을만한 녀석 (+라이센스 무료!), 유튜브가 있으니 걱정이 없습니다. 사용자는 유튜브에 동영상을 올리고 유튜브 url 링크만 블록체인에 저장하면 자연스럽게 동영상 업로드도 가능합니다.

그런데 여기서 아주 재밌는 일이 생겨나는데요. 유튜브는 이제 가라!! 이제 디튜브다!! 하고 새로운 플랫폼이 등장하게 됩니다. 탈중앙화 동영상 플랫폼이라고 불리는 DTube(Decentralized + youTube)입니다. 스팀잇의 런칭을 보고 크게 감명받은 개발자(@heimindanger)가, 스팀잇 위에 디튜브를 올리겠다고 했다나요? 주모!! 스팀주 좀 가져와~

여하튼 스팀잇 위에 덧씌우는 방식의 어플리케이션으로 런칭한 디튜브는 스팀잇과 연동이 됩니다. 유튜브와 똑같이 활동하는 것인데 스팀잇처럼 보상도 받을 수 있는 꿩먹고 알먹고 구조인 것이죠. 한번 그 속을 살펴볼까요?

너무나 익숙한 모습입니다. 유튜브 인줄 알았네요! 앗, 저기 익숙한 보상이 보이는군요. 95$를 받으신 분이 계시네요 :) 직접 보러가기

요놈이 정말 스팀잇과 연동이 되는지 한번 감시하러 떠나보겠습니다. 가장 인기있는 영상의 계정을 스팀잇에 검색해봅니다!

진짜 있군요! 편집하는동안 그새 보상이 오르셔서 99$ 이시네요 :) 직접 보러가기

그나저나 탈중앙화라면서요? 얘넨 동영상 저장을 어떻게 할까요? 그 저장 방식은 IPFS(InterPlanetary File System)이라고 불리는 것인데, 아주 흥미로운 녀석입니다. 네트워크 참여자들이 토렌트처럼 데이터를 조각내서 저장한다는 것인데요. 이건 다음에 한번 특별편으로 다루어보겠습니다 :)

  • 초보를 위한 한줄 요약: 동영상의 경우는 디튜브(유튜브의 스팀버전 플랫폼)가 연동되어 저장될 수 있습니다 .


DTube 가 끝이 아니다! DSound도 있다!

벌써부터 놀라셔서 스팀 사러가시면 안됩니다. DTube가 끝이 아니에요, DSound도 있답니다. 음성파일들을 올리고, 그에 대한 추천을 받을 수 있는 아주 훌륭한 플랫폼이지요. 오 세상에... 이게 활성화 되면, 무명 작곡가들이 여기서 활동하면서 보상을 받을 수도 있겠네요. 이런 감격스러운 일이.. 스팀에 대한 애정만 늘어가는 하루하루입니다. 혹시 DArt도 있습니까!??!! :)

DSound 체험은 최근 사운드 클라우드를 사용하셔서 제게 그 존재를 일깨워주신 @musicholic 님의 포스팅으로 대체하도록 하겠습니다 :)


스팀 블록체인의 근황


디튜브/디사운드와 같은 스팀잇 위의 플랫폼들을 보고 나니 요즘 스팀 가격이 참 싸보입니다. 더 사고 싶지만, 세일이라는 것이 언제 또 올지 모르기 때문에 저는 일단 참아보겠습니다. 정말 맛있어 보이지만 흘리는 침좀 닦고, 다시 블록체인 이야기로 돌아가 보겠습니다.

텍스트도 쌓이면 산더미

제 아무리 텍스트들만 블록체인에 저장한다지만, 텍스트도 쌓이면 산더미가 됩니다. 그래서 지금! 스팀 블록체인의 용량은 얼마일까요? https://www.steemdb.com/ 에 따르면, 평균 블록 크기가 16.9KB 정도 되고, 총 블록 수가 대략 2000만개네요. 곱해보면..! 338 GB가 됩니다. 와우! 엄청나네요.

앞으로는 어떻게 될까요? 스팀 체인에는 3초에 평균 16KB씩의 크기를 가진 블록이 1개씩 생성이 됩니다. 1년은 31,536,000 초이고, 그동안 블록은 10,512,000개 생성 되니까... 매년 168GB의 용량이 더 덧붙여지는 셈이네요!

  • 현재 블록체인 크기 계산 값은 실제 값과 다를 수 있습니다. 전체 블록 사이즈 기록을 찾아보고 싶은데, 어디서 찾을 수 있는지 꽤 오랫동안 검색했는데 얻을 수가 없었습니다 :( 아시는 분 제보해주시면 수정하겠습니다!

비트코인은 얼만데?

현재 비트코인의 블록체인 사이즈는 155GB(https://blockchain.info/ko/charts/blocks-size)입니다. 헐! 스팀잇이 더 높네요. 당연한 결과이기도 하겠지요. 비트코인은 송금내역만 업데이트를 하고, 스팀잇은 포스팅 자료들을 싸그리 다 업데이트하니까요. 드높은 용량은 스팀잇 유저들이 열심히 활동하여 쌓아올린 영광의 금자탑이 아닐까요?

최대 블록크기와 재밌는 사실

스팀 블록체인의 최대 블록사이즈는 현재 65KB로 설정되어 있습니다. 평균 블록 사이즈는 16KB로 맞추려고 하고 있고요. 굉장히 작아보이지만, 사실 이마저도 2016년에 하드포크로 1/4수준으로 내린 것이랍니다. 그 내용은 여기서 확인 가능합니다.

여기서 호기심 두번째! 그럼 누가 글을 올렸는데 TEXT의 용량만 최대 블록크기 65KB를 넘으면 어떻게 돼요? 아~ 저도 정말 궁금한 사실입니다. 한번 복붙을 어마어마하게해서 올려볼까 싶었는데, 소심한 저는 글쓰기 버튼을 차마 누르지 못했습니다. 이상한 뻘글이 진짜 올라갈까봐요.. 한번 해보세요!!

비슷한 이슈로 깃허브에 업데이트 요청이 올라간 적 있습니다. 오류 메세지를 수정하자는 이야기네요 :) 직접 보러가기


마치며


개인적으로 정말 재밌게 포스팅을 했네요. 처음엔 저도 너무나 궁금해서 알아보기 시작하다가, 디튜브 디사운드에 대해 알게 되면서 뭔가 알찬 내용이 된 것 같아 뿌듯합니다. 사실 처음에 기획할 땐 아무 내용도 없으면 어떡하지...하고 걱정했거든요. 여하튼 디튜브는 정말 획기적이네요. 탐이납니다. 스팀잇과 꼭 달라붙어서 독립하지 않았으면 좋겠어요. 언제 한번 기회가 되면 디튜브와 IPFS만 가지고 포스팅을 해보겠습니다.

감사합니다 :)

Sort:  

글을 익살스럽게 써주셔서 잘 읽었습니다.
댓글도 잘 읽었습니다.
감사합니다. 꾸벅..

재밌게 봐주셨다니 기분이 좋네요~ 감사합니다.

N사 블로그로 돈 버는거 아세요?
최대 2 5 0 만원까지 가능.
빌려만 줘도 돈을 드린답니다~

사업자 있는 합법적 회사!
국세청에서 확인도 가능!

자세한 문의 사항은
카톡 blue486★blue (아이디에 ★뺴고 검색)

단지 글만 썼는데 몰랐던 상세한 설명 읽으니 지식이 점점 늘어나네요.
덕분에...

재미있게 잘 봤습니다. 궁금한 점이 있는데요. 스팀잇 기록이 100명의 증인 컴퓨터에 기록되는데 해커 단체가 100명의 컴퓨터를 공격할 경우 서비스에 장애가 발생할 가능성은 없을까요. 어제 스팀잇 접속이 원활하지 않던데 이와 관련은 없을지 궁금합니다.

안녕하세요. 말씀해주신 부분은 꽤 재밌는 이슈여서 제가 한번 디테일하게 다루어본적이 있습니다. 자세한 내용은 이 링크로 가보시면 보실 수 있습니다 ^^ 댓글로는 간략히 설명드릴게요.

  1. 말씀하신 100명의 증인 네트워크 공격은 이론적으로 가능합니다. 다만, 100명의 증인 네트워크가 누구인지 식별해내야하고 또 동시에 모두 다운시키는 과정이 필요합니다. 덧붙여 스팀잇이 점점 커질 수록 증인분들의 방화벽도 강화될 유인이 생겨나고 있는 것 같습니다.
  2. 저는 말씀해주신 서비스 장애 가능성에 대해 꽤 비관적으로 바라보고 있습니다. 언젠가 한번 이슈가 생길 것이라 보고 있습니다 (제 사견임을 강조드립니다..!). 다만 그 이후로 더 큰 발전이 이루어져 급성장하는 계기가 될 것으로 보고 있습니다.
  3. 어제 스팀잇 접속이 원활하지 않은 이유가 그것인지는 잘 모르겠습니다!

항상 새롭고 재밌는 탐구 감사드립니다
그럴일은 없겠지만 아마존이 망하거나 사업을 접으면 이미지는 다 날라가는건가요? ㅡ.ㅡ

재밌게 봐주셔서 감사드립니다! 스팀 개발진이 대응하지 못할 정도로 갑작스럽게 아마존이 철수해버리면, 이미지는 아마 엑스박스로 표시가 될 거에요. 듣기로는 아마존 서버가 다운되서 스팀 게시글의 이미지가 보이지 않았던 때도 있다고 하네요 :(
스팀잇이 크게 성장하면, DTube처럼 DPhoto로 사진용 웹이 올라오지 않을까요? 이미 있을지도 모르겠네요 :)

유익한 정보 감사드립니다!
증인의 서버에 우리들의 글들이 저장되어 있는지 몰랐네요^^; 증인은 투표에 따라 탈락할수도 있다던데
앙심을 품은 증인탈락자가 본인 서버의 데이터들을 마음대로 처분 할수도 있는건지요??

증인 탈락자가 데이터를 삭제하면 본인 하드에 있는 데이터가 날라가는 것인데요. 고로 네트워크 자체에는 문제가 되지않습니다. 사라진 증인의 백업서버는 새로이 선출된 증인의 백업서버로 대체됩니다.
사실 증인을 관두기로 했다면 본인 하드 용량을 위해서라도 삭제하는 것이 맞겠죠?

^^ 지난번 말씀드렸던 내용인데, 직접 조사하셨군요. 대단하십니다! 많이들 잘 못 알고 계신 부분이기도 하죠. 앞으로는 더 많은 데이터들이 블록체인 이외에 담는 방안으로 갈 것 같다는 이야기도 있습니다. 효율성과 속도, 데이터 신뢰성을 모두 종합해야하니 타당한 방법이기도 할 것 같습니다. 풀봇, 리스팀 드립니다. ^^

앗 제보자님이 직접 방문을 해주셨네요^^ 감사드립니다. 이 글이 이렇게 흥행할지는 몰랐네요. 이 영광을 제보자님께 바칩니다!

와 스팀잇이 이렇게 구동되고 있었군요 ㅎㅎ 좋은 글 정말 감사드리고,많이 배우고 갑니다 (스팀 사러 갑니다).

근데 디튜브에 성인자료가 올라오면 어떻게 될까요?
보팅한 사실이 들통날까봐 다들 봇팅을 자제하고, 고래가 와서 다운봇팅을 하고 가기 때문에 업로드하려는 사람이 없을까요?

디튜브에 올라간 영상이 스팀잇처럼 박제되고, 탈중앙화되어 있어 검열조차 되지 않는다면 아동 포르노나 고어한 영상이 올라오면 어떻게 될까요? 인센티브가 없더라도 괴상한 취향을 가진 사람들을 막진 못할 것 같은데..

이것 또한 사용자들의 합의로 막을 수 있을까요?

다음 포스트도 기대하겠습니다 ㅎㅎ

저도 해당 부분은 디튜브 시스템 IPFS를 공부해봐야 의견을 드릴 수 있을 것 같습니다. 어느정도의 검열은 보팅 시스템으로 가능한 것은 맞을 것으로 보입니다. 일정 수준이상의 다운보팅을 당하면 블라인드 처리되지 않을까 싶네요. 감사합니다 :)

이런 정보들을 어디서 구하셨는지 모르겠네요
나중에 강의하셔도 될듯 합니다~

좋은글 잘 읽고 갑니다.

포스팅 잘봤어요^^

감사합니다 :)