[코인예수 블록바] 샤딩, EVM & X86에 대하여

in kr •  6 years ago 

안녕하세요 코인예수 블록바입니다.
블록체인을 공부하다 보면 샤딩과 EVM 이란 말이 종종 등장합니다.그렇다면 샤딩은 뭐고 EVM은 뭘까요??

  1. 샤딩 (Sharding)
    샤딩은 데이터 분산저장 기술에 관한 내용인데요,
    분산 데이터베이스 시스템에서 나오는 단어입니다.
    샤딩 전에 파티셔닝 이라는 말을 이해해야합니다. 막 이상한 단어들 나오니까 혼란스럽죠?
    쉽게쉽게 한번 알아보자구요.

파티셔닝 (Partitioning)은 영어 단어 뜻 그대로 칸막이처럼 나누다, 분산시키다. 라는 개념이에요
이는 운용효율, 가용성, 정비 용이성을 위해 데이터 요소들을 일정 독립체(테이블)로 나누는 것입니다.
즉, 어떠한 정보데이터들을 나누는거에요.

자, 그럼 샤딩(Sharding)은 무엇인가? Shard는 조각인데요, 영어에서는 어떤 단어에 ing를 붙이면 하는 행위로 뜻이
변하기도 해요. 그럼 Sharding은 무엇일까요? 바로 조각 내다 이런 용어입니다.
이러한 샤딩은 수평적인 파티셔닝이라고 할 수 있는데요, 데이터 저장을 수평적으로 하는 것입니다.

아파트로 설명을 해볼게요. 예를들어 다니엘이라는 아파트 브랜드가 있어요. 이 다니엘이라는
아파트 브랜드 자체를 전체 데이터, 현재 필요한 데이터 저장공간이 1만세대라고 가정을 할게요.
그런데 이 1만 세대를 수용할만한 아파트를 한 동에 지으려면, 그 동 자체가 엄청 커지고, 공사 자체도 너무
대규모 공사가 되겠죠? 아파트 중앙부에 사는 사람들은 일조권도 포기해야 하니 굉장히 비효율적으로 될 테구요.
그래서 이 브렌드의 공사를 맡은 설계사 및 건설사는 아파트를 아래와 같이 짓기로 결정합니다.

  • 한 동당 100가구 거주 (가구들 = 데이터들)
  • 한 단지에 10동 (한 단지가 한 샤드, 10동은 현실 세계에 비추어 묘사하기 위해 가정함)
  • 총 10단지 (전체 데이터)

이처럼 만세대를 맞추기로 해요. 그런데 여기에 단지마다 특정 조건의 거주자로 분류를 해서 거주하게 한다고 가정을 하는거에요. 1단지에는 신장 160cm 이하 거주, 2단지에는 160-165 cm 거주 이런식으로 나누는거죠. 즉 효율적인 방식으로 데이터를
수평으로 나누어 분산저장 시키는 것입니다.!

PARTITIONING과_SHARDING.png

                         <참고 사진 - 파티셔닝과 샤딩 코인예수 블록바 作>
  1. EVM (Ethereum Virtual Machine )

자, 다음은 EVM입니다.
EVM이란 Ethereum Virtual Machine 의 줄임말 입니다.
말그대로 이더리움 가상 머신인데요, ERC 토큰(이더리움 기반의 토큰)들이 생성되고, 작동하게 되는 공간입니다.
즉, 가상의 컴퓨터 정도라고 생각하심 편할 것 같아요.

개발자들은 Solidity라는 언어 코드(컴퓨터 프로그래밍을 하는 언어, 고급언어)로 프로그래밍을 합니다.
이렇게 만들어진 코드는 이더리움 가상머신이 인식 가능한 언어로 다시 바뀌어야 하는데요,

이는 Solidity Compiler (솔리디티 편집자)에 의해서 변환이 됩니다.
뭘로 변환이 되느냐? 이더리움 바이트 코드라는 코드로 변환이 됩니다.

이렇게 변환된 코드가 바로 이더리움 가상머신에서 작동을 쨘! 하고 하는 것입니다.

이더리움은 공개형 블록체인이기 때문에 누구든 사용을 할 수 있어요. 그런데 너무 많은 양의 정보를 처리하도록 시키면
이더리움 가상머신에 과부하가 올 수 있죠. 그래서 데이터 사용 양 만큼의 GAS를 수수료로 부과시켜 이를 방지합니다.

EVM2.png
< 언어에서 동작하기까지 비트예수 블록바 作 >

EthEcosys2.png
< 이더리움 ecosystem >

  1. 퀀텀에서 들려오는 X86

퀀텀은 비트코인의 UTXO 모델에서 시행되는 이더리움 가상머신이 구동되는 비트와 이더의 하이브리드 버젼입니다.
따라서 스마트 컨트렉트를 담당하는 부분이 이더리움 가상머신인데요,
퀀텀은 앞으로 이 EVM에 더하여 X86VM, 왓콤(WASM)까지 섭렵하려고 합니다.

왜일까요? 위에서 말씀드렸듯이 Solidity언어는 굉장히 고급언어에 속합니다.
그렇기 때문에 아직은 그렇게 개방적인 모델은 아닌것이죠.

그럼 요즘 퀀텀에서 들려오는 X86 VM은 무엇일까요?
X 86은 인텔 CPU 계열을 부르며, 이것과 관련된 명령어 집합구조를 말합니다.

그래서 X86 가상 머신 또한 개발을 하여 기존의 인텔 CPU 관련 개발 언어를 사용하는 개발자들이
퀀텀의 블록체인 위에서 더욱 많은 개발을 할 수 있도록 하겠다는 것입니다.
뭔가 더 대중화 시키는 작업? 이라고 할 수 있겠죠? ㅎㅎ

카카오 단톡방 : https://open.kakao.com/o/gtlP3PH

블록패치 블로그 : https://blog.naver.com/minstarshop

트위터 : https://twitter.com/DanieIKimcoin

유투브 : https://www.youtube.com/channel/UCBmM7nVhbTysFB2i1pDreSA

스팀잇 : https://steemit.com/@bitjesusblockba

네이버 카페 : https://cafe.naver.com/copanam

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @bitjesusblockba! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

You published 4 posts in one day

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - Round of 16 - Day 4


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!