검수요청.png검수요청.png

체인 (기술)

해시넷
Asadal (토론 | 기여)님의 2021년 3월 10일 (수) 10:48 판 (같이 보기)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

체인(chain)이란 해시를 이용하여 하나의 블록을 다음 블록으로 시간 순서에 따라 연결한 것을 말한다. 이처럼 다수의 블록들이 체인 모양으로 연결된 것을 블록체인(blockchain)이라고 한다. 체인은 연결리스트(linked list)와 유사한 자료구조로 되어 있다. 연결리스트에서는 이전 노드와 다음 노드를 연결하기 위해 포인터를 사용하는데, 체인에서는 포인터 대신 해시(hash)를 사용한다.

개요[편집]

체인(chain)이란 이전 블록의 해시(hash)가 다음 블록의 한 구성요소가 되는 방식으로서 여러 블록이 마치 체인처럼 서로 연결된 것을 하나의 블록을 다음 블록과 이어주기 위해 해시를 이용하여 체인 구조를 만들 수 있다. 다수의 트랜잭션을 블록으로 묶은 후 시간 순서에 따라 체인으로 엮은 것을 블록체인(blockchain)이라고 한다. 데이터베이스를 구성하는 여러 노드들이 시간 순서에 맞게 일렬로 늘어서서 체인으로 연결된 모양을 가지고 있다. 기존 연결리스트 자료구조에서는 이전 노드의 주소와 다음 노드의 주소를 표시한 포인터를 별도로 가지고 있었으나, 블록체인의 경우에는 해시 자체가 각 노드를 연결하는 주소의 역할을 한다.

특징[편집]

이전블록해시[편집]

체인(chain)은 블록들이 이전 블록 해시값을 이용하여 서로 연관되는 형태로 블록들을 연결시킨다. 이로써 데이터 변조도 방지된다. 블록체인에서 '블록'은 '헤드(Head)'와 '바디(Body)'로 나뉜다. 블록 바디엔 여러 거래 기록이 머클트리(Merkle Tree)로 불리는 구조로 구성된 후 저장된다. 이렇게 하면 블록 바디 전체를 대표하는 암호 해시가 만들어 진다. 블록 헤드엔 블록 바디 암호 해시 등 여러 가지 정보가 기록된다. 블록 헤드 또한 하나의 문서와 같은 만큼 암호 해시를 구할 수 있다. 이 블록 헤드 암호 해시는 다음에 만들어지는 블록에 전달되는데, 다음 블록 입장에서 보면 이는 앞서 주의 깊게 봐둔 이전 블록 헤드 암호 해시다. 즉, 다음 블록 입장에서 보면 내 블록 헤드의 암호 해시가 다음 블록 헤드에 저장되는 이전 블록 헤드 암호 해시가 되는 것이다. 블록체인이란 명칭은 이처럼 "이전 블록 헤드 암호 해시가 다음 블록에 저장되는 행태의 반복"이란 뜻에서 붙여졌다.[1] 각 블록이 이전 블록의 해시 정보를 가지고 있기 때문에 각 블록이 서로 서로 연결되어 있는 구조가 될 수 있다.

체인 종류[편집]

체인 알고리즘이란 다수의 거래기록을 암호화하여 체인처럼 연결함으로써 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다. 체인의 종류에는 블록체인, 더블체인, 퓨어체인, 차일드체인, 사이드체인, 인터체인, 플라즈마, 플라즈마 캐시, 샤딩, 라이트닝 네트워크, 레이든 네트워크, 탱글, 해시그래프 등이 있다.

블록체인[편집]

블록체인(Block chain)이란 다수의 거래내역을 묶어 블록을 구성하고, 해시를 이용하여 여러 블록들을 체인처럼 연결한 뒤, 다수의 사람들이 복사하여 분산 저장하는 알고리즘이다. 블록체인 기술을 이용하면 데이터의 위변조가 불가능하여 권위 있는 중개 기관이 없더라도 신뢰할 수 있는 안전한 거래와 데이터 처리를 할 수 있다. 대표적인 코인으로는 비트코인(BTC), 이더리움(ETH)이 있다.

더블체인[편집]

더블체인(Double chain)은 퍼블릭 블록체인프라이빗 블록체인을 연결한 체인이다. 예를 들어, 보안이 중요한 가정용 사물인터넷(IoT) 기기는 프라이빗 블록체인을 이용하고, 자동화된 결제를 위해 퍼블릭 블록체인에 연결하는 방식이다. 이때 퍼블릭 블록체인은 메인넷이 되고, 여기에 연결된 다수의 프라이빗 블록체인은 1:N 구조의 사이드체인 방식으로 구성할 수 있다.

  • 인증 - 복수의 사용자 또는 디바이스가 서로를 정확하게 확인할 수 있다.
  • 매핑 – 사용자 또는 디바이스가 인증이 된 후 이상 없이 서로 연결된다.
  • M2M 거래 - 복수의 디바이스에서 청구 및 지불이 가능하다.

에이치닥(HDAC)은 이 세 가지 이슈를 블록체인과 IoT를 결합하여 해결한다. 블록체인에서 인증, 매핑 및 증명이 된 IoT 디바이스 사이에서 자동화, 엠투엠(M2M) 및 초저비용의 거래가 가능해진다. 구조학적으로 에이치닥의 시스템은 퍼블릭 및 프라이빗 블록체인을 이용하여 이전의 퍼블릭 블록 체인과는 차원이 다른 거래 스피드를 가능케 한다. 해당 기술은 양자 난수 생성을 사용하여 안전한 거래를 구현할 수도 있다. 에이치닥 블록체인은 향후 IoT 지향 블록체인으로서 트랜잭션에 대용량의 부가적인 데이터를 처리할 방안을 제시한다. 또한 향후 에이치닥 블록체인이 지향하는 IoT 보안과 응용 서비스 확장을 위해 필요할 경우, 트랜잭션 크기는 동적으로 적응이 가능하다.[2]

대표적인 코인 : 에이치닥(Hdac)

퓨어체인[편집]

퓨어체인(Pure chain)은 물리적 복제방지기술(PUF)을 이용하여 데이터의 위변조를 방지하고 거래 당사자 간의 합의만으로도 거래를 확정지을 수 있는 기술이다. 기존 블록체인의 문제점을 하드웨어적으로 해결하려는 시도이다.

대표적인 코인 : 컬러코인(Colorcoin)

차일드체인[편집]

차일드체인(Child chain)이란 자식체인이라고도 하며 사이드체인과 비슷한 개념이다. 대표적인 예로 이그니스(Ignis)는 메인체인아더코인(Ardorcoin)과 연결되는 차일드체인이다. 부모체인과 자식체인 사이에는 보따리꾼이 존재하고 자식체인에서 누적된 트랜잭션을 한 번에 부모체인에 반영하는 역할을 한다. 이러한 차일드체인의 장점은 메인체인인 부모체인과 연결함으로써 메인체인의 안정성을 보장받을 수 있다는 것이다. 또한 아더(Ardor)코인의 가격이 급등하여 부모체인 상에서 수수료가 높아져도 차일드체인에는 영향을 미치지 않기 때문에, 아더와 연결되지만 독자적인 생태계를 구성할 수 있다.[3]

대표적인 코인 : 이그니스(Ignis)

사이드체인[편집]

사이드체인이란 메인체인 옆에 다른 블록체인을 사이드로 연결하는 기술이다. 이때 사이드체인의 노드들은 메인체인 노드에 추가되는 방식이다. 네트워크에 참여하는 노드가 많아질수록 보안성과 무결성이 강해진다. 그러므로 51% 공격으로부터 위험을 방지할 수 있다. 사이드체인은 서로 다른 블록체인에서 암호화폐를 거래할 수 있으며 퍼블릭 블록체인프라이빗 블록체인 간의 연결도 가능하다. 하지만, 사이드로 연결되는 체인은 메인체인에 많은 부분 의존해야 하는 것이 단점이다.[4]

대표적인 코인 : 비트코인(BTC), 이오스(EOS)

인터체인[편집]

인터체인이란 서로 다른 블록체인을 연결해주는 기술이다. 블록끼리 연결되어 사용하는 암호화폐를 공유하여 다른 블록에서도 사용 할 수 있게 된다. 같은 체인을 공유하는 블록체인들은 서로 데이터를 공유하고 조회도 할 수 있어서 편리한 확장성을 제공해준다. 지금도 수많은 프로젝트들과 암호화폐들이 생겨나고 있기 때문에 독자적인 네트워크를 구성하는 암호화폐간의 연결은 앞으로도 중요해질 것으로 예상된다.[4]

대표적인 코인 : 코스모스(COSMOS), 아이콘(ICON)

플라즈마[편집]

플라즈마(Plasma)는 코인 생태계 중 이더리움(Ethereum)에서 가장 중요하게 해결해야 했던 처리능력(Scale)과 확장성 문제를 해결하기 위해 나왔다. 예전에 대부분의 ICO가 이더리움으로 진행되었고, 그에 따라서 송금이 몰려 네트워크가 먹통이 되거나, 디앱(DApp) 사용자 증가로 인해 많은 문제들이 빈번하게 발생하고 있었다. 플라즈마는 차일드체인을 이용하여 이런 문제점을 해결하고자 했다. 차일드체인에서 거래들을 취합한 후, 중개자를 통해 메인체인인 이더리움 네트워크에 반영하는 방식이다. 이때 차일드체인을 쓰기 때문에 차일드체인 자체에 문제가 생기더라도 메인체인인 이더리움 네트워크에는 문제가 생기지 않는다. 플라즈마는 퍼블릭 블록체인인 이더리움 체인 위에 올려진 스마트 컨트랙트이며 이는 개인의 룰과 어플리케이션의 실행을 가능하도록 한다. 이것은 플라즈마 컨트랙트(Plasma Contract)라고 한다. 플라즈마는 별도의 체인을 만들고 검증에 필요한 최소한의 데이터만 이더리움의 메인 블록체인에 동기화한다.

  • 이더리움 블록 사이즈를 줄일 수 있다.
  • 보다 빠른 속도로 디앱을 구동할 수 있다.
  • 가스(Gas) 소모를 최소화할 수 있다.

하지만 플라즈마에 담긴 블록을 사용자들이 모두 다운받아 유효성을 검사해야 하는 단점이 있지만, 비탈릭 부테린(Vitalik Buterin)은 플라즈마 내에서 생성된 '플라즈마 코인'의 이동경로만을 추적하게 만들어서 필요한 거래에 관해서만 확인 절차를 거치는 방법을 제시했다.[5]

대표적인 코인 : 오미세고(OMG), 코스모스(COSMOS)

플라즈마 캐시[편집]

플라즈마 캐시(Plasma Cash)는 플라즈마(Plasma)의 업그레이드 버전이다. '플라즈마 캐시'는 사용자가 추적하고 싶은 코인이 포함된 블록만 확인할 수 있도록 만들어, 전체 플라즈마 히스토리를 다운로드하고 확인해야 하는 기존 플라즈마보다 효율적으로 작동한다. 플라즈마 캐시는 이더리움을 처음 거래소에 입금한 사용자의 정보가 있기 때문에 도난의 위험을 낮춰주는데, 만약 해당 플라즈마 캐시 코인이 무단으로 인출되면 플라즈마 캐시의 '증거 데이터(Proof Data)'를 이용해 이의를 제기할 수 있게 된다. 해킹 사건의 경우, 해당 플라즈마 캐시의 주인은 조정 과정을 거쳐 플라즈마 캐시와 연동된 이더리움(ETH)을 돌려받을 수 있게 된다.[6]

샤딩[편집]

샤딩(Sharding)이란 확장성 문제를 해결하기 위한 방법이다. 원래 이더리움 블록체인에서는 기존 n개의 블록을 바탕으로 새로운 블록의 유효성을 검사한다. 이때, 모든 노드에 기존의 블록들을 다 저장하게 하는 것은 엄청난 시간 낭비이다. 따라서 이더리움 샤딩에서는 메인체인이 처리해야 할 블록을 쪼개어 샤드라고 불리는 오프체인에 할당한다. 각 오프체인은 주어진 조각 블록에 대해 유효성 검사를 한다. 이후 서로 간의 연결을 통해서 결과를 합치게 된다. 또한 메인체인과 다시 연결하여 기존 블록체인에 온전한 블록을 연결한다. 메인체인에 집중된 계산량을 분배함으로써 트랜잭션 처리속도 면에서 굉장한 이점을 얻을 수 있다. CPU가 하던 일을 GPU를 통해 병렬 처리를 하여 속도의 이점을 얻는다.[7]

대표적인 코인 : 쿼크체인(Quarkchain), 질리카(Zilliqa)

라이트닝 네트워크[편집]

라이트닝 네트워크확장성 문제를 해결하기 위한 방법이다. 비트코인은 초당 3~7건의 거래를 한다. 이는 초당 약 200건의 거래를 처리하는 페이팔(PayPal), 약 2,000건의 거래를 처리하는 비자(VISA)와 대조하면 현저하게 느린 속도이다. 라이트닝 네트워크는 블록의 크기를 키우는게 아닌, 블록체인의 바깥에서 결제 채널을 따로 만들어서 낮은 수수료로 다량의 소액거래를 처리할 수 있게 하는 오프체인 스케일링(Off-chain Scaling)이다. 블록체인 바깥에 결제 채널을 만든다는 것은 거래의 내용을 빠르게 기록하기 위한 거래기록소를 따로 만든다는 말이다. 이때의 거래기록소를 결제 채널이라고 부르는데, 이 결제 채널은 거래 당사자들의 '공개키'가 있으면 형성이 가능하다.

  1. 'Funding Transaction'을 형성하는데 이 거래기록을 생성하는데 이 'Funding Transaction'은 거래 당사자 간 거래 내용이고 블록체인에 직접 기록되는 내용이다.
  2. 'Commitment Transaction'을 형성하는데 이 거래기록은 블록체인 내부에 저장되지 않은 상태로 기록이 진행된다.
  3. 생성된 Commitment Transaction 기록에 대하여 서명이 완료가 되면 이 기록은 Funding Transaction에 기록될 수 있는 상태가 되는 것이다.
  4. 생선된 Funding Transaction에 Commitment Transaction 기록이 들어오고 이 Funding Transaction 또한 서명이 완료되면 결제채널 형성이 완료된 것이다.
  5. 이렇게 기록된 Funding Transaction은 블록체인 상에 통보되어 기록이 된다.

결국 Commitment Transaction이 다량의 거래를 빠르게 처리할 수 있다는게 핵심이며, 이것은 거래 당사자들의 잔고를 블록체인 바깥에서 기록하고 있으며 당사자들이 원할 때 언제든지 블록체인에 기록할 수 있기 때문에 빠른 처리가 가능하다는 것이다.[8]

레이든 네트워크[편집]

레이든 네트워크(Raiden Network)는 비트코인, 라이트코인에서 사용하는 라이트닝 네트워크(Lightning Network)와 유사한 프로젝트이다. 결제 채널을 여닫는 과정 사이의 중간 거래를 블록체인에 기록하지 않는 방법(Off-chain)을 통해 블록체인 기록을 최소화하고, 가스(Gas)를 절약하는 구조이다.

  • 블록 거래를 기다리지 않아, 승인을 빠르게 진행할 수 있다.
  • 채널을 열고 닫을 때에만 수수료를 지불하기 때문에 중간 과정의 거래는 수수료가 필요 없다.

예를 들어, A와 B가 레이든 네트워크를 통해 거래를 한다고 하면, 우선 A와 B를 연결하는 별도의 채널을 연다. 이 거래는 블록체인에 기록되는 거래이므로 수수료(Gas)가 발생하는 거래이다. 열린 채널 사이에서 A와 B가 무수히 많은 거래를 하더라도 블록체인에 기록되지 않는 오프체인 거래이므로 수수료는 발생하지 않는다. A와 B사이의 채널을 닫고 실제 송금을 수행한다. 이 거래는 블록체인에 기록되는 거래이므로 수수료가 발생한다. 위 예시는 A와 B 사이의 거래일 뿐이지만 B와 C 사이의 채널, C와 A 사이의 채널 등이 거미줄 처럼 얽히면 상호 간 채널을 닫는 횟수를 최소화할 수 있어 파급효과가 더 커지는 구조이다.[9]

탱글[편집]

탱글(Tangle)이란 기존 블록체인의 한계를 극복하고자 블록 자체를 없애고, 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 알고리즘이다. 사물인터넷 시대를 맞이하여 기계와 기계가(M2M) 인터넷을 통해 서로의 정보를 주고받는 프로젝트인 아이오타(IOTA)에 사용된 알고리즘이다. 비트코인의 경우 거래 기록들을 인증하고, 처리하고, 블록과 블록체인으로 옮기는 '채굴자'가 있지만, 아이오타의 탱글에서는 탱글 네트워크에서 거래하는 사람들이 직접 거래를 하고 탱글에 업데이트한다. 탱글 네트워크에서는 거래를 하고 거래를 인증받기 전에 "두 개의 인증되지 않은, 다른 사람들의 이전 거래 기록들"을 인증한 후에 거래를 인증받을 수 있다.

  1. A가 B에게 코인을 10개 보낸다.
  2. A는 아직 탱글의 네트워크에 올라가지 않은 인증되지 않은 다른 사람들의 거래 기록들 2개를 인증해주고 탱글 네트워크에 업데이트한다.
  3. "A가 B에게 10개를 보냄" 이라는 거래를 다른 유저가 입증해주고 탱글 네트워크에 인증된 거래 기록을 추가한다.

즉, 다른 이들에게 인증을 받아야 하기 때문에 사기를 당하기는 어렵다.[10]

대표적인 코인 : 아이오타(IOTA)

해시그래프[편집]

해시그래프(hashgraph)란 기존 블록체인의 한계를 극복하고자 연결리스트 방식이 아니라, 하나의 노드가 다른 불특정 노드에 가십(gossip)을 전달하는 방식으로 작동하는 알고리즘이다. 기존 블록체인의 장점인 위변조 방지 기능과 탈중앙 의사결정 구조를 유지하면서도, 1초에 수십만 건 이상의 빠른 속도로 트랜잭션을 처리할 수 있다.

각주[편집]

  1. 박용범, 〈블록체인 기술의 핵(核), ‘암호 해시’ 파헤치기〉, 《삼성뉴스룸》, 2018-08-09
  2. HdacTech, "Hdac : Transaction Innovation - IoT Contract & M2M Transaction Platform based on Blockchain", HdacTech, 2018-11.
  3. , prosong77, 〈(암호화폐 리뷰) 이그니스 코인 (Ignis), 아더의 차일드체인〉, 《스팀잇》, 2018-05-01
  4. 4.0 4.1 와이키키브로, 〈사이드체인과 인터체인에 대해서 알아보자.Araboza〉, 《네이버 카페》, 2019-04-26
  5. 와이키키브로, 〈플라즈마에 대해서 알아보자.Araboza〉, 《네이버 카페》, 2019-05-31
  6. 빗썸, 〈이더리움 창시자 비탈릭 부테린, 플라즈마 캐시(Plasma Cash) 제안〉, 《네이버 블로그》, 2018-03-22
  7. 와이키키브로, 〈샤딩에 대해서 알아보자.Araboza〉, 《네이버 카페》, 2019-05-31
  8. 와이키키브로, 〈라이트닝 네트워크에 대해서 알아보자.Araboza〉, 《네이버 카페》, 2019-05-30
  9. misskiwi, 〈플라즈마(Plasma), 라이덴(Raiden) 그리고 샤딩(Sharding)〉, 《CRYPTOKIWI》, 2018-02-13
  10. 와이키키브로, 〈탱글에 대해서 알아보자.Araboza〉, 《네이버 카페》, 2019-05-29

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 체인 (기술) 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.