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

코인셔플

위키원
Asadal (토론 | 기여)님의 2019년 8월 31일 (토) 14:50 판
이동: 둘러보기, 검색

코인셔플(CoinShuffle)은 비트코인에서는 캐시셔플(cashshuffle)이라고 불리며, 대시에서는 다크샌드

개요

등장배경

비트코인 테스트 네트워크에 전송된 거래는 네트워크의 첫 번째 코인셔플 구현으로, 2013년 비트코인 개발자 그렉 맥스웰(Greg Maxwell)이 개발한 이 솔루션은 다크월렛(DarkWallet), 대시(Dash), 엔엑스티(NXT) 및 조인마켓(JoinMarket)에서 구현에 영감을 주어 타사에 의존하지 않는 방식으로 기존 개인정보보호 기술을 구축하기 위해 만들어졌다. 2016년 1월 23일 계정 제어, 코인셔플 및 엔엑스티 데이터 클라우드의 세 가지 주요 기능을 제공하는 블록체인 플랫폼 엔엑스티에서 구현 되었지만 2016년 8월 15일 개발자 대니얼 크라위츠(Daniel Krawisz)는 당시 비트코인에서 코인셔플 도구를 사용하는 최초의 트랜잭션이라고 생각했다. 코인셔플 기술의 근본적인 아이디어는 비트코인의 공개 블록체인에서 볼 수 있는 민감한 사용자 정보를 보호하는 것으로 신뢰를 줄이기 위해 거래를 혼합하는 타사없이 코인조인을 사용하기 때문에 독특하다.[1]

특징

  • 기능
  1. 탈중화 : 코인셔플의 핵심 프로토콜에는 신뢰, 책임 또는 신뢰할 수없는 제 3자가 필요하지 않다.
  2. 익명 성 : 사용자가 혼합 후 사용자의 이전 주소와 새 주소 사이의 관계를 결정할 수 없다.
  3. 도난 방지 : 코인조인(coinjoin)의 원칙에 따라 코인셔플은 혼합 중에 돈을 도난 당하지 않도록 보장된다.
  4. 호환성 : 코인셔플은 기존 비트코인 프로토콜을 기반으로 실행되며 비트코인 프로토콜 자체를 변경할 필요가 없다.
  5. 서비스 거부 공격에 대한 견고성 : 코인조인을 기반으로하는 유사한 솔루션이 단일 악의적 인 참가자에 의해 중단 될 수 있지만 코인셔플은 파괴적인 참가자를 식별하여 프로토콜에서 제외 할 수 있다.
  6. 추가 비용 없다 : 코인셔플은 혼합을 수행하는 데 필요한 표준 비트코인 거래 수수료를 제외하고 추가 혼합 수수료를 요구하지 않는다.
  7. 성능 : 코인셔플은 사용자에게 작은 통신 오버 헤드 만 도입하고 나머지 비트코인 시스템의 계산 및 통신 오버 헤드를 최소화한다.
  8. 간단한 암호화 : 코인셔플은 디지털 서명 및 표준 공개 키 암호화와 같은 기본 암호화 기본 만 필요하다.[2]
코인셔플 실행
  • 프로토콜
프로토콜을 설명하기 위해 4명의 참가자 엘리스(alice), 밥(bob), 찰리(charlie), 데이브(dave)가있다. 참가자들은 각각의 주소 에 정확히 1개의 BTC 를 가지고 있다 . 참가자들이 프로토콜을 서로 실행하고 싶다는 것을 이미 알고 있고 서로의 주소를 알고 있다고 가정한다.
참가자는 새로운 주소 를 작성 하지만 서로에게 표시하지않고, 코인조인 기반 믹싱의 목표는 입력 주소 및 출력 주소 와 함께 하나의 단일 믹싱 트랜잭션을 만들어 동전과 소유자 간의 관계를 숨기는 것이다. 특정 주문에 충실한다면 출력 주소는 A가 속한 가 속한 , 등 입력 및 출력 주소의 연결이 숨겨져 있는지 확인하려면 출력 주소 목록을 섞어야 하고, 생성 된 트랜잭션에서 출력 주소를 섞는 것만으로 충분하지 않다. 예를 들면, 모든 사람이 프로토콜 중에 자신의 출력 주소를 알기 쉽게 발표 한 경우에 엘리스가 를 발표 하면 모든 사람이 가 엘리스에 속한다는 것을 알게 되고, 프로토콜 중에 전송된 메시지가 익명 성을 깨뜨리지 않도록해야하며, 코인셔플은 문제를 정확하게 해결할 것이다. 프레젠테이션을 단순화하기 위해 서명을 생략했다.
1 단계 : 키 교환
엘리스를 제외한 각 참가자는 공개 암호화 키와 개인 암호 해독 키로 구성된 공개 키 암호화 체계의 키 쌍을 만들고, 공개 암호화 키 를 호출한다. 각 참가자는 자신의 입력 주소에 해당하는 서명 키로 서명된 공개 암호화 키를 발표한다.
2 단계 : 셔플 링
참가자들은 공개 암호화 키를 알고 있으면 셔플 링을 시작할 수 있다. 엘리스는 모든 암호화 키를 사용하여 출력 주소 를 계층 방식으로 암호화하는데, 엘리스는 데이브를 위해 A'를 먼저 암호화 하여 를 얻으면, 암호문은 찰리에 대해 암호화되어 밥에 대해 등을 얻고, 메시지는 밥에게 전송된다.
엘리스 ⟶ 밥 :
밥은 메시지를 가져 와서 해독하여 를 얻고, 자신의 주소에 대해 중첩 암호화를 작성하여 를 얻으면, 밥은 를 포함 하는 두 개의 암호문을 가지고 있고, 밥은이 목록을 무작위로 섞어 두 항목을 교환하거나 남겨 둔다. 참가자들이 교환되는 경우를 가정해 보면, 밥은 섞인 목록을 찰리에게 보낸다.
밥 ⟶ 찰리 :
찰리는 똑같이 목록에있는 두 항목을 해독하고 자신의 항목을 추가하고 목록을 섞는다.
찰리 ⟶ 데이브 :
데이브는 다시 동일하게 수행해 모든 항목을 해독하여 를 얻으면, 자신의 주소 추가 를 하여 목록을 섞는다. 결과 섞인 목록은 참가자들에게 보내진다
데이브 ⟶ 참가자들 :
3 단계 : 거래 생성
모든 참가자는 출력 주소 목록을 받고 자신의 출력 주소가 실제로 있는지 확인할 수 있어 거래에 서명한다. 예를 들면, 밥이 자신의 주소가 없다는 것을 알면 거래를 수행하여 동전을 잃을 것이므로 서명하고 싶지 않을 것이다. 밥의 주소가 없으면 프로토콜 실행 중에 누군가가 속임수를 써야하며, 밥은 불평하고 참가자들은 누가 속이는 사람인지 알아 내기 위해 추가 단계에 들어갈 것이다. 코인셔플은 비난 단계가 항상 적어도 한 명의 부정 행위 참가자를 노출시키는 지 확인하며, 이 부정 행위 참가자는 프로토콜의 후속 실행에서 제외 될 수 있다. 밥, 찰리, 데이브가 엘리스 없이 프로토콜을 다시 실행할 수 있다. 2단계에서 셔플링을 수행 한 참가자 만 자신이받은 목록의 메시지와 자신이 보낸 목록의 메시지 사이의 관계를 알고 있다는 것이다. 예를 들면, 찰리만이 를 연관시킬 수 없기 때문에 를 포함하는 메시지를 첫 번째 위치에 두었다는 것을 알고 있을 것이나 찰리조차도 이것이 밥의 주소가 담긴 메시지임을 알지 못할 것이다. 결국, 정직한 참가자의 모든 주소는 섞여 어떤 참가자도 순열을 모르게 된다.[2]

활용

비트코인

비트코인(bitcoin)

비트코인(bitcoin) 혼합 문제에 대한 실용적인 솔루션 코인셔플은 검증 가능성을 보장하기 위해 코인조인(CoinJoin)에서 영감을 받았고, 사용자가 다른 관심있는 사용자의 동전과 동전을 혼합 할 수 있다. 익명 성 및 견고성을 보장하기위한 그룹 통신 프로토콜 디센트(dissent) 적극적인 공격에 대한 핵심 아이디어는 암호 해독 믹스 네트워크와 유사하며, 프로토콜에는 서명 및 공개 키와 같은 표준 프리미티브 만 필요하다.[3]

  1. 타사가 없다 : 코인셔플은 비트코인의 분산 된 신뢰 이념을 보존하고, 연결 해제에 관심이 있는 비트코인 사용자가 독점적으로 실행하는 비트코인 거래이며, 신뢰할 수 있고 책임이 없다. 신뢰할 수없는 제 3자 거래의 비 연결성은 의정서 실행에 최소한 두 명의 참가자가 정직한 한 보호된다.
  2. 호환성 : 코인셔플은 기존 비트코인 네트워크와 완벽하게 호환되며, 비트코인 규칙을 변경할 필요없이 비트코인 네트워크 스크립트는 다른 분산 솔루션과 달리 즉시 작동한다.
  3. 혼합 수수료가 없다 : 서비스 제공 업체 역할을하는 제 3자가없는 경우, 코인셔플은 추가 믹싱 비용을 사용자에게 부과하지 않으며, 참가자가 비트코인 거래 수수료 측면에서 수행하고, 단일 혼합 거래에 대한 수수료 만 청구된다.
  4. 작은 오버헤드 : 성능 분석 결과 코인셔플이 참가자에게 작은 통신 오버헤드만 도입계산하는 동안 20명의 참가자가있는 경우 1분동안 오버 헤드는 무시할 수있는 수준에 가깝다.
  • 프로토콜의 보안분석
프로토콜의 적합성으로 코인셔플은 비트코인 프로토콜을 변경할 필요가 없고, 코인셔플을 성공적으로 실행하면 트랜잭션 형식이 비트코인의 현재 규칙에 따라 유효한 거래가 가능해서 프로토콜은 즉시 배포 가능하며, 신뢰할 수있는 타사가 믹싱을 수행하는 시스템 일반적으로 비트코인에 정의 된 거래 수수료와 믹싱 서버에 필요한 믹싱 요금(혼합 요금)이 없다. 코인셔플에서는 그렇지 않아서 혼합 요금이 필요하고, 공동으로 실행하는 사용자에게는 요금이 청구되며, 현재 배포 된 비트코인 프로토콜에 정의 된 거래 수수료, 능률은 이미 비트코인에 배포 된 디지털 서명 외에 표준 공개 키 암호화 및 해시 기능만 필요하다. 계산이 제한된 하드웨어에서도 프로토콜을 실행할 수 있고, 비트코인에 대한 작은 영향으로는 성공적인 프로토콜 실행시 코인셔플 참가자는 공동으로 하나의 비트코인 거래 만 생성한 블록체인이며 네트워크의 모든 노드에서 확인해야 함으로 비트코인 시스템에 대한 계산은 코인셔플을 실행하여 스토리지 측면에서 최소한의 오버 헤드 만 발생한다.[3]

가기.png 비트코인에 대해 자세히 보기

엔엑스티

엔엑스티(NXT)

엔엑스티(NXT)가 2016년 1월 23일 발표한 버전 1.7.4는 계정 제어를 통해 탁월한 보안을 위해 다중 서명 계정을 쉽게 만들 수 있으며, 코인셔플은 거래 내역을 난독 처리하여 거래를 추적하려는 사람들을 막기 위해 사용되고, 그 안에 저장된 미디어의 데이터 클라우드는 유형에 관계없이 안전한 파일 스토리지 시스템에 사용된다. 계정관리를 사용하여 최상의 보안을 위해 다중 서명 계정을 만들고, 계정 제어를 통해 엔엑스티 투표 시스템을 사용하여 향상된 다중 서명 트랜잭션을 사용하여 투표 프로세스에 의해 승인 된 후에 만 ​​계정의 트랜잭션을 실행할 수 있으며, 데이터 클라우드를 사용하여 파일, 문서 또는 임의의 데이터를 블록체인에 저장, 검색 및 게시한다. 엔엑스티 데이터 클라우드는 자동 제거 및 암호화를 포함한 저렴한 비용 / 수수료 및 옵션으로 작은 파일, 문서 또는 임의의 데이터를 블록체인에 분산, 검열 및 변조 방지 게시 및 검색 할 수 있도록하고, 코인셔플 시스템을 사용하여 엔엑스티 자금을 익명화 한다. 엔엑스티는 분산 형 믹싱 / 코인 셔플 서비스를 자체 블록체인에 기본적으로 통합 한 최초의 암호화폐 플랫폼으로, 사용자는 엔엑스티에 보유된 자금을 완전히 익명화 할 수 있다.[4] 가기.png 엔엑스티에 대해 자세히 보기

대시

대시(Dash)

대시(dash)는 비트코인(bitcoin)처럼 작업 증명 시스템(PoW)을 사용하고, 대시와 비트코인 둘다 채굴자들이 수익을 얻기 위해서 작업증명 시스템에서 일종의 문제를 풀고 보상을 받는 식 이지만, 두 블록체인의 차이점으로 대시는 수익을 얻는 방법이 마스터 노드(masternode)이다. 비트코인은 일반적인 노드만 존재하지만 대시는 일반적인 노드와 마스터 노드 두 가지 모두 존재한다. 마스터노드는 사용자가 거래를 할 때마다 여러 다른 사용자 거래와 자동으로 결합이 되는것으로 여러 사용자끼리 코인이 섞이며, 누가 어떤 돈을 보냈는지 추적할 수 없게 되면, 마피아가 불법 거래 목적으로 보낸 10대시와 일반인이 구매 물품 목적으로 보낸 10대시의 가치가 같아진다. 자금 추적이 불가능하므로 모든 코인은 같은 가치를 갖게 되고, 마스터노드가 처리해주는 이 과정을 전문적인 용어로 코인셔플 또는 다크샌드 믹싱(darksend mixing) 이라고 하며, 대시 네트워크에서 이러한 코인셔플 과정을 처리해주는것은 바로 다크샌드 프로토콜 이다.[5] 가기.png 대시에 대해 자세히 보기

다크월렛

다크월렛(Dark Wallet)

다크월렛(darkwallet)의 다크코인(Darkcoin)은 최초의 개인 정보 보호 중심 디지털 통화로 2014년 5월에 다크월렛의 첫번째 알파 버전을 공개하였으며, 다크코인은 다크샌드라는 익명의 기술을 사용하여 사용자 자금을 안전하게 유지하고 향후 일정 시점에 추적하지 않고 일상적인 사용을 위해 블록체인을 보호하며, 다크샌드는 마스터 노드 네트워크로 알려진 2계층 네트워크를 사용하여 믹싱 서비스를 제공한다. 기술을 사용하여 사용자는 높은 수준의 익명 성을 얻을 수 있으며, 다크샌드는 신뢰할 수없고 분산되어 있으며 거의 ​​무료이다. 코인셔플과 다크월렛은 비트코인 네트워크에서 익명을 제공하기위한 새로운 기술이다. 코인셔플은 자를란트 대학교(Saarland University)의 연구원들에 의해 만들어졌으며, 팀 러핑(Tim Ruffing), 산체스 페드로 모레노(Sanchez Pedro Moreno) 및 케이트 애니켓(Kate Aniket)이 포함되었고, 다크월랫은 2013년 타키 아미르(Taaki Amir)와 윌슨 코디(Wilson Cody)가 만들었지 만 오픈 소스 프로그래머 그룹에 의해 채택되었다.[6]

  • 취약점
코인셔플의 문제는 참가자에게 변경 사항을 반환해야하기 때문에 발생하고, 익명 성이 중요한 상황에서는 최대한주의를 기울여 변화를 처리해야하며, 변경이 잘못 처리되면 익명화 된 트랜잭션이 노출 될 수 있으므로 변경이 매우 중요하다. 이는 익명 트랜잭션을 수행 한 후 변경으로 수행 된 작업을 관찰하여 발생할 수 있고, 익명 성 기술을 만들 때 블록체인이 양방향으로 추적 될 수 있으며, 이러한 취약점은 특정 시점에서 1BTC를 익명화하는 경우 일부를 소비하고 나중에 해당 변경 사항을 식별 가능한 트랜잭션과 별도로 유지해야한다는 사실에서 비롯되며, 식별 가능한 트랜잭션에서 익명의 트랜잭션으로 트랜잭션을 거꾸로 진행할 수 있다.
순방향 변경 링크 :
순방향링크.PNG
이 예에서 엘리스(alice)는 1.2BTC를 익명화하여 2개의 출력(1BTC 및 0.2BTC)으로가고, 1BTC 출력에서​, 7BTC를 소비하고 0.3BTC의 변경을 수신한다. 0.3BTC는 식별 가능한 소스로 이동하여 엘리스가 7BTC를 이전 트랜잭션에 사용했음을 확인한다. 익명 트랜잭션의 발신자를 식별하려면 코인베이스(coinbase) 트랜잭션에서 시작하여 "Alice sends 0.7BTC anonymous"에 도달 할 때까지 블록체인에서 뒤로 하여 코인베이스 로서, 최근에 익명으로 무언가를 구입하여 익명 성을 완전히 위반 한 것은 사용자라는 것을 알고 있다.
변경된링크.PNG
두 번째 예에서 엘리스는 코인베이스에서 1.2BTC를 구매 한 다음이 금액을 1BTC 출력으로 익명화하면, 1BTC를 소비하고 0.3BTC의 양을 변경 한 다음 0.2BTC 이전 변경과 결합한다. 익명 트랜잭션 0.3BTC의 변경 사항과 코인셔플 트랜잭션에서 수신 한 변경 사항을 결합하여 익명을 완전히 위반 한 전후의 전체 히스토리를 링크 할 수 있다.
해결책:
모든 문제를 해결할 수 있지만 입력 및 출력 표시가 필요하다. $1, $5, $10 및 $20의 명칭을 가진 미국 달러와 마찬가지로 다크샌드는 0.1DRK, 1DRK, 10DRK 및 100DRK를 사용하며, 네트워크에서 믹싱 할 때 사용자는 이러한 명칭 만 보내고받을 수 있고, 그 후 교단을 결합하여 필요한 금액을 약간 초과하여 거래를 보호한다. 예를 들면, 사용자가 익명으로 1.17DRK를 지불해야하는 경우 1DRK + 0.1DRK + 0.1DRK를 사용하여, 수취인에게 정확히 1.17DRK를 지불하고 변경 관련 추적을 제거하기 위해 0.03DRK의 채굴 수수료를 지불하는 거래가 발생한다.[6]

가기.png 다크월렛에 대해 자세히 보기

접근법과 비교

  • 제로코인 / 제로캐시
제로코인(zerocoin)과 최적화 된 제로캐시(zerocash)는 지케이스나크(ZK-SNARKS)와 같은 매우 새로운 암호화를 사용하여 내장 익명성을 제공한다. 제로캐시는 공개 매개 변수의 초기 설정을 위해 신뢰할 수 있는 당사자를 필요로 하는데, 모든 접근 방식은 자체 통화이다. 제로코인 및 제로캐쉬는 비트코인과 호환되지 않으므로 자체 프로토콜 확장 및 블록체인이 필요 하지만 코인셔플은 비트코인 프로토콜을 변경하거나 체인을 포크하지 않고 비트코인 위에서 직접 작동한다.[2] 제로코인은 중요한 계산 및 통신 오버 헤드의 각 거래에 대해 블록체인에 저장해야 하는 증명의 크기는 엄청나게 커서(약 25KB) 증명 크기를 줄이기 위해 제로코인의 유망한 개선으로 교정 크기(1KB 미만) 및 계산 비용을 크게 감소 하였으나, 그럼에도 불구하고 연구 라인은 적응성 측면에서 심각하게 제한된다. 반대로 코인셔플은 더 많은 통신이 필요하지만 즉시 적응할 수 있으며 기존 비트코인 네트워크에서 잘 작동한다.[3]
  • 믹스 코인
믹스코인(mixcoin)의 주요 혁신은 믹싱 서버(믹스)에 대한 책임으로, 믹스 서버가 동전을 훔치는 경우 사용자는이 도난에 대한 암호화 증거를 획득하고 믹스를 책임질 수 있다. 모든 사람들이이 증거를 확인할 수 있어 믹스는 그 명성을 잃어 버리고 앞으로는 사용하지 못할 것이다. 믹스는 여전히 돈을 훔칠 수 있지만 잡히면 사업에서 쫓겨날 것이다. 반대로 코인셔플의 장점은 도난 후에 만 ​​책임감을 제공하는 대신 처음부터 동전을 훔치는 것을 방지하며, 코인셔플에서는 중앙 집중식 혼합 서버가 전혀 필요하지 않으나 코인셔플을 사용하려면 단일 믹싱 라운드 참가자가 동시에 온라인 상태 여야한다.[2]
  • 코인스왑
참가자가 코인스왑(coinswap)에서 어떤 코인을 어느 코인에 속하는지 알기 때문에 익명성이 제한되며, 최소 4건의 거래와 해당 수수료가 필요로 한데 비해 코인셔플은 하나의 거래 만 필요하다. 그러나 코인스왑은 본질적으로 두 당사자 프로토콜이므로 상호 작용 및 조정이 덜 필요하며, 원래 코인스왑 스레드 코인셔플위한 기초를 제공 코인조인에 상세한 비교를 제공한다.[2]

각주

  1. Alyssa Hertig, 〈Bitcoin Privacy Tool ‘CoinShuffle’ Sees First Transaction〉, 《코인데스크》, 2016-08-25
  2. 2.0 2.1 2.2 2.3 2.4 크립시스 공식 홈페이지 - https://crypsys.mmci.uni-saarland.de/projects/CoinShuffle/
  3. 3.0 3.1 3.2 2014년 코인셔플 백서 - https://petsymposium.org/2014/papers/Ruffing.pdf
  4. 비트코인 PR 버즈, 〈NXT, NXT ANNOUNCES VERSION 1.7.4!〉, 《비트코이니스트》, 2016-02-05
  5. icoreport, 〈Dash를 통해 본 마스터노드의 이해 ( 부제 : 코인으로 돈 세탁을 ?! )〉, 《스팀잇》
  6. 6.0 6.1 eduffield, 〈CoinShuffle 및 Darkwallet에 대한 보안 권고〉, 《대시포럼》, 2015-01-25

참고자료

같이 보기

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