이중작업증명
이중작업증명(DPoW, Dual Proof of Work)이란 에이식(ASIC) 채굴기를 허용하는 1차 채굴과 에이식 채굴기를 허용하지 않는 2차 채굴을 혼합하여 진행하는 작업증명(PoW) 방식을 말한다. 그린코인(GRIN coin)이 이 방식을 사용한다. 디포우(DPoW; Dual Proof of Work)라고도 한다. 이중작업 증명은 코모도(Komodo) 프로젝트에 의해 설계된 보안 매커니즘이다. 이는 기본적으로, 네트워크 보안을 강화하기 위해 비트코인 블록체인의 해시 파워를 사용하는 작업증명(PoW, Proof of Work) 합의 알고리즘의 수정 버전으로 코모도 개발자들은 지연된 작업 증명을 통해 자신들의 네트워크 뿐만 아니라 향후 코모도 생태계에 합류하게 될 제 3자의 체인을 보호할 수 있으며, 지연된 작업 증명은 UTXO 모델을 사용하는 개별 블록체인 개발 프로젝트에 구현될 수 있다.
개요
자체 블록체인 이외에 추가로 기존 비트코인의 블록체인도 함께 사용함으로써 위변조가 더욱 어렵게 만드는 합의 알고리즘을 의미한다.
특징
2018년 비골, 이클, 버지, 젠클이 해킹에 노출되었을 만큼 암호화폐에서 해킹에대한 보안은 필수적 요소로 코모도의 경우 DPOW 방식을 이용하여 이를 해소하고 있는데, Komodo 플랫폼은 KMD 체인을 보호하기 위해 고유 한 보안 메커니즘을 사용한다. 본질적으로 Bitcoin 네트워크의 해시 레이트를 활용하여 Komodo를 보호하고, 이것은 KMD 블록 체인의 백업을 Bitcoin 원장에 저장함으로써 가능하다.[1]
- 이중작업증명(DPoW, Dual Proof of Work) : 에이식(ASIC) 채굴기를 허용하는 1차 채굴과 에이식 채굴기를 허용하지 않는 2차 채굴을 혼합하여 진행하는 작업증명(PoW) 방식을 말한다. 그린코인(GRIN coin)이 이 방식을 사용한다.
- 이중작업증명이 필요한 이유
- 그린 (Grin)은 적절한 하드웨어를 가진 모든 사람이 채굴 할 수 있어야한다는 아이디어로 시작한다. 그러나 그린 (Grin)은 비밀 ASIC 에도 취약 하다. 즉, 잘 지원 된 ASIC 제조업체는 작은 GPU 채굴 기보다 불공평 한 이점을 가지고 비밀리에 그린을 채굴 할 수있는 특수 기계를 개발할 수있고, 장기 ASIC은 불가피하고 권장되어야 하지만 발사시 비밀 채굴은 모든 비용을 피해야하는 것으로 단일 엔티티가 많은 비율의 해시 레이트를 제어하여 cryptocurrency에 대한 시가 총액을 설정한다. Grin은 두 가지 작업 증명 알고리즘을 도입했다. 기본은 ASIC 친화적이고 보조는 ASIC에 적합하도록 설계되었고, 시작시 2 차 1 PoW는 발견 된 블록의 약 90 %를 나타내고 1 차 PoW는 대략 10 % 정도이다. 이 비율은 2 년 안에 블록의 100 %가 1 차 PoW로 마이닝되어 ASIC 제조업체가 1 차 알고리즘을위한 기계를 개발하도록 발전 할 것이다.[2]
- 지연작업증명(DPoW, Delayed Proof of Work) : 자체 블록체인 이외에 추가로 기존 비트코인의 블록체인도 함께 사용함으로써 위변조가 더욱 어렵게 만드는 합의 알고리즘이다. 슈퍼넷(Supernet)이 설계하였으며, 익명성을 보장하는 프라이버시 코인인 코모도(Komodo)가 지연작업증명 방식을 사용하고 있다. 지연된 작업증명은 네트워크 보안을 강화하기 위해 비트코인 블록체인의 해시 파워를 사용하는 작업증명 알고리즘의 수정버전으로 슈퍼넷(Supernet)이 설계하였으며 코모도가 유일하게 디포우 방식을 사용한다. 지연된 작업증명 합의 알고리즘은 시스템장애나 해킹이 발생해도 전체 데이터를 신속하게 복구할수 있다. 공격자가 해킹을 통해 영구적 손상을 입히려면 비트코인 네트워크 또한 해체하여, 비트코인 블록체인 내에 백업된 모든 스냅샷을 삭제해야 하며, 이러한 시나리오 의 가능성은 매우 낮기 때문에 지연된 작업증명 합의 알고리즘을 실행하는 블록체인들은 보다 높은 수준의 보안을 유지할 수 있다. 그러나 지연된 지연된 작업증명은 코모도 생태계내에서만 구현된고, 테스트를 통한 다른 시나리오 와 대규모스케일에 대한 효율성과 신뢰성은 아직 검증되지 않았다.[3]
- 노타리노드(Notary node) 방식
- 이중작업은 독측한 방식은 공증된 노타리노드(Notary node)를 선출하고, 이노드는 블록 발행을 공증하고, 낮은 난이도에서 채굴 할 권리를 가지게되는데 노타리 노드는 권장되는 활동에대한 인센티브를 부여받게 되며, 만약 노타리 노드가 작동하지 않더라도 체인(Chain)은 정상적으로 작동할수 있도록 준비되어 있다.
작업증명의 차이점
작업 증명과는 달리, 이중작업 증명은 새로운 블록에 대한 합의를 달성하는데 사용되지 않기 때문에, 합의 알고리즘으로 간주되지 않는다. 일반적인 작업 증명 합의 규칙에 더해져 작동하는 보안 매커니즘으로 지연된 작업 증명은 공증된 블록들이 재배열 될 수 없도록 하며, 이는 블록체인 보안을 강화하고 51% 공격에 대한 더 높은 저항성을 갖게 된다. 지연된 작업 증명은 한 블록이 공증될 때마다 블록 체인 합의 규칙을 재설정한다. 예를 들어, 대부분의 작업 증명 체인은 가장 긴 체인을 따르는 규칙을 사용하는데 따라서, 블록체인의 네트워크가 블록 XXX, XXX1이 공증되었다는 승인을 받을 때마다, 해당 규칙은 블록 XXX, XX2에서 다시 시작된다. 네트워크는 XXX, XX0으로 시작하는 체인이나 그 이전의 것이 가장 긴 체인이라 할지라도, 이를 허용하지 않게 된다.[4]
용어정의
- AF : 짧은 SIC F riendly
- AR : 짧은 SIC R의 esistant
- Cuckoo Cycle : John Tromp가 만든 그래프 이론적 작업 증명이다.
- Cuckatoo Cycle : ASIC를 단순화하기위한 Cuckoo Cycle의 변형이다.
- Cuckaroo Cycle : AR로 설계된 Cuckoo Cycle의 변형이다.
- Edge Bits : Cuckoo / Cuckatoo / Cuckaroo Cycle 그래프의 모서리 인덱스 크기이다.
- 보조 스케일링 : 각 블록 헤더에서 커밋 된 정수이다.
- 목표 난이도 : 현재 블록 총 난이도와 이전 블록 총 난이도의 차이
- 전체 난이도 : 기록에있는 모든 블록의 누적 된 목표 난이도.
작동원리와 방법
작동원리
지캐시의 영지식증명에 지연된 작업증명(DPoW) 방식을 추가하여, 무결성을 보장하는 기능을 비트코인 해시 레이트를 재활용하는 것으로 개발했다. 코모도의 내용을 10분주기로 비트코인 블록체인에 저장하는 공증 노드 사용으로 해커는 공증 된 블록 해시를 파괴하기 위해 Bitcoin 네트워크를 압도해야 KMD 체인을 분열 시키거나 변경할 수 있다. 검증은 2단계를 거친다.
- 1차검증 : 코모도 블록체인의 채굴자들이 1차 검증을 한 뒤, 비트코인 네트워크에서 2차 검증을 거친다.
- 2차 검증 : 코모도 코인을 가지고 있는 사람 중 64개의 노드를 선정하여 공증 노드로 활동을 한다.
작동방법
코모도를 예를 들면, 지연된 작업 증명 보안 메커니즘은 제트캐시(Zcash)의 코드를 기반으로 개발되고 구축되어 영지식 보안을 가능케 했으며, 비트코인 해시 레이트에 연결해 네트워크 보안을 강화했다. 10분 간격으로 코모도 시스템은 자체 블록체인 스냅샷을 찍는다. 이후, 공증(notarization) 과정을 거쳐 비트코인 네트워크 블록에 스냅샷이 기록되면, 기본적으로 이 과정은 비트코인 블록체인에 저장되는 전체 코모도 시스템 백업을 생성한다.
- 코모도 공동체에서 선출된 공증 노드는 코모도 체인 위에서 트랜잭션을 실행하여, 지연된 작업 증명에 의해 보호되는 블록체인의 블록 해시를 코모도 장부에 기록된다.
- OP_RETURN 명령을 사용해 공증 노드는 각 블록 해시를 코모도 체인에 저장한다. 공증 노드가 대략 10분 전의 블록 해시를 선택하는 이유는 전체 네트워크가 블록의 유효성에 동의하는지 확인하기 위해서이다.
- 각 블록체인 네트워크는 계속해서 개별 블록의 합의에 도달하면, 공증 노드는 이전에 채굴된 블록의 블록 해시를 단순히 기록한다.
- 공증 노드는 코모도 체인의 블록 해시를 비트코인 장부에 기록하고, 이는 비트코인 트랜잭션을 통해 완료되며, 비트코인 체인의 블록에 데이터를 기록하기 위해 OP_RETURN을 사용한다.
- 비트코인에 대한 공증이 시작되면, 코모도 공증 노드는 비트코인 블록체인의 블록 데이터를 보호받는 다른 모든 체인에 기록한다. 이 때, 네트워크는 공증된 블록 또는 가장 최근에 공증된 블록 이전에 생성된 블록들을 변경하려는 재배열을 허용하지 않는다. 현재 지연된 작업 증명은 비트코인과 함께 사용되고 있지만, UTXO 모델을 사용하는 다른 블록체인의 보안과 기능을 향상시키는 툴로 사용될 가능성이 있다.
코모도
코모도(Komodo)는 지캐시와 비트코인 블록체인 네트워크를 사용하는 보안성 및 확장성이 뛰어난 암호 화폐 프로젝트이다. 코모도는 도마뱀(Komodo Dragon)처럼 강한 보안을 상징하는 브랜드이고 코모도의 화폐 단위는 KMD이다. 2018년 블록체인 이슈 중 하나는 작업증명(POW) 방식에 대한 51% 해킹 공격과 이로 인한 이중지불(double spending) 공격으로 많은 코인과 거래소들이 손실을 보았다. BTG 해킹과 EquiHash 알고리즘인 ZENCASH 더블스펜드 공격, 그리고 GameCredits에 대한 반복적인 공격이 있었고, 상반기에 거의 절반을 거래소들이 지갑 점검으로 보내기도 했다. 특히 작업증명(POW) 방식의 알트코인들의 상대적으로 낮은 Hashrate를 약점으로 드러내는 리스트가 공개되기도 했다. 클라우드 채굴 서비스를 이용할 경우 단 몇백 달러에서부터 수십만 달러만으로 실제 공격이 가능하다는 점은 블록체인 신뢰성에 대한 의문이 들기도 한다.
- 코모도 지연작업증명
- 코모도는 지캐시에서 포크되었기 때문에 영지식증명을 통해 익명성을 보장하는데 코모도 자체의 블록체인 이외에 추가로 기존 비트코인의 블록체인도 사용하는 지연된작업증명(DPoW) 방식의 합의 알고리즘을 도입함으로써 위변조가 불가능한 이중 보안을 달성하였다. 지연된 작업증명으로 불리는 코모도의 합의 알고리즘은 기존 코모도 블록체인에 추가로 비트코인 블록체인을 사용하는 이중 보안 시스템이다. 두 개의 보안 레벨은 각기 다른 주체가 담당하는데, 코모도 네트워크의 일반 채굴자들이 생성한 블록들을 비트코인 네트워크에서 다시 검증을 받는 공증 노드(Notray nodes)가 있다. 코모도는 이전 비트코인 네트워크보다 강력하고 혁신적인 보안을 제공한다. 그리고 이에 대해 큰 수수료를 요구하지 않는다. 지캐시의 영지식증명에 이중작업증명(DPoW) 방식을 추가하여, 무결성을 보장하는 기능을 비트코인 해시 레이트를 재활용하는 것으로 개발했다. 검증은 2단계를 거치며, 코모도 블록체인의 채굴자들이 1차 검증을 한 뒤, 비트코인 네트워크에서 2차 검증을 거친다. 2차 검증은 코모도 코인을 가지고 있는 사람 중 64개의 노드를 선정하여 공증 노드로 활동을 한다. 코모도를 해킹할 경우, 반드시 비트코인의 블록체인을 변경해야만 하지만, 비트코인의 블록체인을 변경한다는 것은 거의 불가능하기 때문에 코모도는 해킹이나 보안과 관련해 매우 안전하며, 코모도 플랫폼을 통해 다른 블록체인과 연결할 수 있어 사용자는 수수료를 절감할 수 있다.[5]
- 코모도 이중작업증명
- 코모도는 코모도의 자체 블록체인 외에도 비트코인 블록체인도 사용하는 이중작업증명(DPoW) 방식의 합의 알고리즘을 도입하여 위,변조가 불가능한 이중 보안을 달성하여 보안에 있어서는 탁월하다는 평가를 받고 있는데, 이중작업증명을 통해 거래 성사시 코모도에서 블록해시를 입증하는 동시에 비트코인 블록체인에 등록되면서 이중 보안을 달성하게 된다. 결국 코모도를 해킹하기 위해서는 반드시 비트코인의 블록체인을 변경해야 하는 것이다. 비트코인 블록체인을 변경하는 것은 거의 불가능 하기 때문에 보안적인 측면에서 매우 안전하다고 할 수 있다. 이에 반해 코모도 플랫폼을 통해 다른 블록체인과 연결 할수 있는 장점이 있어 사용자는 수수료 절감도 동시에 할수 있다.[6]
사례
- 확장성 제한을 받고 있는 비트코인이 하드포크를 거칠 필요가 없다는 주장이 등장했다. 마크 프리든바흐(Mark Friedenbach) 블록스트림 설립자는 포워드 블록스 비트코인 개발자 워크샵에서 새로운 작업증명방식(PoW)으로 전환하는 소프트 포크가 대안이 될 수 있다고 했다. 블록스트림은 지난 2014년 비트코인 핵심 개발자들이 모여 만든 비트코인 프로토콜 개발업체이다. 이중 작업증명방식을 비트코인 확장성 문제를 해결하기 위한 대안으로 DPoW이란 공증된 노드들을 선출해 이들이 보다 쉽게 블록을 채굴할 수 있도록 하는 합의 알고리즘이다. 기존에 생성된 노드도 블록을 생성할 수 있고, 일반적인 난이도가 부여된다. 현재 분산형 거래소 블록체인 플랫폼인 코모도(KMD)가 이 방식을 채택하고 있으며, 기존 비트코인 트랜잭션 처리 속도를 3584배 향상시킬 수 있고 지금 당장 변해야 한다는 것이 아니라 변화를 고려하기에 좋은 시점이다.[7]
각주
- ↑ hyokhyok, 〈[SCT 지캐시로 부터 나온 코모도에 대해 알아보자(기술력은 쩌는데 사람들이 잘 모른다)]〉,《스팀코인팜》
- ↑ 쿠엔틴 르 스 켈러, 〈미소 작업 증명 소개〉,《미디엄》, 2018-11-16
- ↑ 야옹메롱, 〈[합의알고리즘 개요 및 종류, 발전과정]〉,《네이버》, 2018-10-03
- ↑ 비너스아카데미 공식 홈페이지 - 〈https://www.binance.vision/ko/blockchain/delayed-proof-of-work-explained〉
- ↑ 이찬주, 〈이중 보안의 블록체인 시스템과 아토믹 스왑이 가능한 코모도 에코 플랫폼〉,《메이버그》, 2018-11-05
- ↑ 카페모카, 〈코모도 코인(KMD) 후오비 코리아 상장 기념 에어드랍 페이백 이벤트〉,《네이버》, 2019-03-03
- ↑ 윤해리 기자, 〈블록스트림 공동설립자 "비트코인 하드포크 필요 없어"〉,《데일리토큰》, 2018-10-08
참고자료
- Quentin Le Sceller, "An Introduction to Grin Proof-of-Work", Medium, 2018-11-16
- 비너스아카데미 공식 홈페이지 - 〈https://www.binance.vision/ko/blockchain/delayed-proof-of-work-explained〉
- 이찬주, 〈이중 보안의 블록체인 시스템과 아토믹 스왑이 가능한 코모도 에코 플랫폼〉,《메이버그》, 2018-11-05
- 야옹메롱, 〈[1]〉,《네이버》, 2018-10-03
- jinuking, 〈[코린이 코인 공부 #17 코모도? 먹는건가요? 코인입니다, 코모도(KMD)]〉,《스팀코인팜》
- hyokhyok, 〈[SCT 지캐시로 부터 나온 코모도에 대해 알아보자(기술력은 쩌는데 사람들이 잘 모른다)]〉,《스팀코인팜》
- 쿠엔틴 르 스 켈러, 〈미소 작업 증명 소개〉,《미디엄》, 2018-11-16
같이 보기