체인 (기술) 편집하기
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
− | '''체인'''(chain)이란 [[해시]]를 이용하여 하나의 [[블록]]을 다음 블록으로 시간 순서에 따라 연결한 것을 말한다. 이처럼 다수의 블록들이 체인 모양으로 연결된 것을 [[블록체인]](blockchain)이라고 한다. 체인은 [[ | + | '''체인'''(chain)이란 [[해시]]를 이용하여 하나의 [[블록]]을 다음 블록으로 시간 순서에 따라 연결한 것을 말한다. 이처럼 다수의 블록들이 체인 모양으로 연결된 것을 [[블록체인]](blockchain)이라고 한다. 체인은 [[연결 리스트]](linked list)와 유사한 [[자료구조]]로 되어 있다. 연결 리스트에서는 이전 노드와 다음 노드를 연결하기 위해 [[포인터]]를 사용하는데, 체인에서는 포인터 대신 [[해시]](hash)를 사용한다. |
== 개요 == | == 개요 == | ||
− | 체인( | + | 체인(Chain)이란 이전 블록의 [[해시]](hash)가 다음 블록의 한 구성요소가 되는 방식으로서 여러 블록이 마치 체인처럼 서로 연결된 것을 하나의 블록을 다음 블록과 이어주기 위해 해시를 이용하여 체인 구조를 만들 수 있다. 다수의 [[트랜잭션]]을 블록으로 묶은 후 시간 순서에 따라 체인으로 엮은 것을 [[블록체인]](blockchain)이라고 한다. 데이터베이스를 구성하는 여러 [[노드]]들이 시간 순서에 맞게 일렬로 늘어서서 체인으로 연결된 모양을 가지고 있다. 기존 연결 리스트 자료구조에서는 이전 노드의 주소와 다음 노드의 주소를 표시한 포인터를 별도로 가지고 있었으나, 블록체인의 경우에는 해시 자체가 각 노드를 연결하는 주소의 역할을 한다. |
− | == | + | == 체인알고리즘과 종류 == |
− | + | [[체인 알고리즘]]이란 다수의 거래기록을 암호화하여 체인처럼 연결함으로써 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다. | |
− | |||
− | + | 체인의 종류에는 [[블록체인]], [[더블체인]], [[퓨어체인]], [[차일드체인]], [[사이드체인]], [[인터체인]], [[플라즈마]], [[플라즈마 캐시]], [[샤딩]], [[라이트닝 네트워크]], [[레이든 네트워크]], [[탱글]], [[해시그래프]] 등이 있다. | |
− | |||
=== 블록체인 === | === 블록체인 === | ||
− | [[블록체인]](Block chain)이란 다수의 거래내역을 묶어 블록을 구성하고, 해시를 이용하여 여러 블록들을 체인처럼 연결한 뒤, 다수의 사람들이 복사하여 분산 저장하는 알고리즘이다. 블록체인 기술을 이용하면 데이터의 위변조가 불가능하여 권위 있는 중개 기관이 없더라도 신뢰할 수 있는 안전한 거래와 데이터 처리를 할 수 있다. 대표적인 | + | [[블록체인]](Block chain)이란 다수의 거래내역을 묶어 블록을 구성하고, 해시를 이용하여 여러 블록들을 체인처럼 연결한 뒤, 다수의 사람들이 복사하여 분산 저장하는 알고리즘이다. 블록체인 기술을 이용하면 데이터의 위변조가 불가능하여 권위 있는 중개 기관이 없더라도 신뢰할 수 있는 안전한 거래와 데이터 처리를 할 수 있다. |
+ | |||
+ | 대표적인 코인 : [[비트코인]](BTC), [[이더리움]](ETH) | ||
=== 더블체인 === | === 더블체인 === | ||
− | [[더블체인]](Double chain)은 [[퍼블릭 블록체인]]과 [[프라이빗 블록체인]]을 연결한 체인이다. 예를 들어, 보안이 중요한 가정용 [[사물인터넷]](IoT) 기기는 프라이빗 블록체인을 이용하고, 자동화된 결제를 위해 퍼블릭 블록체인에 연결하는 방식이다. 이때 퍼블릭 블록체인은 [[메인넷]]이 되고, 여기에 연결된 다수의 프라이빗 블록체인은 1:N 구조의 사이드체인 방식으로 구성할 수 있다. | + | [[더블체인]](Double chain)은 [[퍼블릭 블록체인]]과 [[프라이빗 블록체인]]을 연결한 체인이다. 예를 들어, 보안이 중요한 가정용 [[사물인터넷]](IoT) 기기는 프라이빗 블록체인을 이용하고, 자동화된 결제를 위해 퍼블릭 블록체인에 연결하는 방식이다. 이때 퍼블릭 블록체인은 [[메인넷]]이 되고, 여기에 연결된 다수의 프라이빗 블록체인은 1:N 구조의 사이드체인 방식으로 구성할 수 있다. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
대표적인 코인 : [[에이치닥]](Hdac) | 대표적인 코인 : [[에이치닥]](Hdac) | ||
31번째 줄: | 25번째 줄: | ||
=== 차일드체인 === | === 차일드체인 === | ||
− | [[차일드체인]](Child chain)이란 자식체인이라고도 하며 사이드체인과 비슷한 | + | [[차일드체인]](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) | ||
− | |||
− | |||
− | |||
=== 샤딩 === | === 샤딩 === | ||
[[샤딩]](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) |
=== 라이트닝 네트워크 === | === 라이트닝 네트워크 === | ||
− | [[라이트닝 네트워크]]란 [[확장성]] 문제를 해결하기 위한 방법이다. [[비트코인]]은 초당 3~7건의 거래를 한다. 이는 초당 약 200건의 거래를 처리하는 [[페이팔]](PayPal), 약 2,000건의 거래를 처리하는 [[비자]](VISA)와 대조하면 현저하게 느린 속도이다. 라이트닝 네트워크는 블록의 크기를 키우는게 아닌, 블록체인의 바깥에서 결제 채널을 따로 만들어서 낮은 수수료로 다량의 소액거래를 처리할 수 있게 하는 [[오프체인 스케일링]](Off- | + | [[라이트닝 네트워크]]란 [[확장성]] 문제를 해결하기 위한 방법이다. [[비트코인]]은 초당 3~7건의 거래를 한다. 이는 초당 약 200건의 거래를 처리하는 [[페이팔]](PayPal), 약 2,000건의 거래를 처리하는 [[비자]](VISA)와 대조하면 현저하게 느린 속도이다. 라이트닝 네트워크는 블록의 크기를 키우는게 아닌, 블록체인의 바깥에서 결제 채널을 따로 만들어서 낮은 수수료로 다량의 소액거래를 처리할 수 있게 하는 [[오프체인 스케일링]](Off-Chain Scaling)이다. 블록체인 바깥에 결제 채널을 만든다는 것은 거래의 내용을 빠르게 기록하기 위한 거래기록소를 따로 만든다는 말이다. 이때의 거래기록소를 결제 채널이라고 부르는데, 이 결제 채널은 거래 당사자들의 '[[공개키]]'가 있으면 형성이 가능하다. |
# 'Funding Transaction'을 형성하는데 이 거래기록을 생성하는데 이 'Funding Transaction'은 거래 당사자 간 거래 내용이고 블록체인에 직접 기록되는 내용이다. | # 'Funding Transaction'을 형성하는데 이 거래기록을 생성하는데 이 'Funding Transaction'은 거래 당사자 간 거래 내용이고 블록체인에 직접 기록되는 내용이다. | ||
94번째 줄: | 85번째 줄: | ||
=== 해시그래프 === | === 해시그래프 === | ||
− | [[해시그래프]](hashgraph)란 기존 [[블록체인]]의 한계를 극복하고자 | + | [[해시그래프]](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 | ||
− | |||
− | |||
== 같이 보기 == | == 같이 보기 == | ||
116번째 줄: | 105번째 줄: | ||
* [[블록]] | * [[블록]] | ||
* [[해시]] | * [[해시]] | ||
− | |||
* [[체인 알고리즘]] | * [[체인 알고리즘]] | ||
{{블록체인 기술|검토 필요}} | {{블록체인 기술|검토 필요}} |