의견.png

그래핀 (블록체인)

위키원
eom9522 (토론 | 기여)님의 2019년 11월 18일 (월) 14:15 판
이동: 둘러보기, 검색
댄 라리머(Dan Larimer)

그래핀(graphene)은 블룸필터IBLT(invertible bloom lookup table)을 사용하여 블록을 전체 노드브로드캐스팅하기 위한 대역폭을 줄이는 프로토콜이다. 이오스(EOS) 공동창시자인 댄 라리머(Dan Larimer)가 개발했다.

개요

그래핀은 오픈소스 블록체인 기술로 주로 C++로 작성되었다. 그래핀 소스는 여러번 포크되고 조정되어 다양한 변형이 가능하다. 그래핀 기반 코인은 비트코인이 결코 할 수 없었던 일을 할 수 있다. 이는 많은 애플리케이션을 기반으로 한 실시간 가치 교환 시스템이다. 현재 그래핀은 초당 약25건의 트랜잭션을 처리하는 이더리움과 비교하여 초당 3,000건 이상의 트랜잭션을 처리할 수 있다.[1] 가장 적은 양의 대역폭과 대기 시간을 사용하여 피투피 네트워크에서 블록을 릴레이하면 모든 암호화폐 작동에 많은 장점이 있다. 더 적은 대역폭을 사용하여 릴레이 할 수 있는 블록은 더 빨리 전파되므로 피어 간의 동기화를 높이고 체인의 포크를 줄일 수 있으며 블록을 릴레이하면 제한된 대역폭 링크 및 경로를 사용하는 피어의 참여도가 높아진다. 블록을 중계하기위한 효율적인 메커니즘은 최대 블록 크기를 늘려 초당 전체 트랜잭션 수를 늘릴 수 있다.

특징

블룸필터

블룸필터(Bloom Filter)는 특정 원소가 집합에 속하는지 검사하는데 사용할 수 있는 확률형 자료 구조이다. 집합의 크기가 굉장히 크거나 집합의 속해있는 원소의 크기가 커서 원소가 집합에 속해있는지 정확히 판단하는데 시간이 오래걸리는 경우 이 과정의 전처리 과정으로 블룸필터를 이용해서 아예 집합에 속할 일이 없는 원소를 미리 걸러낼 수 있다. 구글 크롬은 위험한 사이트 검사에 블룸필터를 사용한다고 알려져 있다. 블룸필터를 사용해서 빠르게 대충 검사한 다음, 의심이 가는 사이트인 경우 데이터베이스에 다시 정확하게 검사하는 것이다. 아마 위험 사이트 테이터베이스의 크기가 크고, 검사 요청이 빈번하게 일어나기 때문에 블룸필터를 전처리 과정으로 사용해서 데이터베이스 요청 부하를 줄이는 것으로 보인다. 비트코인 내부적으로도 블룸필터를 사용하는 것으로 알려져 있다. 암호화폐에 있어 블룸필터는 비트코인 언리미티드 팀(Bitcoin Unlimited Team)이 노드에 알려지지 않은 거래를 식별하는 데 도움을 주고 있다. 블룸필터를 사용하는 또 다른 예는 SPV(Simplified Payment Verification) 지갑들이다. 대시지갑과 같은 일부 SPV 지갑은 거래에 대해 블룸필터를 통과하는 주소를 포함하도록 요구한다. 이로써 요청된 주소가 지갑에 속하지 않을 수 있다는 질문을 제기함으로써 개인 정보 보호 에 있어 일정 수준을 허용하게 되나, 이는 잘못된 긍정 반응보다는 낫다는 것이다. 또한 블룸필터는 브로드캐스팅 블록에 있어서 그래핀 프로토콜의 블록에 속한 거래 집합을 식별하는 데에도 사용된다. 그래핀은 또한 잘못된 긍정을 식별하기 위해 IBLT를 사용한다.[2]

IBLT

IBLT는 간단한 해시 기반 데이터 구조로, 삽입, 삭제 및 적절한 조건에서 삽입된 항목을 적은 공간으로 나열 할 수 있다. IBLT는 이미 집합의 일부 항목을 알고 있는 누군가와 집합이 교신해야 하는 경우에 매우 유용하다. 주요 장점 중 하나로 IBLT에 압축될 수 있는 것에 제한이 없다는 것이다. 수신자는 항목을 압축 해제 하고 디코드 작업은 여전히 작동할 수 있다. 단점으로는 수신자가 어떤 정보라도 얻기 위해서는 일부 항목을 압축 해제 해야 할 수 있다는 것이다. 일부 응용 프로그램에서는 누락된 항목의 수를 예측할 수 있다. 그러한 경우에, IBLT를 디코딩 할 확률을 계산할 수 있다. 실질적으로, 셀의 수와 같은 IBLT의 측면은 디코딩의 확률을 최대화하도록 조정될 수 있다. 더 큰 IBLT가 일반적으로 더 큰 디코딩의 기회를 가지게 되므로 트레이드 오프가 있다고 할 수 있다. 이는 곧 IBLT가 더욱 소형화 되거나 적은 가능성을 가질 수 있으며 그렇지 않으면 더 많은 대역폭이 필요해지므로 디코딩의 가능성이 높아질 수 있다는 것이다. IBLT는 무결성 검사를 제공하는 추가 데이터를 더한다. 또한, IBLT의 항목은 너무 많은 공간을 차지해서는 안 된다. 실제로는 아이템 자체보다 식별자가 사용된다. 수신자 역시 IBLT에 없는 항목의 압축을 해제할 수 있으며, 이 수신자는 여전히 이 집합을 복원할 수 있다는 것이다. 이 경우에 카운트는 음수일 수 있다.[3]

위임지분증명

그래핀 블록체인 기술은 블록 유효성 검사에 위임지분증명(DPoS; Delegated Proof of Stake) 전략을 사용한다. 위임지분증명이란 암호화폐 소유자들이 각자의 지분율에 비례하여 투표권을 행사하여 자신의 대표자를 선정하고, 이 대표자들끼리 합의하여 의사결정을 내리는 합의 알고리즘이다. 간단히 말해서, 위임지분증명은 네트워크의 각 구성원이 보유하는 코인 수에 관계없이 투표할 수 있게 해주는 시스템이다. 위임지분증명 방식을 채택하고 있는 암호화폐로는 이오스, 스팀, 비트셰어, 엘프, 리스크, 테조스, 라이즈, 아크, 시프트, 보스코인 등이 있다. 위임지분증명은 다음과 같은 방식으로 작동한다. 블록을 채굴하고 네트워크를 제어하기 위해 노력하는 특정 수의 증인(새 블록 생성을 담당하는 위임지분증명 블록체인의 노드)이 있다. 이 증인들은 투표로 선출된다. 모든 투표는 동일한 가치를 갖기 때문에 투표 프로세스의 분산화로 표시 될 수 있다. 즉, 지분증명과 같은 마스터노드 보유자에 국한되지 않는다. 네트워크를 보호하기 위해 일하는 소수의 사람들이 있기 때문에 필요한 변경 사항이 훨씬 효율적으로 발생할 수 있다. 또한 증인은 투표에 의존하기 때문에 다른 네트워크 회원의 우려에 주의를 기울이는 것이 좋다.[4]

장점

온라인 소셜 네트워크에 가 치있는 정보를 제공하는 온라인 커뮤니티는 보상을 받을 가치가 있으며 이것이 그래핀 플랫폼의 주요 아이디어이다. 소셜 미디어 네트워크에 가치를 더하는 데 곤여하는 개인에게 보상한다. 더 많은 사용자가 소셜 미디어 콘텐츠 수익 창출에 참여하도록 권장한다. 그래핀은 초당 3,000개 이상의 트랜잭션을 처리할 수 있으며 여러번 곱할 수 있다. 테스트하는 동안 그래핀은 초당 10,62개의 트랜잭션을 발행할 수 잇었다. 그리고 설립자들은 초당 최대 100,000 트랜잭션까지 증가시킬 가능성에 대해 이야기한다. 비교하자면, 현재 비트코인의 기능 한도는 초당 최대 7건의 거래이며, 때로는 3~4일 동안 결제가 중단될 수 있다. 따라서 오늘날 그래핀은 대규모 사회 경제적 플랫폼의 원활한 작업에 충분한 생산성을 갖춘 유일한 블록체인 시스템이다. 그래핀은 3초마다 새로운 블록이 형성되며 그래핀 플랫폼은 수수료가 없는 결제를 지원한다. 사용자는 코인을 한 계좌에서 다른 계좌로 완전히 무료로 옮길 수 있다. 또한, 작업증명대신 위임지분증명 알고리즘을 사용하고 광부뿐만 아니라 시스템의 다른 활동적인 구성원(크리에이터, 송금인, 큐레이터, 쇼핑객, 마켓 메이커, 기업가, 가맹점, 블로거, 리퍼러, 커뮤니티 리더 및 인터넷 리더 등)에 의해 보상을 받을 가능성이 있으며 한 시스템에서 여러 토큰을 한 번에 사용할 수 있는 가능성도 있다. 그리고 토큰의 가치를 다른 화폐, 귀금속 등에 묶을 가능성으로 예를 들어, 여러 개의 토큰이 있고 한 개가 USD에 묶여 있다면, 내부 교환은 항상 USD의 비율로 이루어져 토큰 소유자들에게 안정감을 준다.

종류

그래핀 1.0

그래핀 1.0은 비트셰어 2.0과 함께 나온 기술로 LMAX라는 곳의 기술적 방법론에 따라 메모리에서 많은 연산을 처리하는 등 지갑노드의 퍼포먼스를 높여서 위임지분증명 증인 서버 성능이 이상적으로 받쳐준다면 이론적으로 1초에 10만 건의 트랜잭션을 처리할 수 있는 기술이다. 그래핀 1.0에서는 모든 블록체인 상태정보를 메모리에 넣고 Boost C++라이브러리의 멀티 인덱스 컨테이너 STL을 사용해서 접근할 수 있게 만들었다. 이런 방식은 기존의 블록체인들에서 사용되는 작은 사이즈(계정 잔고 정도의 정보를 주로 담는)의 블록체인에서는 적절했으나, 스팀의 경우 상태정보의 용량이 매우 크고 블록체인 상태에 대한 쿼리가 아주 자주 일어나 적절하지 못했다. 그래핀 1.0에서는 다른 블록체인과 마찬가지로 싱글스레드 방식을 사용한다. 멀티스레드를 동기화 시키는데 발생하는 오버헤드를 방지하기 위해서다.[5]

그리핀 2.0

그래핀 2.0은 백엔드 기술에 대한 중요한 점검으로, 스팀잇과 같은 플랫폼을 안전하고 경제적으로 확장 할 수 있도록 돕는다. 그래핀 2.0에서 모든 블록체인 합의 상태는 여러 프로세스간에 공유 될 수 있는 메모리 매핑된 파일로 유지된다. 이는 응용 프로그램 상태가 사실상 '디스크 상'이고 운영체제가 필요에 따라 디스크와의 페이징 데이터를 처리함을 의미한다. 블록체인 메모리 요구 사항이 증가함에 따라 더 빠른 로드 및 종료시간, 데이터베이스에 대한 병렬 액세스, 충돌에 대한 보다 강력함, 덜 빈번한 데이터베이스 손상, 전체 상태의 즉각적인 '스냅 샷', 동일한 메모리에서 더 많은 RPC 요청 제공 등의 이점이 있다. 그래핀 2.0으로 업데이트하면서 그래핀 1.0의 문제였던 느린 종료 및 로드 시간과 단일 스레드 병목 현상 제한 연결, 소프트웨어 충돌로 인한 복구 비용이 많이 드는 것을 해결했다. 또한 그래핀 2.0에서 여러 API는 동일한 고융 데이터베이스를 공유할 수 있으며 마음대로 시작하고 중지 할 수 있다. 그리고 데이터베이스를 읽기 전용 모드로 매핑 한 프로세스에서 모든 블록체인 데이터베이스 쿼리를 제공 할 수 있다. 이는 운영체제가 API 호출이 블록체인 합의 데이터베이스의 상태를 실수로 손상시키지 않도록 강제한다. 또한, 새 모델에서는 피투피 네트워킹 코드를 핵심 데이터베이스 코드 및 논리와 분리할 수 있다. 이러한 분리를 통해 공개 네트워크 코드와 핵심 블록체인 검증 로직 사이에 운영체제 강제 강화벽을 유지하면서 여러 네트워킹 프로토콜을 병렬로 추가할 수 있다. 이를 통해 전체 블록체인 데이터베이스를 다시 시작하지 않고도 피투피 네트워킹 인프라를 시작, 중지 및 다시 시작할 수 있다.[6]

활용

비트셰어

비트셰어(BitShares)는 위임지분증명 방식의 합의 알고리즘을 사용하는 암호화폐이다. 댄 라리머(Dan Larimer)가 창시했다. 비트셰어의 화폐 단위는 BTS이다. 비트셰어는 위임지분증명 방식을 사용해 빠른 거래 처리 속도를 보장하고, 탈중앙화 거래소(DEX) 기능을 갖춰 중앙화된 암호화폐 거래소를 통하지 않고 개인간 피투피(P2P) 방식으로 직접 거래가 가능하다. 댄 라리머가 비트셰어에서 채택한 커뮤니티 중심의 운영 방식은 이후 스팀과 이오스로 계속 이어지고 있다. 비트쎼어는 비트코인의 느린 전송 속도, 가격 변동성, 확장성의 한계 등을 개선하기 위해 만들어 졌다. 분산형 자율 조직 또는 분권화된 자율적 회사(DAC)라고 부르기도 하며 산업용 블록체인 스펙을 가지도록 업그레이드하여 2018년 6월 비트셰어 2.0을 론칭하였다. 비트셰어 블록체인은 놀라운 생태계와 자유 시장 경제로 비즈니스, 조직 또는 개인에 초점을 맞춘 산업 등급 기술을 구현한다. 오픈 소스 MIT 라이센스 그래핀 기술을 기반으로 시작되었으며, 비트셰어 블록체인과 디앱은 코어 토큰 보유자를 통해 선출된 작업자에 의해 유지 관리 및 개발된 이후로, 30명 이상의 고도로 숙련된 전문가들로 구성되어 있다.가기.png 비트셰어에 대해 자세히 보기

스팀잇

스팀잇(Steemit)은 블록체인 기반의 소셜 네트워크 서비스(SNS) 커뮤니티 사이트이다. 2016년 7월 스팀잇 서비스가 시작되었다. 대표는 네드 스캇(Ned Scott)이다. 스팀잇 사이트에 글을 올리거나 기여를 하는 경우, 자체 암호화폐인 스팀(Steem) 토큰을 발행하여 지급해 준다. 스팀 토큰은 네드 스캇과 댄 라리머에 의해 공동 개발되었다. 스팀잇 회원은 스티머(Steemer)라 부른다. 스팀잇의 보상 시스템은 블록체인 기반으로 엔진 기반은 그래핀이라는 오픈소스 기반으로 만들어졌다. 블록체인에 저장된 보상 시스템에 따라 자동으로 암호화페가 지급된다. 스티머가 올린 콘텐츠 역시 블록체인에 기록된다. 단 7일이 지난 콘텐츠는 투표를 해도 보상받을 수 없다. 기본적으로 콘텐츠 투표를 통해 얻은 수익은 콘텐츠 작성자가 75%, 투표 참여자가 25%를 가져간다. 콘텐츠 수익은 달러로 표시되지만 지급은 스팀잇의 암호화폐로 준다. 보상은 콘텐츠 게시 7일 후에 지급된다.가기.png 스팀잇에 대해 자세히 보기

이오스

이오스(EOS)는 위임지분증명 방식을 사용하는 제3세대 암호화폐이다. 중국어로는 요우즈비라고 한다. 이오스의 화폐 단위는 EOS이다. 2017년 5월부터 미국 블록원(Block.one)회사의 브렌든 블루머(Brendan Blumer) 대표이사와 댄 라리머 기술이사 등이 이더리움 기반으로 개발했고, 2018년 6월 이더리움에서 벗어나 자체 메인넷을 오픈했다. 웹어셈블리(WebAssembly), 러스트(Rust), C, C++ 등 다양한 프로그래밍 언어를 사용하여 개발했다. 이오스는 "이더리움 킬러"라고 불린다. 이더리움의 느린 처리 속도와 높은 수수료 문제를 해결하기 위한 대안으로 등장하였다. 이오스는 분산 애플리케이션인 디앱을 구동할 수 있는 플랫폼을 제공함으로써 범용적인 블록체인 운영체제를 만드는 것을 목표로 하며 이더리움과 마찬가지로 튜링완전언어(Turing-complete language)로 구성된 블록체인 플랫폼으로서, 기존 이더리움에 비해 훨씬 더 빠른 속도와 안정성을 보장한다. 이오스는 스팀잇, 비트셰어의 엔진 기반인 그래핀 기반으로 만들어졌다.가기.png 이오스에 대해 자세히 보기

팔로우마이보트

팔로우마이보트(Follow My Vote)는 온라인 투표 플랫폼으로 블록체인 기술을 이용해서 투표를 지원하는 서비스를 제공하고 있다. 안전하고 투명한 투표시스템을 만들어 가짜 투표의 기회를 줄이고 민주주의 접근성을 개선하여 투표율을 높이는 것을 목표로 하고 있다. 팔로우마이보트는 그래핀 기술을 사용하여 안전한 개인 인터넷 기반시의 투표를 촉진한다. 팔로우마이보트의 소프트웨어는 블록체인 기술의 보안과 함께 제공되며 오픈 소스이므로 누구나 소프트웨어 코드를 감사할 수 있다. 또한, 팔로우마이보트의 시스템은 비용 효율성의 이점을 갖는다. 팔로우마이보트 온라인 투표 플랫폼은 타원 곡선 암호화를 사용하여 작업을 보호한다. 이 타원 곡선 암호화를 통한 암호화 시스템은 각 유권자에게 계정 작성과 수학적으로 관련된 두 개의 별도 키를 발급해야 한다. 이 키 중 하나는 시스템 내의 다른 유권자(공개키)에게 공개된다. 다른 키는 시스템 내의 다른 모든 유권자로부터 비밀로 유지되므로 개인키라고 한다. 이 조합은 키 페어를 만든다. 유권자의 개인키는 유권자가 계정을 제어하고 시스템에 요청을 제출하는 데 사용된다. 다른 유권자들은 유권자의 공개키가 무엇인지 알 것이다. 이러한 방식으로 암호화를 사용하면 투표 요청, 업데이트 및 제출을 해킹하거나 위조할 수 없다.

각주

  1. Diana Maltseva, 〈Graphene blockchain technology explained. Top advantages & Major players〉, 《DEV》, 2018-07-18
  2. Jo Yujin, 〈블룸 필터(Bloom Filter)는 무엇이며, 어떻게 사용되는가?〉, 《대시뉴스코리아》, 2019-02-19
  3. Jo Yujin, 〈가역 블룸 조회 테이블이란 무엇인가?〉, 《대시뉴스코리아》, 2019-02-27
  4. Smartym Pro, 〈What is Graphene blockchain and why should develop a Graphene-based project?〉, 《Smartym Pro 블로그》, 2018-07-12
  5. morning, 〈그래핀 2.0〉, 《스팀잇》, 2016-10-19
  6. steemitblog, 〈Steem Developer Update (Graphene 2.0)〉, 《스팀잇》, 2016-09-29

참고자료

같이 보기


  의견.png 이 그래핀 (블록체인) 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.