코인토싱(Coin Tossing)이란 카르다노의 우로보로스 프로토콜이 채택한 방식으로 조작 불가능하고 믿을 수 있는 랜덤 변수의 생성을 위한 프로토콜이다.
개요
코인토싱(Coin Tossing)은 불특정 다수의 참여자가 서로의 정보를 공평하고, 배신의 위험 없이 안전하게 교환할 수 있게 하는 프로토콜이다. 이를 랜덤 변수 생성에 적용하면 네트워크 참여자 각자가 만든 랜덤 변수를 안전하게 교환할 수 있게 된다. 랜덤 변수가 무결하고, 조작이 불가능하며 지분증명(POW)코인은 그라인딩 어택(Grinding Attack)으로 부터 자유롭다.[1]
전략
코인토싱 프로토콜
코인토싱의 목적은 추첨을 위한 랜덤변수를 조작하는 것을 불가능하게 만들자는 것이다. 코인토싱 프로토콜은 네트워크 구성원 모두가 랜덤변수 생성에 참여하게 만들어 개인이 조작할 수 있는 여지를 줄이는 프로토콜이다. 코인토싱 프로토콜이 적용되려면 랜덤변수 생성 참여자 중 51% 이상은 선의를 가지고 있다는 가정이 필요하다. 억지스러워 보일 수 있지만 어차피 51%이상이 악의를 가지면, 변수가 랜덤이든 조작이든 전체 합의 프로토콜이 무너지므로 참여자 51% 이상이 선의를 가지고 있다는 가정은 억지는 아니다. 다음은 코인토싱 프로토콜이 이루어지는 순서이다.
코인 토싱 프로토콜 단계(출처:카이스트정보보호대학원)
- 1단계: 랜덤변수 생성, 조각을 네트워크에 전달
- 참여자는 각각 나름의 방법으로 랜덤 변수를 생성한다. 그리고 이를 나머지 네트워크 구성자의 수에 맞게 조각낸다. 그리고 랜덤 변수의 조각들을 각각의 구성자에게 전달한다. 특정 참여자의 조각 중 과반수를 모으면, 그 참여자가 생성한 랜덤 변수를 항상 복원할 수 있다. 이 복원 가능성은 조작이 불가능하다.[2] 예를 들어 참여자 A, B, C가 있다고 생각하고 A는 악의적인 랜덤변수 생성 참여자라고 생각해보자. A, B, C는 모두 생성한 랜덤변수의 조각을 생성하여 서로 교환한다. 여기서 A는 본인의 조각을 조작할 수 없다. 조작할 경우 A는 1단계를 넘어가지 못한다.
- 랜덤변수 생성 참여자 모두가 조각을 전달 받으면, 코인 토싱이 시작된다. 시작은 랜덤변수를 암호화시켜 전달하는 것이다. 아직은 아무 정보 교환도 일어나지 않는다.[2]
- 암호화 시킨 랜덤변수를 전달 받은 참여자는 그에 대한 답신으로 본인의 랜덤변수를 보낸다. 이번에는 암호화 되지 않은 랜덤변수이다. 즉 실질적인 정보교환이 한 방향으로 일어난다.[2]
- 답신을 받은 참여자는 암호화 된 변수를 해독하는 키를 전달한다. 키를 받은 참여자는 미리 받은 암호화 된 변수를 해독함으로서 상대방의 변수를 얻게 된다. 이 단계에서 서로간의 정보교환이 마무리된다.[2] 예를 들어 A, B, C 참여자중 A가 4단계에서 해독 키를 B와 C에게 보내주지않고 통신을 끊어버린다면 A만 최종 랜덤 변수를 계산할 수 있게된다. 하지만 코인토싱 프로토콜을 사용했기 때문에 B와 C가 1단계에서 받았던 A의 조각을 합치면 A의 변수를 복원할 수 있다. 즉 A가 4단계에서 배신한다 하더라도 B와 C는 A의 변수를 얻을 수 있다.
- 5단계: 모두의 랜덤변수를 바탕으로 최종 변수 계산
- 정보교환이 마무리 되면, 네트워크 구성원들은 각자 최종 변수를 계산할 수 있게된다. 누구도 최종 변수를 마음대로 조작할 수 없고, 남들보다 빠르게 최종 변수값을 얻을 수 없다. 즉 완전무결한 랜덤변수가 공정하게 생성된 것이다.[2]
각주
참고자료
- 〈카르다노 백서〉
- keepit, 〈KEEP!T 블록체인 상식사전〉, 《스팀잇》, 2018-08-14
- seungjae1012, 〈카르다노(Cardano, ADA) 탐구: 지분 증명(POS)의 한계와 우로보로스(Ouroboros)〉, 《스팀잇》, 2018-06-14
- 소소대담, 〈에이다(카르다노), 우로보로스, 이오스, 넴, 멀티시그〉, 《네이버 블로그》, 2018-07-18
같이보기
이 코인토싱 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.
|
블록체인 : 블록체인 기술 □■⊕, 합의 알고리즘, 암호 알고리즘, 알고리즘, 블록체인 플랫폼, 블록체인 솔루션, 블록체인 서비스
|
|
블록체인 기술
|
Bech32 • BTP • DRC-20 • EIP • IPFS • KRC-20 • NFT 마켓플레이스 • P2P • P2PKH • P2SH • PFP • PUF • SPV • TPS • TRC-20 • UTXO • 가나슈 • 가명성 • 가스 • 가십 • 가십 프로토콜 • 개념증명(PoC) • 검증가능지연함수(VDF) • 게스 • 고스트 프로토콜 • 공공예산 • 글로벌신뢰인공지능 • 대체가능토큰 • 대체불가토큰(NFT) • 도지더리움 브릿지 • 디지털 자산 • 디지털 희소성 • 라운드 • 라운드 로빈 • 라이트하우스 • 랜덤 • 레그테크 • 레이든 • 리카르디안 계약 • 린스타트업 • 마스터키 • 마스트 • 메인넷 • 멜팅 • 믹싱 • 민팅 • 밈블윔블 • 반감기 • 베타넷 • 변경불가성 • 브릿지 • 블록체인 생태계 • 블록체인 클라우드 서비스(BaaS) • 블룸필터 • 비블록체인 • 비앱 • 비콘체인 • 비트코인코어 • 빤통경제 • 수정 고스트 프로토콜 • 스냅샷 • 스마트 계약 • 스마트 브리지 • 스웜프로토콜 • 스크립트퍼브키 • 스테이킹 • 스텔스 주소 • 스핀오프코인 • 슬래싱 • 시크릿 컨트랙트 • 심플 컨트랙트 • 아토믹스왑 • 암호경제(크립토 이코노미) • 앤드어스체인인공지능 • 앵커링 • 언스테이킹 • 에어드랍 • 에폭 • 오프체인 오더락 • 오피리턴 • 옵코드 • 원토큰 문제 • 웨이 • 위스퍼 프로토콜 • 위임 • 유니스왑 • 유동성 • 이더리움 가상머신(EVM) • 이더리움 클라이언트 • 이중지불 • 익명성 • 인증된 익명 아이디 • 인터레저 프로토콜(ILP) • 자산화 • 잠금 스크립트 • 최소기능제품(MVP) • 컨소시엄 블록체인 • 컬러드코인 • 코인셔플 • 코인소각 • 코인에이지 • 코인조인 • 코인토싱 • 크립토노트 • 키스토어 • 타임락 • 테스트넷 • 토다 • 토큰 이코노미 • 토큰화 • 튜링완전 • 튜링불완전 • 트랜잭션 아이디(TxID) • 트러스트 컨트랙트 • 트루빗 • 트릴레마 • 파워 • 파티셔닝 • 퍼블릭 블록체인 • 페널티 • 프라이버시 • 프라이빗 블록체인 • 플랫폼 • 플러딩 • 피어 • 피투피(P2P) • 하이브리드 블록체인 • 합의 • 해시락 • 해시타임락(HTLC) • 해제 스크립트 • 확장성
|
|
해시
|
레인보우 테이블 • 매핑 • 머클경로 • 머클루트 • 머클트리 • 분산해시테이블(DHT) • 블록해시 • 스큐드 머클트리 • 온라인툴즈 • 이전블록해시 • 카뎀리아 • 해시 • 해시레이트 • 해시맵 • 해시충돌 • 해시테이블 • 해시파워 • 해시함수 • 해싱
|
|
블록
|
고아블록 • 그래핀 • 논스 • 마이크로블록 • 베이킹 • 북키퍼 • 브랜치블록 • 브로드캐스팅 • 블록 • 블록높이 • 블록바디 • 블록생성자 • 블록정보 • 블록타임 • 블록헤더 • 비츠 • 세그윗 • 엉클블록 • 완결성 • 제네시스블록 • 타임스탬프 • 프룻 • 프룻체인
|
|
체인
|
더블체인 • 라이트닝 네트워크 • 라이트닝 루프 • 루트체인 • 루프체인 • 메인체인 • 방향성 비순환 그래프(DAG) • 베리파이어블 프루닝 • 블록격자 • 블록체인 • 사용자 활성화 소프트포크(UASF) • 사용자 활성화 하드포크(UAHF) • 사이드체인 • 서브체인 • 소프트포크 • 오페라체인 • 오프체인 • 온체인 • 인터체인 • 차일드체인 • 체인 • 탱글 • 테스트체인 • 토카막 네트워크 • 포크 • 포크체인 • 퓨어체인 • 프로덕트체인 • 프루닝 • 프리포크 • 플라즈마 알고리즘 • 플라즈마캐시 • 플래시 계층 • 하드포크 • 해시그래프 • 홀로체인
|
|
노드
|
검증인(밸리데이터) • 기본노드 • 노드 • 라이트노드 • 랜덤노드 • 마스터노드 • 베이킹노드 • 보조노드 • 보증노드 • 슈퍼노드(슈퍼대표, 대표노드) • 슬롯 • 슬롯리더 • 엔드포인트노드(레인저노드) • 의회 네트워크 • 작업노드 • 종단노드 • 종자노드(시드노드) • 중계노드 • 지갑노드 • 채굴노드(마이닝노드) • 쿼럼 • 풀노드 • 합의노드
|
|
샤딩
|
네트워크 샤딩 • 데이터베이스 샤딩 • 동적샤딩 • 샤드 • 샤딩 • 스테이트 샤딩 • 알고리즘 샤딩 • 적응형 상태 샤딩 • 체인샤딩 • 트랜잭션 샤딩
|
|
채굴
|
병합채굴 • 사전채굴 • 에이식(ASIC) • 에이식부스트 • 에이식 저항 • 일드파밍 • 채굴 • 채굴 난이도 • 채굴량 • 탄소감축채굴 • 페어런치
|
|
탈중앙화
|
TVL • 거버넌스 • 게임파이 • 다오(DAO) • 다이코(DAICO) • 닥(DAC) • 닥스(DAX) • 덱스(DEX) • 디앱(DApp) • 디지오(DGO) • 디튜브 • 디파이(DeFi) • 분산경제 • 분산원장(DLT) • 분산 클라우드 • 소셜파이 • 씨파이(C-Fi) • 오프체인 거버넌스 • 온체인 거버넌스 • 원장 • 준중앙화 • 중앙화 • 탈중앙화 • 탈중앙화 TPS • 탈중앙화 조직(DO) • 탈중앙화 지수(DQ)
|
|
분산아이디
|
DIDs • IETF • ToIP • 검증가능한 자격증명 • 검증인 • 디지털아이덴티티재단 • 발급자 • 보유자 • 분산아이디(DID) • 분산아이디 기관 • 분산아이디 인증(DID Auth) • 아이온 • 자기주권 • 자기주권신원 • 최소화된 자격증명 데이터 • 탈중앙화 키관리시스템 • 통합해석기
|
|
오라클
|
상호인증 블록체인 • 오라클 • 오라클 머신 • 오라클 문제 • 오라클 서비스 • 중간자
|
|
BIP
|
BIP • BIP9 • BIP16 • BIP32 • BIP39 • BIP43 • BIP44 • BIP47 • BIP49 • BIP63 • BIP70 • BIP84 • BIP141 • BIP148
|
|
ERC
|
ERC • ERC-20 • ERC-165 • ERC-223 • ERC-621 • ERC-721 • ERC-777 • ERC-827 • ERC-884 • ERC-998 • ERC-1155 • ERC-1404
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|