[블로그 번역] Waves-NG:속도와 용량 그리고 초보들을 위한 블럭체인에 대한 설명18.05.01

in #coinkorea7 years ago

원문 Waves-NG: Speed, Capacity and a Bit of Blockchain for Dummies

00DB4465-3FCD-4430-96ED-220F9B28B416.png

대다수의 사용자들은 "블럭체인이란 무엇이며,어떻게 작동하는가?"에 대한 답변들을 많이 접해봤을 것입니다.블럭체인 관련 정보들은 매일마다 쏟아지고 있으니까요.대부분의 정보들이 최대한 친근한 단어들을 사용하려 하고 있지만 결국 마지막에는 알아들을수 없는 컴퓨팅 관련 언어들로 마무리 되게 됩니다.

상대에게 이해를 시켰든 못시켰든,대부분의 경우 시작은 단순한 언어들로 설명을 시작하지만 블럭체인 기술개발에 대해 이야기를 할 때가 되면 어려운 용어들로 바뀐다는 점은 같습니다.그렇기에 평범한 사용자들의 머릿속은 혼란스러운 체로 남아있죠.

실제로 나에게 어떤 혜택을 주는지 설명도 못하면서,
당신은 처음에 블럭체인이 멋지다고 말했죠.
그런데 이제와서는 또 여러 문제점도 있다고 말하고 있군요!

사용자들이 블럭체인의 이해에 어려움을 겪는것은 정부나 금융기관들에 의해 도배된 엉뚱한 헤드라인의 영향도 큽니다.이로인해 여러 고정관념들과 두려움들이 생성되었으니까요.

Waves-NG에 대한 설명을,이 프로토콜이 어떻게 네트워크의 속도를 상승시키는지에 대해 설명 하기 전에,먼저 블럭체인이 무엇인지에 대해서 명확하게 해두고자 합니다.마이닝과 ICO는 제쳐두고라도 블럭체인이 어떻게 당신에게 혜택을 주는지 정확하게 설명하고자 합니다.

블럭체인은 배관제작기술이나 주택건설기술과 같은 하나의 기술입니다.기술이라는 단어는 일반적으로 어떤 의미로 쓰일까요?모든 기술들은 인류에게 혜택을 줍니다.물론 제대로 된 방법과,규정에 따라서 쓰여진다는 전제하에요.우리는 올바른 직경의 파이프를 만들기 위해 또는 나중에 무너지지 않을 집을 짓기 위해서 이러한 규정들을 준수합니다.블럭체인도 마찬가지입니다.블럭체인은 정보의 전송과 보관에 사용되는 기술입니다.다만 이 정보란 문서의 형태일수도,돈의 형태일수도,의료기록의 형태일수도 있죠.

좀 더 나아가서 말해보자면,만약 당신이 집을 직접 짓는다고 할 경우 많은 작업이 요구됩니다.구덩이를 파고,토대를 쌓은뒤,벽돌을 구입하고 날라야 됩니다.하지만 지금은 모듈러 주택을 이용하여 빠르고 효과적으로 집을 지을수 있습니다.공장에서 약 2,3개월에 걸쳐서 조립된후,당신의 부지에 배치되고,각종 주변 기반시설들과 연결과 시키면 마무리가 됩니다.

새로운 기술은 기존의 절차에 대해서 효율성을 가져다 줍니다.보다 적은 비용으로 보다 쉬운 작업을 가능하게 해줍니다.과거에 사람들은 양초를 이용했지만 전기가 발명되고 사람들의 삶에 점점 스며듬에 따라 모두 전구로 바꾸게 되었습니다.전구VS양초의 구도처럼,현존하는 정보의 전달및 보관수단에 대해서 블럭체인기술은 우위를 가집니다.

다른 기술들과 비교하여 블럭체인이 가지는 장점은 다음과 같습니다.

분산화

블럭체인은 문자 그대로 체인으로 연결되어 조립된 블럭들입니다.그러나 여기에 따로 감독하고 검증을 해줘야 되는 은행같은 3자조직을 필요로 하지 않습니다.일종의 진화된 도미노 게임과도 같습니다.도미노(블럭)가 여러 사람들에게 분배됩니다.그리고 도미노들이 합쳐져서 하나의 멋진 그림을 완성합니다.그림의 조립에 기여했던 각 참여자들은 현장에서 바로 결과를 볼수 있습니다.게다가 이 도미노들은 각각 정확하게 아귀가 맞도록 되어있기에,다른 형태로 조립될수가 없는 도미노들입니다.그렇기에 중간에서 정확성에 대해 감독해줄 사람이 있을 필요가 없습니다.

탁월한 보안성

정보들을 전송하고 보관하는 블럭체인은 위조가 불가능한 체인입니다.블럭체인은 모든 도미노(블럭)들이 합쳐져서 하나의 시스템을 형성하는 도미노 세트라고 할수 있습니다.실제 도미노들과는 다르게 타일(블럭)들은 복사가 가능합니다.즉, 특정 순간을 기점으로 플레이어가 두 개 이상의 동일한 그림을 동시에 만들 수 있음을 의미합니다.가장 처음으로 완료된 그림이 유효한 버전이며,아직 완료되지 못한 다른 복사본들은 모두 사라집니다.

"하지만 나만의 타일(블록)을 직접 만들어서 내만이 원하는 그림으로 꾸미는것도 가능합니다."라고 말하는 사람도 있겠죠.하지만 모든 타일에는 보안이 걸려있습니다.머릿속으로 다른 플레이어들과 한 테이블에 앉아있는 장면을 상상해 보십시오.모든 타일마다 고유한 마크가 표시되어있습니다.코드라던가,홀로그램이라던가,워터마크 등등그리고 이 문양외에 각 타일들은 다른 모든 타일들에 새겨진 정보들에 대해서도 담고 있습니다.올바른 규칙에 따라 게임을 진행하지 않고 타일을 망치거나 조작하게 되면 얻는것보다 더 많은 것을 잃게되는 구조입니다.이것이 바로 블럭체인이 사용자들은 물론 기업들,개발자들 모두에게 매력적인 이유이기도 합니다.정직하게 임하는것외에는 선택지가 없으니까요.

Bill이라는 사람이 Pete라는 사람에게 도미노의 완성을 통해서 돈을 전송하고 싶어한다고 해봅시다.완성이 되고 나면 Pete는 돈을 전송받게 됩니다.하지만 Bill 과 Pete외에 Ann과 Jane이라는 인물들도 존재합니다.Bill과 Pete를 도와서 좀 더 빠르게 도미노가 완성되는데 기여한 인물들이죠.이 둘은 도움의 댓가로 Pete가 받아갈 돈에서 수수료를 떼어가게 됩니다.마이닝이란 행위는 바로 이것을 가리킵니다.

타일 ​​(블록)이 고유한 마크로 보호되기 때문에 전체 과정을 거치는 동안 감독이나 유효성을 판별해줄 3자 조직이 필요하지 않습니다.이것이 바로 POW알고리즘이 블럭체인에서 수행하는 기능입니다.Jane이 설사 타일하나를 바꿔치려 마음을 먹더라도 실행하기가 힘듭니다.왜냐면 각 타일마다 다른 모든 타일의 정보들이 담겨있기 때문입니다.블럭하나가(타일) 바뀐다면,모든 과정들이 무너지게 됩니다.사기행위를 성공시키기 위해서는 모든 블럭들을 바꿔야 됩니다.어렵기도 하거니와 그렇게까지 시도할 만한 가치도 없는 일이라 할수있죠.

여기까지 잘 따라오신분들에게 이 문서의 첫번째 부분이 끝난다는 것을 알려드리겠습니다.이제 다음으로 블럭체인 자체의 이야기로 한번 들어가 봅시다.

속도와 용량:처리량

처리용량은 오랫동안 블록 체인 개발의 주요 쟁점 중 하나였습니다간단히 말하자면,전송시키고자 하는 양이 많을수록,시퀀스역시도 더 복잡해집니다.즉 더 많은 플레이어들을 참가시키던가, 타일의(블럭) 크기를 키우기 위해서 공식적으로 규칙의 변경을 요청할 필요가 있습니다.블럭이 커지면 플레이어들이 더 많은 정보들을 블럭에 포함시킬수 있게되죠.두 경우 모두 다 시퀀스는 그 규모와 처리 속도에 따른 한계를 가지게 됩니다.현존하는 블럭체인 시스템은 제한된 처리용량을 가지고 있습니다.

A와 B라는 금액을 각각 2번의 발행을 거쳐서(하지만 동시에) 전송하려 하는 경우타일하나당 2개의 고유한 마크들을 담게 됩니다.타일에 기록된 마크가 (블럭에 기록된 정보) 2배이기에 유효성 확인에 2배의 시간이 걸리게 되는 겁니다.블록체인 네트워크의 처리 용량을 늘릴 수있는 방법은 있습니다.유효성 검증 절차의 속도를 빠르게 함으로서 분당 트랜잭션 처리용량을 늘릴수 있습니다.그 외에도 새로운 블럭이 시퀀스에 추가되는 속도자체를 줄여서 블럭생성을 빠르게 하는 방법도 있습니다.

이러한 솔루션들에도 단점은 존재합니다.블럭타임을 빠르게 하면 유효성 검증에 더 많은 시간이 걸리게 됩니다.특히나 블럭들이 서로 복제될수 있는 환경이기에 여러가지 올바른 변형들이 생겨나기 때문에 유효성 판별에 더욱 시간이 걸리게 됩니다.이러한 경우 어떤 변형이 올바르고,어떤 변형이 "Fork"(잘못된 변형)인지를 판별하는데 시간이 걸리기에 시스템의 처리량과 보안성 둘다 하락하게 됩니다.

블럭크기를(타일) 증가시키는 것 역시 보안에 있어 취약점을 가집니다.블록 내에 정보가 많을수록 전체 시퀀스의 검증 및 조립에 더 많은 시간이 소요됩니다(너무 많은 포크가 발생하여 시퀀스에 악영향을 줄것입니다.)

Waves-NG

모든 리스크들을 고려하여,Waves는 고품질의,최첨단 프로토콜 Waves-NG를 구현하였습니다.이 프로토콜은 포크의 가능성 없이도,네트워크 처리량의 속도를 크게 향상시켰고 새 블럭 생성에 걸리는 시간역시도 크게 단축시켰습니다.

타일을 하나 하나 판별하는것이 아니라 한번에 모두 확인하는 방식.이것이 Waves-NG의 작동 방식입니다.시퀀스는 섹션들로(기간) 나눠집니다.각 기간들마다 다른 블럭들을 하나하나씩이 아니라 병렬화 하여 연결하는 리더 블럭이 존재합니다.

예를 들어 우리에게 하나의 리더 블럭과 3개의 블럭집단이 있으며,각 집단마다 3개의 블럭이 속해있다고 합시다.
리더 블럭은 POS로 인하여 생성되지만,이 블럭에는 트랜잭션은 담겨있지 않습니다.리더는 리더 선출 메카니즘을 통하여 선출되며,리더 블러구속에는 선출된 리더를(플레이어) 구별하는 퍼블릭 키 만이 담겨있습니다.각 블럭은 헤더를 가지고 있습니다.그리고 이 헤더에는 전임 리더의 블럭체인을 이어받기 위한 전임 헤더의 암호화 된 해시가 담겨있습니다.(전임자의 블럭이 마이크로 블럭일수도,키블럭일수도 있습니다)

비트코인의 경우 키 블록의 유효성을 통과하려면 헤더의 암호화 해시가 대상 값보다 작아야합니다.Waves-NG의 경우 키 블럭에는 후속 마이크로 블럭들에 쓰이게 될 퍼블릭키가 담겨 있습니다.

만일 우리가 우리의 실세계의 시나리오에 이 프로토콜을 적용한다면, 도미노는 순수하게 흑백이 아니라 오히려 색각별 그룹으로 나누어 지게 될것이니다.그리고 그룹내부에는 각자 고유한 시리얼 넘버가 적인 타일들이 존재하게 되겠죠.색깔과 넘버들을 이용하여 시퀀스를 빠르게 구축할수 있습니다.예를 들어 파란색 타일은 리더 블록으로, 빨간색 타일의 순서가 1-9라는 시퀀스가 작성되어야 한다는 식으로 말이죠.
EBA40B83-3E60-45CA-97E1-669BF2C87DA0.jpeg

FB8E9884-5EEF-42EC-A758-E36C57050628.jpeg

Waves는 NG 프로토콜의 처리량과 속도를 더욱 더 증가시켰습니다.비트코인 NG의 경우 블럭 사이즈가 고정되어 있지만 Waves-NG의 경우 특정 사이즈가 까지 확장이 가능합니다.리더는 마이닝을 하면서 블럭을 조절가능합니다.다음 블럭이 생성될때까지 끊김없이 "유동적인" 블럭을 생성가능하며,다음블럭이 생성되는 순간 사이즈가 고정됩니다.색깔과 숫자로 구별하는것 이외에,도미노의 사이즈로도 구별이 가능해진다고 할수 있습니다.각각의 타일에 새겨지는 정보들의 양이 각각 다르다는 것을 의미합니다.

Waves-NG의 핵심요소는 유동적인 블럭을 2개의 타입으로 나누는 것입니다.키 블럭과 마이크로 블럭으로.유동적인 블럭이 만들어 지는 절차는 아래와 같습니다.

  • 마이너 노드가 블럭가 블럭을 생성할 권리를 획득합니다.
  • 마이너 노든가 키블럭을 생성하고 전파합니다.(트랜잭션이 전혀 담기지 않은 블럭입니다.)
  • 마이너 노드가 마이크로 블럭을 생성하고 전파합니다.(흔히 말하는 블럭과 같은 트랜잭션이 담긴 블럭입니다.이전 생성된 마이크로 블럭이나 키블럭을 이어갈수 있는 정보도 담겨 있습니다.)
  • 유동적인 블럭을 다시 이어갈수 있는 정보가 담긴 다음 키 블럭이 새로 발견되기 전까지 마이너는 마이크로 블럭을 마이닝하여 네트워크에 직접 전파합니다.

모든 트랜잭션은 동일한 블록의 일부이며 동시에 모두 함께 제공됩니다.블럭과 블럭이 생성되는 텀동안 기존의 비트코인 시스템의 경우 내부에서는 마이너들이 다음 블록을 발견하기 위해 작업을 행하고 있지만,겉으로만 봐서는 블럭이 발견되지 않는 공회전 상태로만 보입니다.
반면에 Waves-NG의 경우,일단 키 블럭은 코인베이스 트랜잭션만을 담고 있으므로 크기는 작습니다.이 코인베이스에는 마이크로 블럭들에 서명을 하기위해 필요한 퍼블릭 키가 담겨있습니다.키 블럭은 POS에 따라 채굴되며,마이너가 자의적으로 생산해내서 리더쉽을 발휘할수는 없습니다. 키 블럭을 발견하고 나면 마이너들은 이제 빠르게 마이크로 블럭들을 발행합니다.키블럭의 코인베이스에는 퍼블릭키와 대응되는 프라이빗키가 담겨있으며,이 프라이빗키로 서명만 하면 마이크로 블럭들이 바로 발행됩니다.

다음 블록을 생성하는 데 필요한 모든 정보는 이전 블록이 생성된 직후에 모든 노드로 즉시 전송됩니다.그리고 나면 마이너들은 마이크로 블럭을 통해 트랜잭션들을 네트워크로 전송합니다.다음 리더는 마이너들이 가진 waves의 보유량에 기반한 확률로 정해집니다.많이 보유할수록 다음 블럭을 마이닝하는 마이너로 선택받을 확률이 높아집니다. 그렇기에 도미노 플레이어들은 누구의 움직임이 다음에 이뤄질지를 알수 있습니다.마이너들은 자신이 마이닝한 블럭들에 담긴 수수료의 40%를 받아가고 전임자가 마이닝한 블럭의 수수료의 60%를 받아갑니다.

종합하자면,
모든 합의 프로토콜을 통틀어 가장 빠르고,가장 확장성 있다는 점 외에도Waves-NG는 분산화와 보안성 면에서도 탁월하며 Waves 블럭체인을 기술적으로 가장 진보하고,사용자 친화적인 블럭체인으로 만들어 줬습니다.

어떤 면에서는, 이것은 매우 발달된 형태의 도미노와 같은데,각라운드 마다 모두가 승리를 하는 초 고급형 도미노를 플레이하는것과 같습니다.

Sort:  

일교차가 큰 날씨에요 감기조심하세요^^
오늘은 비가 온다고 합니다 우산챙기세요

Waves NG에 대한 설명은 아래 영상을 참고하시는 편이 훨씬 더 이해하기 편하실것 같습니다.비트코인 NG의 설명이지만 키블럭,마이크로 블럭 같은 기본원리는 같습니다.

Coin Marketplace

STEEM 0.21
TRX 0.25
JST 0.039
BTC 95276.42
ETH 3297.99
USDT 1.00
SBD 3.16