체인 (기술) 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''체인'''(chain)이란 [[해시]]를 이용하여 하나의 [[블록]]을 다음 블록으로 시간 순서에 따라 연결한 것을 말한다. 이처럼 다수의 블록들이 체인 모양으로 연결된 것을 [[블록체인]](blockchain)이라고 한다. 체인은 [[연결리스트]](linked list)와 유사한 [[자료구조]]로 되어 있다. 연결리스트에서는 이전 노드와 다음 노드를 연결하기 위해 [[포인터]]를 사용하는데, 체인에서는 포인터 대신 [[해시]](hash)를 사용한다.
+
'''체인'''(chain)이란 [[해시]]를 이용하여 하나의 [[블록]]을 다음 블록으로 시간 순서에 따라 연결한 것을 말한다. 이처럼 다수의 블록들이 체인 모양으로 연결된 것을 [[블록체인]](blockchain)이라고 한다. 체인은 [[연결 리스트]](linked list)와 유사한 [[자료구조]]로 되어 있다. 연결 리스트에서는 이전 노드와 다음 노드를 연결하기 위해 [[포인터]]를 사용하는데, 체인에서는 포인터 대신 [[해시]](hash)를 사용한다.
  
 
== 개요 ==
 
== 개요 ==
체인(chain)이란 이전 블록의 [[해시]](hash)가 다음 블록의 한 구성요소가 되는 방식으로서 여러 블록이 마치 체인처럼 서로 연결된 것을 하나의 블록을 다음 블록과 이어주기 위해 해시를 이용하여 체인 구조를 만들 수 있다. 다수의 [[트랜잭션]]을 블록으로 묶은 후 시간 순서에 따라 체인으로 엮은 것을 [[블록체인]](blockchain)이라고 한다. 데이터베이스를 구성하는 여러 [[노드]]들이 시간 순서에 맞게 일렬로 늘어서서 체인으로 연결된 모양을 가지고 있다. 기존 연결리스트 자료구조에서는 이전 노드의 주소와 다음 노드의 주소를 표시한 포인터를 별도로 가지고 있었으나, 블록체인의 경우에는 해시 자체가 각 노드를 연결하는 주소의 역할을 한다.
+
체인(Chain)이란 이전 블록의 [[해시]](hash)가 다음 블록의 한 구성요소가 되는 방식으로서 여러 블록이 마치 체인처럼 서로 연결된 것을 하나의 블록을 다음 블록과 이어주기 위해 해시를 이용하여 체인 구조를 만들 수 있다. 다수의 [[트랜잭션]]을 블록으로 묶은 후 시간 순서에 따라 체인으로 엮은 것을 [[블록체인]](blockchain)이라고 한다. 데이터베이스를 구성하는 여러 [[노드]]들이 시간 순서에 맞게 일렬로 늘어서서 체인으로 연결된 모양을 가지고 있다. 기존 연결 리스트 자료구조에서는 이전 노드의 주소와 다음 노드의 주소를 표시한 포인터를 별도로 가지고 있었으나, 블록체인의 경우에는 해시 자체가 각 노드를 연결하는 주소의 역할을 한다.
  
== 특징 ==
+
== 체인알고리즘과 종류 ==
=== 이전블록해시 ===
+
[[체인 알고리즘]]이란 다수의 거래기록을 암호화하여 체인처럼 연결함으로써 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다.
체인(chain)은 블록들이 [[이전 블록 해시]]값을 이용하여 서로 연관되는 형태로 블록들을 연결시킨다. 이로써 데이터 변조도 방지된다. [[블록체인]]에서 '블록'은 '헤드(Head)'와 '바디(Body)'로 나뉜다. [[블록 바디]]엔 여러 거래 기록이 [[머클트리]](Merkle Tree)로 불리는 구조로 구성된 후 저장된다. 이렇게 하면 블록 바디 전체를 대표하는 암호 해시가 만들어 진다. [[블록 헤드]]엔 블록 바디 암호 해시 등 여러 가지 정보가 기록된다. 블록 헤드 또한 하나의 문서와 같은 만큼 암호 해시를 구할 수 있다. 이 블록 헤드 암호 해시는 다음에 만들어지는 블록에 전달되는데, 다음 블록 입장에서 보면 이는 앞서 주의 깊게 봐둔 이전 블록 헤드 암호 해시다. 즉, 다음 블록 입장에서 보면 내 블록 헤드의 암호 해시가 다음 블록 헤드에 저장되는 이전 블록 헤드 암호 해시가 되는 것이다. 블록체인이란 명칭은 이처럼 "이전 블록 헤드 암호 해시가 다음 블록에 저장되는 행태의 반복"이란 뜻에서 붙여졌다.<ref>박용범, 〈[https://news.samsung.com/kr/author/park-yongbeom 블록체인 기술의 핵(核), ‘암호 해시’ 파헤치기]〉, 《삼성뉴스룸》, 2018-08-09</ref> 각 블록이 이전 블록의 해시 정보를 가지고 있기 때문에 각 블록이 서로 서로 연결되어 있는 구조가 될 수 있다.
 
  
== 체인 종류 ==
+
체인의 종류에는 [[블록체인]], [[더블체인]], [[퓨어체인]], [[차일드체인]], [[사이드체인]], [[인터체인]], [[플라즈마]], [[플라즈마 캐시]], [[샤딩]], [[라이트닝 네트워크]], [[레이든 네트워크]], [[탱글]], [[해시그래프]] 등이 있다.
[[체인 알고리즘]]이란 다수의 거래기록을 암호화하여 체인처럼 연결함으로써 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다. 체인의 종류에는 [[블록체인]], [[더블체인]], [[퓨어체인]], [[차일드체인]], [[사이드체인]], [[인터체인]], [[플라즈마]], [[플라즈마 캐시]], [[샤딩]], [[라이트닝 네트워크]], [[레이든 네트워크]], [[탱글]], [[해시그래프]] 등이 있다.
 
  
 
=== 블록체인 ===
 
=== 블록체인 ===
[[블록체인]](Block chain)이란 다수의 거래내역을 묶어 블록을 구성하고, 해시를 이용하여 여러 블록들을 체인처럼 연결한 뒤, 다수의 사람들이 복사하여 분산 저장하는 알고리즘이다. 블록체인 기술을 이용하면 데이터의 위변조가 불가능하여 권위 있는 중개 기관이 없더라도 신뢰할 수 있는 안전한 거래와 데이터 처리를 할 수 있다. 대표적인 코인으로는 [[비트코인]](BTC), [[이더리움]](ETH)이 있다.
+
[[블록체인]](Block chain)이란 다수의 거래내역을 묶어 블록을 구성하고, 해시를 이용하여 여러 블록들을 체인처럼 연결한 뒤, 다수의 사람들이 복사하여 분산 저장하는 알고리즘이다. 블록체인 기술을 이용하면 데이터의 위변조가 불가능하여 권위 있는 중개 기관이 없더라도 신뢰할 수 있는 안전한 거래와 데이터 처리를 할 수 있다.
 +
 
 +
대표적인 코인 : [[비트코인]](BTC), [[이더리움]](ETH)
  
 
=== 더블체인 ===
 
=== 더블체인 ===
[[더블체인]](Double chain)은 [[퍼블릭 블록체인]]과 [[프라이빗 블록체인]]을 연결한 체인이다. 예를 들어, 보안이 중요한 가정용 [[사물인터넷]](IoT) 기기는 프라이빗 블록체인을 이용하고, 자동화된 결제를 위해 퍼블릭 블록체인에 연결하는 방식이다. 이때 퍼블릭 블록체인은 [[메인넷]]이 되고, 여기에 연결된 다수의 프라이빗 블록체인은 1:N 구조의 사이드체인 방식으로 구성할 수 있다.
+
[[더블체인]](Double chain)은 [[퍼블릭 블록체인]]과 [[프라이빗 블록체인]]을 연결한 체인이다. 예를 들어, 보안이 중요한 가정용 [[사물인터넷]](IoT) 기기는 프라이빗 블록체인을 이용하고, 자동화된 결제를 위해 퍼블릭 블록체인에 연결하는 방식이다. 이때 퍼블릭 블록체인은 [[메인넷]]이 되고, 여기에 연결된 다수의 프라이빗 블록체인은 1:N 구조의 사이드체인 방식으로 구성할 수 있다.  
 
 
* 인증 - 복수의 사용자 또는 디바이스가 서로를 정확하게 확인할 수 있다.
 
* 매핑 – 사용자 또는 디바이스가 인증이 된 후 이상 없이 서로 연결된다.
 
* M2M 거래 - 복수의 디바이스에서 청구 및 지불이 가능하다.
 
 
 
[[에이치닥]](HDAC)은 이 세 가지 이슈를 블록체인과 [[IoT]]를 결합하여 해결한다. 블록체인에서 인증, [[매핑]] 및 증명이 된 IoT 디바이스 사이에서 자동화, [[엠투엠]](M2M) 및 초저비용의 거래가 가능해진다. 구조학적으로 에이치닥의 시스템은 퍼블릭 및 프라이빗 블록체인을 이용하여 이전의 퍼블릭 블록 체인과는 차원이 다른 거래 스피드를 가능케 한다. 해당 기술은 양자 난수 생성을 사용하여 안전한 거래를 구현할 수도 있다. 에이치닥 블록체인은 향후 IoT 지향 블록체인으로서 [[트랜잭션]]에 대용량의 부가적인 데이터를 처리할  방안을 제시한다. 또한 향후 에이치닥 블록체인이 지향하는 IoT 보안과 응용 서비스 확장을 위해 필요할 경우, 트랜잭션 크기는 동적으로 적응이 가능하다.<ref>''HdacTech'', "[https://hos-forward.s3-accelerate.amazonaws.com/hos/download/Hdac_WhitePaper(KOR)_v1.0.2.pdf Hdac : Transaction Innovation - IoT Contract & M2M Transaction Platform based on Blockchain]", ''HdacTech'', 2018-11.</ref>
 
  
 
대표적인 코인 : [[에이치닥]](Hdac)
 
대표적인 코인 : [[에이치닥]](Hdac)
31번째 줄: 25번째 줄:
  
 
=== 차일드체인 ===
 
=== 차일드체인 ===
[[차일드체인]](Child chain)이란 자식체인이라고도 하며 사이드체인과 비슷한 개념이다. 대표적인 예로 [[이그니스]](Ignis)는 [[메인체인]]인 [[아더코인]](Ardorcoin)과 연결되는 차일드체인이다. 부모체인과 자식체인 사이에는 보따리꾼이 존재하고 자식체인에서 누적된 [[트랜잭션]]을 한 번에 부모체인에 반영하는 역할을 한다. 이러한 차일드체인의 장점은 메인체인인 부모체인과 연결함으로써 메인체인의 안정성을 보장받을 수 있다는 것이다. 또한 [[아더]](Ardor)코인의 가격이 급등하여 부모체인 상에서 수수료가 높아져도 차일드체인에는 영향을 미치지 않기 때문에, 아더와 연결되지만 독자적인 생태계를 구성할 수 있다.<ref>, prosong77, 〈[https://steemit.com/coinkorea/@prosong77/ignis (암호화폐 리뷰) 이그니스 코인 (Ignis), 아더의 차일드체인]〉, 《스팀잇》, 2018-05-01</ref>
+
[[차일드체인]](Child chain)이란 자식체인이라고도 하며 사이드체인과 비슷한 개념으로 [[메인체인]]인 [[아더체인]](Ardor chain)과 연결되는 체인으로 아더체인은 부모체인이라고 할 수 있다. 부모체인과 자식체인 사이에는 보따리꾼이 존재하고 자식체인에서 누적된 [[트랜잭션]]을 한 번에 부모체인에 반영하는 역할을 한다. 이러한 차일드체인의 장점은 메인체인인 아더체인과 연결함으로써 메인체인의 안정성을 보장받을 수 있다는 것이다. 또한 [[아더]](Ardor)코인의 가격이 급등하여 아더체인 상에서 수수료가 높아져도 차일드체인에는 영향을 미치지 않기 때문에, 아더와 연결되지만 독자적인 생태계를 구성할 수 있다.<ref>, prosong77, 〈[https://steemit.com/coinkorea/@prosong77/ignis (암호화폐 리뷰) 이그니스 코인 (Ignis), 아더의 차일드체인]〉, 《스팀잇》, 2018-05-01</ref>
  
 
대표적인 코인 : [[이그니스]](Ignis)
 
대표적인 코인 : [[이그니스]](Ignis)
55번째 줄: 49번째 줄:
  
 
대표적인 코인 :  [[오미세고]](OMG), [[코스모스]](COSMOS)
 
대표적인 코인 :  [[오미세고]](OMG), [[코스모스]](COSMOS)
 
=== 플라즈마 캐시 ===
 
[[플라즈마 캐시]](Plasma Cash)는 [[플라즈마]](Plasma)의 업그레이드 버전이다. '플라즈마 캐시'는 사용자가 추적하고 싶은 코인이 포함된 블록만 확인할 수 있도록 만들어, 전체 플라즈마 히스토리를 다운로드하고 확인해야 하는 기존 플라즈마보다 효율적으로 작동한다. 플라즈마 캐시는 [[이더리움]]을 처음 거래소에 입금한 사용자의 정보가 있기 때문에 도난의 위험을 낮춰주는데, 만약 해당 플라즈마 캐시 코인이 무단으로 인출되면 플라즈마 캐시의 '[[증거 데이터]](Proof Data)'를 이용해 이의를 제기할 수 있게 된다. 해킹 사건의 경우, 해당 플라즈마 캐시의 주인은 조정 과정을 거쳐 플라즈마 캐시와 연동된 이더리움(ETH)을 돌려받을 수 있게 된다.<ref>빗썸, 〈[https://blog.naver.com/bithumb_official/221234934871 이더리움 창시자 비탈릭 부테린, 플라즈마 캐시(Plasma Cash) 제안]〉, 《네이버 블로그》, 2018-03-22</ref>
 
  
 
=== 샤딩 ===
 
=== 샤딩 ===
 
[[샤딩]](Sharding)이란 [[확장성]] 문제를 해결하기 위한 방법이다. 원래 [[이더리움]] 블록체인에서는 기존 n개의 블록을 바탕으로 새로운 블록의 유효성을 검사한다. 이때, 모든 노드에 기존의 블록들을 다 저장하게 하는 것은 엄청난 시간 낭비이다. 따라서 이더리움 샤딩에서는 [[메인체인]]이 처리해야 할 블록을 쪼개어 [[샤드]]라고 불리는 [[오프체인]]에 할당한다. 각 오프체인은 주어진 조각 블록에 대해 유효성 검사를 한다. 이후 서로 간의 연결을 통해서 결과를 합치게 된다. 또한 메인체인과 다시 연결하여 기존 블록체인에 온전한 블록을 연결한다. 메인체인에 집중된 계산량을 분배함으로써 [[트랜잭션]] 처리속도 면에서 굉장한 이점을 얻을 수 있다. [[CPU]]가 하던 일을 [[GPU]]를 통해 병렬 처리를 하여 속도의 이점을 얻는다.<ref>와이키키브로, 〈[https://cafe.naver.com/nexontv/2005285 샤딩에 대해서 알아보자.Araboza]〉, 《네이버 카페》, 2019-05-31</ref>
 
[[샤딩]](Sharding)이란 [[확장성]] 문제를 해결하기 위한 방법이다. 원래 [[이더리움]] 블록체인에서는 기존 n개의 블록을 바탕으로 새로운 블록의 유효성을 검사한다. 이때, 모든 노드에 기존의 블록들을 다 저장하게 하는 것은 엄청난 시간 낭비이다. 따라서 이더리움 샤딩에서는 [[메인체인]]이 처리해야 할 블록을 쪼개어 [[샤드]]라고 불리는 [[오프체인]]에 할당한다. 각 오프체인은 주어진 조각 블록에 대해 유효성 검사를 한다. 이후 서로 간의 연결을 통해서 결과를 합치게 된다. 또한 메인체인과 다시 연결하여 기존 블록체인에 온전한 블록을 연결한다. 메인체인에 집중된 계산량을 분배함으로써 [[트랜잭션]] 처리속도 면에서 굉장한 이점을 얻을 수 있다. [[CPU]]가 하던 일을 [[GPU]]를 통해 병렬 처리를 하여 속도의 이점을 얻는다.<ref>와이키키브로, 〈[https://cafe.naver.com/nexontv/2005285 샤딩에 대해서 알아보자.Araboza]〉, 《네이버 카페》, 2019-05-31</ref>
  
대표적인 코인 :  [[쿼크체인]](Quarkchain), [[질리카]](Zilliqa)
+
대표적인 코인 :  [[쿼크체인]](QuarkChain), [[질리카]](Zilliqa)
  
 
=== 라이트닝 네트워크 ===
 
=== 라이트닝 네트워크 ===
[[라이트닝 네트워크]]란 [[확장성]] 문제를 해결하기 위한 방법이다. [[비트코인]]은 초당 3~7건의 거래를 한다. 이는 초당 약 200건의 거래를 처리하는 [[페이팔]](PayPal), 약 2,000건의 거래를 처리하는 [[비자]](VISA)와 대조하면 현저하게 느린 속도이다. 라이트닝 네트워크는 블록의 크기를 키우는게 아닌, 블록체인의 바깥에서 결제 채널을 따로 만들어서 낮은 수수료로 다량의 소액거래를 처리할 수 있게 하는 [[오프체인 스케일링]](Off-chain Scaling)이다. 블록체인 바깥에 결제 채널을 만든다는 것은 거래의 내용을 빠르게 기록하기 위한 거래기록소를 따로 만든다는 말이다. 이때의 거래기록소를 결제 채널이라고 부르는데, 이 결제 채널은 거래 당사자들의 '[[공개키]]'가 있으면 형성이 가능하다.
+
[[라이트닝 네트워크]]란 [[확장성]] 문제를 해결하기 위한 방법이다. [[비트코인]]은 초당 3~7건의 거래를 한다. 이는 초당 약 200건의 거래를 처리하는 [[페이팔]](PayPal), 약 2,000건의 거래를 처리하는 [[비자]](VISA)와 대조하면 현저하게 느린 속도이다. 라이트닝 네트워크는 블록의 크기를 키우는게 아닌, 블록체인의 바깥에서 결제 채널을 따로 만들어서 낮은 수수료로 다량의 소액거래를 처리할 수 있게 하는 [[오프체인 스케일링]](Off-Chain Scaling)이다. 블록체인 바깥에 결제 채널을 만든다는 것은 거래의 내용을 빠르게 기록하기 위한 거래기록소를 따로 만든다는 말이다. 이때의 거래기록소를 결제 채널이라고 부르는데, 이 결제 채널은 거래 당사자들의 '[[공개키]]'가 있으면 형성이 가능하다.
  
 
# 'Funding Transaction'을 형성하는데 이 거래기록을 생성하는데 이 'Funding Transaction'은 거래 당사자 간 거래 내용이고 블록체인에 직접 기록되는 내용이다.
 
# 'Funding Transaction'을 형성하는데 이 거래기록을 생성하는데 이 'Funding Transaction'은 거래 당사자 간 거래 내용이고 블록체인에 직접 기록되는 내용이다.
94번째 줄: 85번째 줄:
  
 
=== 해시그래프 ===
 
=== 해시그래프 ===
[[해시그래프]](hashgraph)란 기존 [[블록체인]]의 한계를 극복하고자 연결리스트 방식이 아니라, 하나의 [[노드]]가 다른 불특정 노드에 [[가십]](gossip)을 전달하는 방식으로 작동하는 [[알고리즘]]이다. 기존 블록체인의 장점인 위변조 방지 기능과 탈중앙 의사결정 구조를 유지하면서도, 1초에 수십만 건 이상의 빠른 속도로 [[트랜잭션]]을 처리할 수 있다.
+
[[해시그래프]](hashgraph)란 기존 [[블록체인]]의 한계를 극복하고자 연결 리스트 방식이 아니라, 하나의 [[노드]]가 다른 불특정 노드에 [[가십]](gossip)을 전달하는 방식으로 작동하는 [[알고리즘]]이다. 기존 블록체인의 장점인 위변조 방지 기능과 탈중앙 의사결정 구조를 유지하면서도, 1초에 수십만 건 이상의 빠른 속도로 [[트랜잭션]]을 처리할 수 있다.
  
 
{{각주}}
 
{{각주}}
109번째 줄: 100번째 줄:
 
* 유성민 IT칼럼니스트, 〈[http://a.to/19vxPWG 대안 체인과 사이드 체인은 뭘까]〉, 《ScienceTimes》, 2018-03-20
 
* 유성민 IT칼럼니스트, 〈[http://a.to/19vxPWG 대안 체인과 사이드 체인은 뭘까]〉, 《ScienceTimes》, 2018-03-20
 
* Rachel Rose O'Leary, 〈[http://a.to/19RXLWt 샤딩, 이더리움의 설계도를 다시 그리다]〉, 《코인데스크코리아》, 2018-03-30
 
* Rachel Rose O'Leary, 〈[http://a.to/19RXLWt 샤딩, 이더리움의 설계도를 다시 그리다]〉, 《코인데스크코리아》, 2018-03-30
* yahweh87, 〈[https://steemit.com/kr/@yahweh87/3 #3- 블록체인 기술 및 블록에 관한 정의]〉, 《스팀잇》, 2018-02-07
 
* 랜딩블록, 〈[https://cafe.naver.com/tang2011/4627450 “트랜잭션(Transaction)”, “블록(Block)”, “체인(Chain)”]〉, 《네이버 카페》, 2019-03-20
 
  
 
== 같이 보기 ==
 
== 같이 보기 ==
116번째 줄: 105번째 줄:
 
* [[블록]]
 
* [[블록]]
 
* [[해시]]
 
* [[해시]]
* [[체인]]
 
 
* [[체인 알고리즘]]
 
* [[체인 알고리즘]]
  
 
{{블록체인 기술|검토 필요}}
 
{{블록체인 기술|검토 필요}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)