[코인리포트] 익명성 화폐의 선두주자, Zcash(지캐시, 제트캐시)

in #kr6 years ago (edited)

지캐시.jpg

안녕하세요, 코인사이트=COINsight Steemit 담당자 Claire입니다:)
오늘 소개해 드릴 코인은 익명성 화폐의 선두주자, Zcash(지캐시, 제트캐시) 코인입니다😊

더 자세한 내용이 궁금하시다면 공식 홈페이지 및 백서를 참고해주시기 바랍니다!
내용과 관련하여 의견이 있으시다면 자유롭게 말씀해주세요. 감사합니다 :D


Zcash 지캐시

1. Overview

티커명ZEC
코인 이름Zcash
공식 홈페이지z.cash
개발사zerocoin.org
소스 코드Github
백서Original Zerocash Paper
시가 총액$668,835,378으로 전체 27위 (18.04.06 기준)

Blockchain은 분산된 데이터베이스로, 다수의 사람이 참여하여 서로의 신뢰를 상대적으로 보장 받을 수 있는 방법입니다. 하지만 이 Blockchain은 몇 십년이 지나도 기록을 추적할 수 있으며, 해당 기록을 보고 거래 형태를 추적할 수 있습니다. Blockchain은 모든 기록이 공개키로 기록되기 때문에 사용자의 이름과 연결되지 않지만, 이런 방식의 익명성은 축적되는 거래 형태로 인하여 본질적으로 사용자를 추적하고 특정하는 수단으로 사용될 수 있습니다. ZCash는 Zero Knowledge Proof(영지식증명, 이하 ZKp)를 통하여 Transaction(이하 Tx)를 숨길 수 있으며, 결과적으로 Blockchain에 기록되는 모든 내역을 숨길 수 있고, 당사자를 제외하고 아무도 해당 거래내역을 볼 수 없습니다.

또한 현재의 Blockchain 기술은 많은 암호학 기술들로 무장되어 있습니다. 이 기술들은 많은 소수(Prime Number, 素數)를 사용하고 있고 이러한 소수들은 양자 컴퓨터(Quantum Computer)를 사용했을 때 쉽게 분해될 수 있으며, Blockchain에 기록되는 장부들은 소수들을 사용하는데 정점에 위치했다고 할 수 있습니다. 양자 컴퓨터는 Blockchain의 신뢰성을 의심할 수 있는 위험이며, Blockchain은 양자 컴퓨터 저항성을 키우도록 발전해 나가야 할 것입니다. 이러한 점에서 ZKp는 양자 저항성(Quantum Resist)을 띠기 때문에, 양자 컴퓨터가 도입되더라도 ZKp로 익명화된 Tx는 절대로 복호화 될 수 없게 됩니다.

ZCash는 두 가지 지갑을 지원합니다. 투명한 지갑과, 보호된 지갑 두 가지를 지원합니다. 투명한 지갑에서 생기는 Tx는 누가 누구에게 코인을 전송하는지, 이 과정에서 수수료는 얼마나 집행되었는지 나타나게 됩니다. 이런 지갑을 "T-Address"라고 부릅니다. 그리고 보호된 지갑은 누가 얼마나, 누구에게 전송했는지 나타나지 않습니다. 이러한 주소를 "Z-Address"라고 부릅니다. 이러한 두 개의 지갑들 사이의 거래들 또한 ZCash에서 가능합니다.

예를 들어, Alice는 Bob에게 15 ZEC, Bob은 Carol에게 5 ZEC를 보내야 한다고 가정해봅시다. Alice, Bob, Carol 이 세 사람 모두 "T-Address"를 사용한다면, Alice의 자금이 Bob과 Carol로 전송된 것을 추적할 수 있을 것입니다. 하지만 여기서 Bob이 "Z-Address"를 사용했을 때, Blockchain에 기록된 내용을 보면, Alice는 받는 사람이 비어있는 Tx로 15 ZEC를 전송한 것으로 나올 것이고, Carol은 보내는 사람 공간이 비어 있는 Tx로 5 ZEC를 받게 될 것입니다. 결론적으로 Alice의 자금이 Carol로 흘러간 것을 추적할 수 없게 됩니다.


2. 개발사 정보

ZCash는 Zerocoin Protocol 이라는 프로젝트로 부터 파생되었습니다. Zerocoin Protocol 팀은 Blockchain에 공개되는 Transaction 내역을 숨기면서 코인의 입출력은 보장되는 Protocol을 Bitcoin의 확장 형태로 구현하기 위해 모였습니다. 이 연구는 Bitcoin 뿐 아니라,인터넷을 돌아다니는 모든 형태의 데이터에 적용하여 공개적인 네트워크에서 아무도 해독할 수 없는 데이터로 암호화 할 수 있게 됩니다. 이 프로토콜로 개발되는 코인을 ZeroCash라고 부르며, 이 ZeroCash는 ZCash라는 이름으로 개발되고 있습니다.


3. 특징

ZCash는 Bitcoin 소스코드를 Fork해서 만든 제품입니다. Lite Coin이 Bitcoin을 Fork하여 조금만 변경한 것이라면, ZCash는 거의 모든 부분이 바뀌었습니다.

  * Proof of Work 알고리즘 및 평균 Block 생성시간
  * Block 크기를 2MB로 조정
  * zk-SNARKs & ZCash 세레모니
  * Foundation Reward
  * Blockchain 업그레이드

 
ZCash는 Proof of Work 합의 알고리즘을 이용하여 Bitcoin에서 사용하던 알고리즘을 Equihash라는 알고리즘으로 교체했습니다. 이것은 커뮤니티의 합의에 의해서 Proof of Stake나 다른 것으로 변경될 수 있습니다.

Equihash는 Memory를 기반으로 하는 작업 증명이기 때문에, RAM이 얼마나 많은가에 따라서 효율적인 Block 생성을 할 수 있게 됩니다. 많은 메모리를 기반으로 하기 때문에 Application Specific Integrated Circuit, 즉 채굴을 하기 위한 전용 하드웨어는 나오기 어려울 것으로 보입니다.

또한 ZCash 팀은 Equihash가 완벽하게 안전하다는 것을 장담할 수 없으며, 취약점이 발견되거나 더 높은 수준의 Proof of Work 합의 알고리즘이 연구 된다면 해당 알고리즘을 적용할 것입니다. 또한 Equihash는 지속적으로 최적화 될 것이기 때문에 추후에는 스마트폰에서도 작동할 수 있게 될 것입니다.

이 Equihash는 평균 2분 30초마다 Block이 생성되도록 고려되었습니다. ZCash는 Bitcoin과 같이 2100만개의 코인을 발행하는데, 이것은 Bitcoin의 Block 생성 주기인 10분 보다 빠르기 때문에 훨씬 빠르게 채굴 될 것입니다.

ZCash는 초기에 Slow-start를 하였습니다. 0번 Block부터 20,000번 Block까지 Block 보상을 0 ZEC에서 12.5 ZEC로 선형적으로 점차 늘려갔습니다. 이 방법은 초기 소규모 채굴자에 대한 보상안을 마련할 수 있고, ZCash의 합의 알고리즘인 Equihash를 테스트하기 위한 것이었습니다.

ZCash의 기원인 Bitcoin은 Block 크기가 1MB로 지정되어 있었습니다. 하지만 ZCash는 Block 크기가 최대 2MB가 되었으며, 더 많은 Transaction들을 저장하여 처리량을 올릴 수 있게 되었습니다.

ZCash에서는 Zero Knowledge Proof를 zk-SNARKs는 "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge"의 약자로, 서로 간의 상호작용 없이 간결하게 지식을 증명할 수 있다는 뜻의 약어입니다. 원래 암호화는 서로 간의 공유하는 메시지를 기반으로 서로를 증명할 수 있었으나, 이제는 그러한 메시지(지식) 없이 무언가를 증명할 수 있게 되었습니다. 이는 암호학적으로 아주 위대한 발전이며, 이런 암호학적 증명으로 ZCash가 세상에 나올 수 있었습니다.

여기서 ZKp를 가능하게 하는 것은 개인과 개인간의 거래를 증명하고 검증할 수 있는 공통의 "매개변수"의 사용입니다. 이러한 매개변수는 암호학 제한 사항으로, 처음 사용되기 전에 미리 생성되어 있어야 합니다. 이 과정에서 난수들을 표본 추출하여 이것을 매개변수로 사용하게 합니다. 그리고 ZCash가 사용되기 시작한 후에 이 추출된 난수들의 표본은 파괴되어야 합니다. 이 난수들의 표본을 남기지 않기 위해서 여러 독립된 사람들이 참여하여, 공동으로 매개변수를 구성할 수 있는 Multi-Party Computation(MPC) 프로토콜을 구성했으며, 이 프로토콜은 최종 매개변수를 손상시키기 위해서 모든 참가자가 손상되거나 부정직 해야한다는 특성을 띠게 됩니다.

쉽게 말해서, 매개변수를 손상시키기 위해서는 모두가 잘못되거나 부정직해야 하기 때문에 이를 방지하고자 다양한 사람들이 이 행사에 참여하여 매개변수를 생성하도록 한 것입니다. 6명의 사람이 Ceremony에 참여했고, 한 사람이 이 과정을 관리했습니다. 그리고 3명의 사람들이 이 과정을 문서화하고 관찰했습니다. 참가자들은 기본적으로 난수를 생성할 때, 컴퓨터를 임의의 곳에서 구매하도록 하였고, 컴퓨터가 연결되지 않도록 WiFi와 Bluetooth, 그리고 Hard disk까지 제거한 후에 이 과정이 진행되었습니다. 이후에 DVD를 통하여 컴퓨터를 부팅하고 난수를 생성하도록 하였습니다. 이후에 컴퓨터들은 물리적으로 모조리 파괴 되었습니다. 이 Ceremony는 리허설부터 실제 준비까지 촘촘하게 진행되었으며, 입증 키와, 검증 키가 생성되었습니다.

2017년 9월 21일 부로 이 Ceremony에 대한 감사가 NCC Group를 통해서 비공식적으로 진행되었으며 이후 그 결과를 발표하였습니다. 이 감사 여부는 ZCash 팀에서 제한적으로 알려졌고, 감사 결과를 통해서 Ceremony과정에서 아주 긴급한 취약점은 알려지지 않았으며, 연산에 영향을 끼치는 프로세스와 네트워크 통신은 없는 것으로 나타났습니다.

ZCash는 2016년 11월 28일 이후에 Founders Reward 프로그램을 시행하였는데, 이 Founders Reward는 ZCash를 개발한 사람들에게 전송되는 프로그램이고 4년동안 지속됩니다. 이 4년동안 채굴되는 ZCash의 10%는 Founder에게 돌아가고, 나머지 90%는 Block 채굴자에게 돌아가게 됩니다. 이 10% 중 1%는 ZCash를 지속적으로 관리 & 개발하고 더 나은 사용자 환경과 암호학의 발전을 위해 비영리 재단인 ZCash Foundation을 세우고 ZCash 생태계를 구성하는 사람에게 기금을 제공할 수 있도록 할 것입니다. 다만 이 Founders Reward 프로그램을 반대하는 일부 사람들은 이 보상 방안을 제거한 ZCash Classic이라는 Blockchain을 운영하기 시작했습니다.

현재 ZCash는 1.0버전으로 코드네임, Sprout 라는 이름을 가지고 있습니다. ZCash Foundation은 이 ZCash를 지속적으로 발전 시키기 위해서, 중요한 업데이트가 있을 때 마다 주도하여 프로토콜을 업데이트 시킬 것입니다. ZCash는 2018년 초, 버전 1.1. 코드네임 Sapling 으로 가장 커다란 업데이트를 준비하고 있으며 서명 알고리즘의 변경, zk-SNARKs의 최적화, 라이트 노드의 지원 등 많은 단계에서 최적화와 사용성이 개선될 것입니다.


4. ZCash 합의 알고리즘

ZCash는 Equihash라는 Proof of Work 합의 알고리즘을 사용합니다. 이 알고리즘은 Generalized Birthday Problem. 즉 생일 문제라는 이론을 기초로 개발된 합의 알고리즘입니다. 생일 문제는, 특정 인원의 사람들이 모였을 때 생일이 같은 사람이 두 명이 있을 확률을 구하는 것입니다. 이 충돌 확률에 대해서 Equihash는 해시 함수를 이용하여 충돌하는 해시 결과 값을 찾는데 이용됩니다.


5. ZCash의 Block 보상

ZCash는 0번 Block 부터 20,000번 Block까지 보상을 0 ZEC에서 12.5 ZEC가 지급 되었습니다. 이후 4년 동안은 12.5 ZEC가 지급되며, 4년마다 반감기가 적용되어, 다음 4년 동안은 6.25 ZEC, 그 다음 4년 동안은 3.125 ZEC가 보상으로 지급. 반감기가 적용됩니다.
첫 4년 동안 전체 ZCash 2100만개 중에 1050만개가 채굴되게 되며, 2100만개가 전부 채굴되면 더 이상 ZCash는 발행되지 않습니다.


6. 주요 개발자 이력

Zooko Willcox
현재 ZCash Foundation에서 CEO로 재직 중이며, 그는 개방형 분산 시스템, 암호화 및 정보 보안 분야에서 20년 이상 경력을 가지고 있습니다. DigiCash, Mojo Nation, ZRTP, "Zooko 's Triangle", Tahoe-LAFS, BLAKE2 및 SPHINCS 다양한 작업에 참여하였으며 Least Authority 라는 보안 파일 저장소의 창립자이기도 합니다.

Nathan Wilcox
현재 ZCash Foundation에서 CTO로 재직 중이며, 소프트웨어 개발, 성능 분석 및 보안 감사 분야에서 10년 이상의 경력을 가지고 있습니다. 이전에는 Least Authority에서 개발을 담당했으며 Ethereum, SpiderOak, Cryptocat, GlobaLeaks 및 기타 프로젝트에 대한 보안 감사를 진행한 이력이 있습니다.


7. 개발 진척

개발은 무척 잘 이루어지고 있습니다. 메모리의 안정화가 원칙인 Rust 언어를 이용하여 zk-SNARKs를 구현하기도 하였습니다. 이 구현체는 현재 C++로 구현된 Libsnark를 대체할 것이며, 다음 로드맵인 Sapling에서 구현될 것입니다. 또한 자체적인 보안 감사를 진행하여 보안상 문제가 있는 경우 Blog에 빠르게 공개하고, 이 내용에 대한 처리도 빠른편입니다.


8. 네트워크 보안

1) 51% 공격
네트워크를 장악할 수 있는 51% 공격의 가능성을 이야기 합니다.

  • 현재 Flypool의 주도로 ZCash가 채굴되고 있습니다. 지난 24시간 동안 Flypool의 전체 점유율은 49%에 달하며, 6시간동인 전체 점유율은 53%를 넘습니다. 이것은 51% 공격에 거의 가깝다고 볼 수 있으며, 채굴자에 의해 Blockchain이 중앙화에 가깝게 되었습니다.

2) Racing Condition
대표자가 같은 Round에서 여러개의 블럭을 생성하거나, 다른 대표자와 동시에 Block을 생성하여 네트워크가 불안정해지는 가능성을 이야기 합니다.

  • 현재 PoW가 안정화 되어, 동시에 Block을 채굴하지 않습니다.

3. Transaction 검열
대표자가 특정 서비스 제공자를 통해서 전파되는 Transaction을 거부하거나 Block에 포함시키지 않은 가능성을 이야기 합니다.

  • ZCash에서 Transaction은 검열할 수 없습니다. T-Address의 경우 어느정도 검열 가능성을 이야기 할 수 있으나 Z-Address가 Transaction들 사이에 끼어 있는 경우, 거래 당사자를 추적할 수 없으므로 채굴자는 Transaction에 포함된 수수료를 위해 채굴하는 것이 더욱 나은 선택입니다.

Reference

  1. http://zerocoin.org
  2. http://zerocash-project.org
  3. https://z.cash/blog/slow-start-and-mining-ecosystem.html
  4. https://z.cash/blog/founders-reward-transfers.html
  5. https://z.cash/blog/funding.html
  6. https://www.cryptolux.org/images/b/b9/Equihash.pdf
  7. https://explorer.zcha.in/statistics/miners
  8. https://z.cash/blog/bellman-zksnarks-in-rust.html
  9. https://z.cash/about.html
  10. https://z.cash/support/index.html
  11. https://z.cash/blog/ceremony-audit-results.html

📍 COINsight ZCash 코인 리뷰 영상 보러가기
✔️ COINsight Channels :

COINsight Youtube
COINsight Facebook
COINsight Naver TV
COINsight Dtube
COINsight Twitter

Sort:  

자세한 정보 감사합니다

Coins mentioned in post:

CoinPrice (USD)📉 24h📉 7d
BTCBitcoin6855.790$0.75%-1.79%
ETHEthereum380.783$0.43%-5.3%
QAUQuantum0.097$-0.99%1.25%
ZECZcash179.919$-1.36%-6.49%

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63184.34
ETH 2560.17
USDT 1.00
SBD 2.72