별.png별.png별.png

"체인 알고리즘"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (종류)
잔글
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
2번째 줄: 2번째 줄:
  
 
== 개요 ==
 
== 개요 ==
체인(chain)이란 이전 블록의 [[해시]]가 다음 블록의 한 구성요소가 되는 방식으로 여러 블록이 마치 쇠사슬처럼 서로 연결된 것을 말한다. 체인으로 연결된 데이터 구조는 [[연결 리스트]](linked list) 방식과 유사하다. [[데이터베이스]]를 구성하는 여러 [[노드]]들이 시간 순서에 맞게 일렬로 늘어서서 체인으로 연결된 모양을 가지고 있다. 기존 연결 리스트 [[자료구조]]에서는 이전 노드의 주소와 다음 노드의 주소를 표시한 [[포인터]]를 별도로 가지고 있었으나, 블록체인과 같은 자료구조에서는 [[해시]](hash) 자체가 각 노드를 연결하는 주소의 역할을 한다.
+
체인(chain)이란 이전 블록의 [[해시]]가 다음 블록의 한 구성요소가 되는 방식으로 여러 블록이 마치 쇠사슬처럼 서로 연결된 것을 말한다. 체인으로 연결된 데이터 구조는 [[연결리스트]](linked list) 방식과 유사하다. [[데이터베이스]]를 구성하는 여러 [[노드]]들이 시간 순서에 맞게 일렬로 늘어서서 체인으로 연결된 모양을 가지고 있다. 기존 연결리스트 [[자료구조]]에서는 이전 노드의 주소와 다음 노드의 주소를 표시한 [[포인터]]를 별도로 가지고 있었으나, 블록체인과 같은 자료구조에서는 [[해시]](hash) 자체가 각 노드를 연결하는 주소의 역할을 한다.
  
블록체인과 그것을 개선한 다양한 체인들은 하나의 노드가 이전 노드의 [[해시]] 하나만 가지고 있다. 하지만 블록체인의 대안으로 출현한 [[탱글]](tangle)과 [[해시그래프]](hashgraph)의 경우 하나의 노드가 이전 노드 2개에 대한 해시를 가지고 있다. 탱글과 해시그래프는 연결 리스트와 같은 구조가 아니라 여러 노드들이 서로 복잡하게 뒤얽혀 있는 모양을 가지고 있다. 탱글과 해시그래프는 기존 블록체인이 가지고 있었던 위변조 방지 및 탈중앙 분산 저장이라는 특징을 그대로 유지하면서도 [[트랜잭션]] 속도를 획기적으로 개선할 수 있는 새로운 대안으로 떠오르고 있다.
+
블록체인과 그것을 개선한 다양한 체인들은 하나의 노드가 이전 노드의 [[해시]] 하나만 가지고 있다. 하지만 블록체인의 대안으로 출현한 [[탱글]](tangle)과 [[해시그래프]](hashgraph)의 경우 하나의 노드가 이전 노드 2개에 대한 해시를 가지고 있다. 탱글과 해시그래프는 연결리스트와 같은 구조가 아니라 여러 노드들이 서로 복잡하게 뒤얽혀 있는 모양을 가지고 있다. 탱글과 해시그래프는 기존 블록체인이 가지고 있었던 위변조 방지 및 탈중앙 분산 저장이라는 특징을 그대로 유지하면서도 [[트랜잭션]] 속도를 획기적으로 개선할 수 있는 새로운 대안으로 떠오르고 있다.
  
 
== 블록체인과 그 대안 ==
 
== 블록체인과 그 대안 ==
39번째 줄: 39번째 줄:
 
* [[암호화폐]]
 
* [[암호화폐]]
  
{{좋은글}}
+
{{알고리즘|좋은글}}
{{알고리즘}}
 
  
 
[[분류:체인 알고리즘]]
 
[[분류:체인 알고리즘]]

2020년 8월 14일 (금) 09:24 기준 최신판

체인 알고리즘(chain algorithm)이란 다수의 거래기록을 암호화하여 체인(chain)처럼 연결함으로써 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다. 블록체인은 가장 대표적인 체인 알고리즘이고 위변조 방지, 탈중앙 분산 저장 등 많은 장점을 가지고 있으나, 트랜잭션 처리 속도가 느리고 다른 블록체인과 연결이 어렵다는 단점이 있다. 이를 개선하기 위해 라이트닝 네트워크, 플라즈마, 플라즈마캐시, 사이드체인, 더블체인, 인터체인 등이 출현했으나 여전히 일정한 한계를 가지고 있다. 한편 블록체인 자체를 벗어난 새로운 대안적 알고리즘으로 탱글, 해시그래프 등이 등장하고 있다.

개요[편집]

체인(chain)이란 이전 블록의 해시가 다음 블록의 한 구성요소가 되는 방식으로 여러 블록이 마치 쇠사슬처럼 서로 연결된 것을 말한다. 체인으로 연결된 데이터 구조는 연결리스트(linked list) 방식과 유사하다. 데이터베이스를 구성하는 여러 노드들이 시간 순서에 맞게 일렬로 늘어서서 체인으로 연결된 모양을 가지고 있다. 기존 연결리스트 자료구조에서는 이전 노드의 주소와 다음 노드의 주소를 표시한 포인터를 별도로 가지고 있었으나, 블록체인과 같은 자료구조에서는 해시(hash) 자체가 각 노드를 연결하는 주소의 역할을 한다.

블록체인과 그것을 개선한 다양한 체인들은 하나의 노드가 이전 노드의 해시 하나만 가지고 있다. 하지만 블록체인의 대안으로 출현한 탱글(tangle)과 해시그래프(hashgraph)의 경우 하나의 노드가 이전 노드 2개에 대한 해시를 가지고 있다. 탱글과 해시그래프는 연결리스트와 같은 구조가 아니라 여러 노드들이 서로 복잡하게 뒤얽혀 있는 모양을 가지고 있다. 탱글과 해시그래프는 기존 블록체인이 가지고 있었던 위변조 방지 및 탈중앙 분산 저장이라는 특징을 그대로 유지하면서도 트랜잭션 속도를 획기적으로 개선할 수 있는 새로운 대안으로 떠오르고 있다.

블록체인과 그 대안[편집]

블록체인[편집]

최초의 체인 알고리즘은 블록체인(blockchain)이다. 2008년 11월 사토시 나카모토라는 가명을 사용하는 사람이 비트코인이라는 암호화폐 개발을 제안하고, 이듬해인 2009년 1월 실제로 블록체인 알고리즘 기반의 비트코인을 개발했다. 블록체인이란 다수의 거래내역을 묶어 하나의 블록을 구성하고, 해시를 이용하여 여러 블록을 마치 체인(chain)처럼 연결한 뒤, 다수의 사람들이 복사하여 분산 저장하는 알고리즘이다. 블록체인 기술은 데이터의 위변조가 불가능하고 탈중앙 분산 관리가 가능하다는 점에서 기존 데이터 관리 방식에 일대 혁명을 가져왔다. 블록체인 기술은 비트코인을 시작으로 라이트코인, 이더리움, 리플, 비트코인캐시, 이오스 등 다양한 암호화폐에 적용되었다.

블록체인은 여러 가지 장점에도 불구하고 중대한 단점을 가지고 있는데, 바로 "처리 속도가 매우 느리다"는 문제가 있다. 하나의 거래가 발생하면 즉시 처리하지 못하고 다수의 거래내역이 모여 하나의 블록을 구성할 때까지 기다려야 하며, 블록이 구성된 이후에도 네트워크에 분산된 여러 노드들이 검증하고 확인할 때까지 오랜 시간 기다려야 하는 문제가 있다. 예를 들어, 비트코인의 경우 하나의 새로운 블록을 구성하려면 약 10분이 걸리고, 그 블록이 네트워크에서 확인을 받으려면 1시간 이상 기다려야 하는 경우도 자주 발생하고 있다. 그에 따라 비트코인 등 블록체인 기반의 암호화폐를 일상생활에서 결제수단으로 사용하는 것은 사실상 불가능하다. 비트코인 등 암호화폐를 가치의 저장수단으로 이용할 수는 있어도 일상생활에서 결제수단으로 사용하기 어려운 것은 블록체인이라는 알고리즘 자체의 한계 때문이다.

블록체인을 구성하는 하나의 블록(block)은 최대 크기가 정해져 있어서 확장성(scalability) 문제가 생기고 있다. 초기에 블록체인 사용자 수가 많지 않았을 당시에는 블록 사이즈 제한이 큰 문제가 되지 않았다. 하지만 블록체인 사용자 수가 폭발적으로 증가하면서, 하나의 블록 안에 담을 수 있는 데이터의 최대 한도를 초과하는 경우가 발생하고 있다. 예를 들어 비트코인의 경우 블록 하나의 최대 크기가 2MB로 제한되어 있기 때문에, 하나의 블록당 대략 2천 건 정도의 트랜잭션을 기록하면 더 이상 기록할 공간이 부족한 문제가 발생한다. 이 경우 해당 트랜잭션은 블록에 기록되지 못하고 뒤로 밀리게 된다. 물론 더 높은 수수료를 지급하면 순서에 상관없이 맨 앞으로 이동하여 블록에 먼저 기록될 수 있으나, 이로 인해 수수료 인플레이션이 발생할 수 있다. 비트코인의 경우 2017년 8월 1일자로 사용자의 디지털 서명 부분을 블록에 기록하지 않고 제외함으로써 한 블록당 더 많은 해시 데이터를 저장할 수 있도록 세그윗(SegWit)이라는 일시적 조치를 취함으로써 잠시 숨을 돌리기는 하였으나, 근본적인 문제는 여전히 해결되지 않고 남아 있다. 블록 자체의 사이즈를 4MB 또는 8MB로 계속 증가시키자는 제안도 있으나 그로 인해 미사용 공간을 낭비하게 되고, 전체 블록체인이 무겁고 느려지는 문제가 생길 수 있다.

블록체인의 개선[편집]

블록체인의 느린 속도와 확장성 문제를 해결하기 위해 일부 기능을 개선한 새로운 알고리즘이 출현하고 있다. 라이트닝 네트워크(lightning network)는 기존 블록체인의 느린 속도를 해결하고 번개처럼 빠른 속도를 구현하기 위해, 개별 거래를 별도의 채널에서 처리한 후 그 결과만 블록체인에 기록하는 방식으로 작동하는 알고리즘이다. 이와 유사한 방식으로 플라즈마(plasma) 알고리즘이 개발되었다. 모든 거래내역을 메인체인(main chain)에서 처리하지 않고 별도의 차일드체인(child chain)에서 처리한 후 결과만 메인체인에 전달하는 방식으로 작동하는 알고리즘이다. 플라즈마를 개량하여 플라즈마캐시(plasma cash) 알고리즘이 등장했다. 기존처럼 모든 사용자가 모든 블록을 다운로드해서 검증하지 않고, 개별 사용자가 관심을 가진 특정 코인이 포함된 블록만 추적함으로써 처리 속도를 향상시킨 알고리즘이다. 이런 새로운 알고리즘의 등장으로 기존 블록체인의 느린 속도 문제를 개선하고 좀 더 빠른 속도를 기대할 수 있게 되었다.

한편 새로 만든 암호화폐의 경우 도입 초기에는 네트워크에 참여하는 사용자 수가 현저히 적기 때문에 데이터 위변조 공격에 취약한 문제가 생길 수 있다. 이른바 51% 공격을 방어하기 위해, 신생 코인의 경우 자체로 독립적인 블록체인을 가지는 것보다는 이미 많은 사용자들이 참여하고 있는 기존 블록체인에 자신의 거래내역만 추가하는 방식이 더 유리할 수 있다. 이러한 체인을 사이드체인(side chain)이라고 한다. 사이드체인은 플랫폼 코인에 해당하는 이더리움, 큐텀, , 엘프, 에이치닥 등 메인체인 옆에 나란히 붙어서, 기존 메인체인의 노드에 자신의 노드를 추가하는 방식으로 작동한다.

다른 블록체인과 연결[편집]

블록체인 기술이 널리 확산되면서 다양한 암호화폐가 출현하고 각자의 독립적인 체인을 구축하였으나, 다른 체인과 데이터 전달이 되지 않는 불편함이 존재한다. 이를 해결하기 위해 더블체인과 인터체인 등 다른 블록체인과 연결하기 위한 알고리즘이 개발되었다. 더블체인(double chain)이란 퍼블릭 블록체인과 프라이빗 블록체인을 연결한 체인이다. 예를 들어, 보안이 중요한 가정용 사물인터넷(IoT) 기기는 프라이빗 블록체인(private blockchain)을 이용하고, 자동화된 결제를 위해 퍼블릭 블록체인(public blockchain)에 연결하는 방식이다. 인터체인(interchain)이란 다른 블록체인들을 서로 연결하기 위한 체인이다. 인터체인을 사용하면 A라는 암호화폐로만 구매할 수 있는 제품이나 서비스를 인터체인으로 연결된 B라는 다른 암호화폐로도 구매할 수 있다. 인터체인을 구현하기 위한 암호화폐에는 아이콘(ICON)과 아이온(AION) 등이 있다.

블록체인의 대안[편집]

블록체인 자체를 넘어서려는 새로운 시도가 이루어지고 있다. 기존 블록체인 알고리즘의 한계를 극복하기 위해 라이트닝 네트워크, 플라즈마, 플라즈마캐시 등 다양한 개선방안이 등장하였으나, 기존 블록체인 알고리즘을 기반으로 일부 기능만 개선했기 때문에 여전히 일정한 한계를 가지고 있다. 블록체인을 개선한 알고리즘 역시 거래 처리 속도가 느리고 수수료가 발생하는 문제가 있다. 결국 이 문제를 근본적으로 해결하기 위해서는 블록체인 자체의 구조를 바꿔야 한다. 블록체인의 처리 속도가 느린 것은 거래내역이 발생한 즉시 처리하지 않고 하나의 블록을 구성할 때까지 기다리기 때문이므로 '블록' 자체를 구성하지 않아야 속도 개선이 가능하다.

기존 블록체인과 달리 '블록'이 없는 데이터 처리 알고리즘으로 탱글해시그래프 알고리즘이 출현하였다. 탱글(tangle)은 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 알고리즘이다. 해시그래프(hashgraph)는 하나의 노드가 다른 불특정 노드에게 가십(gossip)을 전달하는 방식으로 작동하는 알고리즘이다. 탱글과 해시그래프에는 블록이 존재하지 않지만, 기존 블록체인의 장점인 위변조 방지와 탈중앙 분산 관리가 가능하면서도, 1초에 수십만~수백만 건 이상의 빠른 처리 속도를 구현할 수 있다.

종류[편집]

  • 블록체인(blockchain) : 다수의 거래 기록을 묶어 블록을 구성하고, 해시를 이용하여 여러 블록을 체인처럼 연결한 뒤, 다수의 사람들이 복사하여 분산 저장하는 알고리즘이다. 비트코인의 창시자인 사토시 나카모토가 처음 개발했다.
  • 라이트닝 네트워크(lightning network) : 기존 블록체인의 느린 속도를 해결하고 번개처럼 빠른 속도를 구현하기 위해, 개별 거래를 별도의 채널에서 처리한 후 그 결과만 블록체인에 기록하는 방식으로 작동하는 알고리즘이다.
  • 플라즈마(plasma) : 모든 거래내역을 메인체인에서 처리하는 블록체인과 달리, 메인체인(또는 루트체인)에 나뭇가지처럼 이어진 차일드체인에서 사전에 수집된 정보들을 처리한 후 결과만 루트체인에 전달함으로써 처리 속도를 향상시킨 알고리즘이다. 비탈릭 부테린조셉 푼이 공동 개발했다.
  • 플라즈마캐시(plasma cash) : 모든 사용자가 모든 거래내역을 복사하여 관리하던 기존의 블록체인이나 플라즈마 알고리즘과 달리, 개별 사용자가 관심을 가진 특정 코인이 포함된 블록만 추적함으로써 처리 속도를 향상시킨 알고리즘이다. 이더리움을 창시한 비탈릭 부테린댄 로빈슨, 칼 플로어쉬 등이 공동 개발하고 있다.
  • 사이드체인(sidechain) : 플랫폼 코인에 해당하는 이더리움, , 엘프 등의 메인체인 옆에 나란히 붙어서 작동하는 체인을 말한다.[1] 사이드체인만의 독립된 노드를 구성하지 않고, 기존 메인체인의 노드에 사이드체인의 노드가 추가되는 방식으로 작동한다.
  • 더블체인(double chain) : 퍼블릭 블록체인과 프라이빗 블록체인을 연결한 체인이다. 예를 들어, 보안이 중요한 가정용 사물인터넷(IoT) 기기는 프라이빗 블록체인을 이용하고, 자동화된 결제를 위해 퍼블릭 블록체인에 연결하는 방식이다. ㈜더블체인전삼구 대표가 제안한 개념이다.[2]
  • 인터체인(interchain) : 다른 블록체인들을 서로 연결하기 위한 체인이다. 인터체인을 사용하면 A라는 암호화폐로만 구매할 수 있는 제품이나 서비스를 인터체인으로 연결된 B라는 다른 암호화폐로도 구매할 수 있다. 인터체인 방식의 암호화폐는 한국의 ㈜아이콘루프가 개발한 아이콘 등이 있다.
  • 퓨어체인(purechain) : 물리적 복제방지기술인 PUF(퍼프)를 이용하여 데이터의 위변조를 방지하고 거래 당사자 간의 합의만으로도 거래를 확정지을 수 있는 기술이다.[3] 기존 블록체인의 문제점을 하드웨어적으로 해결하려는 시도이다.
  • 탱글(tangle) : 기존 블록체인의 한계를 극복하고자 블록 자체를 없애고, 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 알고리즘이다. 사물인터넷(IoT) 시대의 M2M[4] 코인인 아이오타(IOTA)에 사용된 알고리즘이다.
  • 해시그래프(hashgraph) : 기존 블록체인의 한계를 극복하고자 연결리스트 방식이 아니라, 하나의 노드가 다른 불특정 노드에게 가십(gossip)을 전달하는 방식으로 작동하는 알고리즘이다. 기존 블록체인의 장점인 위변조 방지 기능과 탈중앙 의사결정구조를 유지하면서도, 1초에 수십만 건 이상의 트랜잭션을 처리할 수 있다. 리몬 베어드(Leemon Baird)가 개발했다.

각주[편집]

  1. 유성민 칼럼니스트, 〈대안 체인과 사이드 체인은 뭘까〉, 《사이언스타임즈》, 2018-03-20
  2. 성지은 기자, 〈이제는 더블체인…"퍼블릭-프라이빗 블록체인 연결"〉, 《아이뉴스24》, 2018-03-19
  3. 손예술 기자, 〈PUF 기반 '퓨어체인' 공개…"처리속도 지연 없는게 특징"〉, 《지디넷코리아》, 2018-03-08
  4. M2M이란 Machine to Machine의 약자로서, 사물인터넷(IoT) 시대를 맞이하여 기계와 기계가 인터넷을 통해 서로 정보를 주고받는 것을 말한다.

같이 보기[편집]


  별.png별.png별.png 이 체인 알고리즘 문서는 알고리즘에 관한 좋은글로 선정되었습니다.