ConsenSys 연구 결과: 이더리움에서 프라이버시 달성
편집자 주: 이 기사의 출처는크립토 밸리 라이브 (ID: cryptovalley)편집자 주: 이 기사의 출처는
크립토 밸리 라이브 (ID: cryptovalley)
크립토 밸리 라이브 (ID: cryptovalley)
, 저자: Dean Pierce(ConsenSys Diligence), Robert Drost(ConsenSys R&D 부서), Mason Nystrom(ConsenSys), 번역: Flash Chan, Odaily는 허가를 받아 복제했습니다.
정보가 점점 더 분류, 복사, 공유 및 판매되는 점점 더 연결되는 세상에서 일정 수준의 개인 정보를 유지하는 것은 중요한 과제입니다.
프라이버시는 이진 구조가 아니라 완전한 공개에서 완전히 비공개로 변동하는 범주입니다. 따라서 프라이버시와 관련하여 먼저 논의해야 할 세 가지 문제가 있습니다.
소비자와 기업이 보호하고자 하는 개인 정보는 무엇입니까?
사람들은 프라이버시를 위해 기꺼이 대가를 지불할 의향이 있습니까?
퍼블릭 블록체인에서 프라이빗 트랜잭션을 구현하면 어떤 장단점이 있습니까?
이 백서의 목적은 퍼블릭 블록체인에 대한 실제 프라이버시 요구 사항을 간략하게 검토하고 프라이버시 솔루션에 대한 현실적인 경로를 논의하는 것입니다.
프라이버시의 한 측면은 익명성 또는 자신의 신원을 비공개로 유지할 수 있는 권리입니다. 퍼블릭 블록체인의 맥락에서 익명성은 당사자가 자신의 신원이나 거래에 대한 기타 정보를 공개하지 않고 무언가(돈, 토큰 또는 데이터)를 교환할 수 있는 능력을 의미합니다. 이는 프라이버시의 한 측면일 뿐이지만 블록체인의 발전과 함께 그 중요성이 커졌습니다.
BTC 및 ETH와 같은 암호화 자산은 점점 더 추적되고 있으며 거래에서 공개 주소를 연결하여 암호화 자산 및 법정 통화를 변환할 때 주소의 실제 ID를 분석하고 연결하는 것이 가능합니다. 이것의 최종 결과는 거래에 대한 양 당사자의 신원이 공개된다는 것입니다. 퍼블릭 블록체인은 본질적으로 모든 트랜잭션의 로그를 제공해야 하므로 사용자와 기업의 개인 정보를 보호하기 위해 암호화 알고리즘과 프로토콜을 사용하는 것이 점점 더 중요해지고 있습니다.
기업과 소비자는 프라이버시와 관련하여 매우 다른 요구를 가지고 있습니다. 기업은 종종 제품 이름, 수량, 가격, 주소, 개인 식별이 가능한 재무 정보 등과 같은 거래 데이터의 프라이버시를 유지해야 합니다.
네트워크 참여자 신원은 일반적으로 알려져 있지만 역할 신원에 따라 유지하거나 다른 참여자에게 제공해야 할 수 있습니다.
예를 들어 화물 운송업자는 특정 해상 컨테이너의 내용물을 알 필요는 없고 컨테이너가 도착했다는 사실만 알 필요가 있을 수 있습니다. 은행 규칙은 또한 거래 데이터에 액세스할 수 있는 사람을 제한합니다. 이더리움의 개인 거래에 zk-snarks를 사용하는 EY의 Nightfall 프로토콜과 JP모건 체이스의 Quorum용 Anonymous-Zether 개발은 기업이 이더리움을 위해 개발한 개인 정보 보호 솔루션의 전형적인 예입니다.
기업은 강력한 상업적 동기나 개인 정보 보호 규정을 갖고 있는 반면, 소비자는 개인 정보 보호에 덜 민감하고 일반적으로 덜 관심을 갖는 경향이 있습니다. 소비자는 자신의 신원, 신용 카드 정보 또는 기타 민감한 데이터를 사기나 신원 도용으로부터 보호하기를 원할 수 있습니다. 때로는 소비자가 익명으로 거래하기를 원하므로 거래의 발신자와 수신자 모두 익명으로 유지되어야 합니다. 그러나 일상생활에서 개인정보는 사용자에 의해 무시되는 경우가 많으며, 대부분의 사람들은 편의나 무료 액세스(쿠키 허용, 무료 Wi-Fi 사용 등)를 위해 자신의 개인정보 권리를 기꺼이 희생합니다.
학술 연구 및 기업 채택을 통해 공개 표준에서 많은 결과가 도출되었으며 이러한 기술 중 많은 부분이 개별 사용자 기술 스택에서 길을 찾았고 궁극적으로 최종 사용자에게 도움이 되었습니다.
블록체인에 관한 한 Zcash가 거의 3년이 되었음에도 불구하고 기존 ZEC의 약 5%만이 SNARK를 사용하여 저장됩니다. ZEC의 약 95%는 프라이버시가 거의 없는 투명한 주소에 저장됩니다. 이러한 낮은 채택률을 바탕으로 우리는 아마도 대부분의 사용자가 아직 개인 정보 보호를 위해 비용과 노력을 지불할 필요가 없다고 추론할 수 있습니다.
돌이켜보면 내장형 프라이버시 레이어(예: SSL)의 성공으로 인터넷은 신뢰할 수 있는 상업 매체가 되었으며 블록체인 기술의 주류 채택은 여전히 중요한 프라이버시 문제를 피할 수 없습니다.
보조 제목
프라이버시 장단점
이 질문은 더 기술적입니다. 우리는 Ethereum에서 프라이버시를 달성하는 방법에 대해 더 깊이 파고들 필요가 있습니다. 블록체인 네트워크는 탈중앙화를 위해 확장성을 절충하고 프라이버시 메커니즘과 기술 사이에는 절충점이 있습니다. 우리는 프라이버시에 중점을 둔 다른 블록체인이 달성한 것을 검토한 다음 이더리움 네트워크의 프라이버시 솔루션에 대해 논의할 것입니다.
개인 정보 보호에 중점을 둔 다른 일반적인 블록체인 프로젝트(Monero 및 Zcash)
이더리움에 대해 자세히 알아보기 전에 프라이버시 코인 공간의 두 주요 플레이어인 Monero와 Zcash를 소개하겠습니다.
알트코인 초기에 Monero는 그 코드가 BTC를 전혀 기반으로 하지 않고 Bytecoin이라는 완전히 관련 없는 암호화된 자산 프로젝트라는 점에서 특별했습니다(Bytecoin은 CryptoNote 프로토콜을 사용한 최초의 암호화된 자산이었습니다).
원래 CryptoNote 디자인은 거래 발신자의 서명을 다른 많은 미끼 서명과 혼합(혼합)하여 거래 발신자를 난독화합니다. 이는 스텔스 주소 출력과 결합되어 매우 강력한 개인 정보 보호를 보장합니다. "링 서명" 구성표는 오랫동안 고급 내장 믹서로 인식되어 왔으며 이는 새로운 것이 아닙니다.
2017년에 RingCT가 도입되면서 트랜잭션 데이터를 숨기는 링 서명 기능이 크게 향상되었습니다. RingCT는 ZKRP(Zero-Knowledge Range Proof)를 사용하여 일괄 처리할 수 있는 서명 유형을 늘립니다.
2018년 말, 우리는 링의 서명 수에 따라 대수적으로 확장되어 필요한 트랜잭션 크기를 줄이는 흥미진진한 새로운 영지식 구조인 "방탄"이 Monero 네트워크에 도입되는 것을 보았습니다. 이 개선 사항은 다른 블록체인 프로젝트와 일치하는 Monero 기능을 제공합니다.
Zcash는 zksnark를 사용하는 최초의 암호화 자산입니다. 이 기술을 사용하여 사용자는 수신자에게만 표시되는 완전히 비공개 트랜잭션을 보낼 수 있습니다. 외부 관찰자에게 개인 주소로 전송되는 ZEC는 대형 암호화 블랙박스로 사라지는 것처럼 보이며 수신자가 자신의 토큰을 비공개 주소(표준 BTC 주소와 유사)로 다시 옮기고자 할 때 토큰은 발신자와 수신자 사이에 눈에 띄는 연결이 없는 난데없이 나오는 것 같습니다.
영지식 증명에 대한 중요한 점은 실행하는 데 더 많은 컴퓨팅 성능이 필요하므로 트랜잭션 비용이 더 많이 든다는 것입니다.
보조 제목
이더리움 네트워크는 의사 익명성을 제공하며(즉, 트랜잭션은 사용자 이름/비밀번호로 서명된 것이 아니라 사용자의 개인 키로 서명된 공개 키 주소에 연결됨) 분산 특성과 투명성으로 인해 많은 새로운 기술 기능을 가능하게 합니다.
그러나 BTC와 유사하게 이더리움은 대체 디지털 자산 전송을 사용할 때 공유 정보의 폭을 인식하지 못하는 사용자를 무의식적으로 노출합니다.
프라이버시에 대한 한 가지 위협은 사용자가 공개 및 개인 키와 관련된 ID를 알고 있다는 것입니다. BTC, 이더리움과 같은 블록체인의 공공성을 고려할 때, 내장된 트랜잭션 프레임워크를 순진하게 사용하는 것은 다른 사람들이 자산(대체 가능한 자산일지라도)의 이전 흔적을 추적할 수 있도록 빵 부스러기를 남기는 것과 같습니다.
주소 생성으로 프라이버시 보장
개인정보 보호 기술이 계속 발전함에 따라 더욱 복잡한 위협 모델을 고려할 수 있습니다. 2012년에 BIP32는 단일 시드 문구가 "새로운" BTC 주소의 끝없는 스트림을 생성할 수 있도록 하는 계층적 결정론적 키를 도입했습니다. 이를 통해 사용자는 거래를 수락할 때마다 새 주소를 생성할 수 있으며, 임의로 생성된 여러 개의 키를 별도로 가져올 필요 없이 이러한 모든 주소를 쉽게 새 지갑으로 내보내고 가져올 수 있습니다.
Ethereum은 동일한 기능을 가지고 있지만 새로 생성된 키는 필요한 ETH 자금을 사용할 수 있을 때까지 스마트 계약과 상호 작용할 수 없습니다. 문제를 복잡하게 만드는 것은 이더리움에 구축된 많은 시스템이 사용자의 실제 신원을 주소에 연결한다는 사실입니다. 이더리움 주소에 연결된 이 추가 메타데이터는 이더리움을 비익명화 공격에 특히 취약하게 만듭니다. 다행스럽게도 이더리움을 이러한 위협에 노출시키는 스마트 계약 기능은 최첨단 암호화를 사용하여 안전하고 원활한 개인 거래를 가능하게 합니다.
보조 제목
많은 영지식 구조에는 소위 "신뢰할 수 있는 설정"이 필요합니다. 이것은 전체 구성이 이러한 난수를 아는 사람이라면 누구나 내부 작동을 엿볼 수 있는 특수 난수 생성에 의존한다는 것을 의미합니다.
Zero-Knowledge Notes (ZK-Notes)
이러한 우려를 완화하기 위해 개발자는 구조를 신뢰할 수 있도록 임의의 매개변수를 생성하는 복잡한 체계를 고안했습니다. 여기에는 일반적으로 커뮤니티의 여러 신뢰할 수 있는 구성원이 포함되며, 각각은 자신의 개인 임의 데이터를 가져오고 어떤 방식으로든 서로 결합합니다. "어떤" 당사자가 키 데이터를 삭제하더라도 비밀 값은 안전합니다. 따라서 관련된 모든 당사자가 공모하는 경우에만 구조가 위험에 처할 수 있습니다.
Monero에서 사용하는 Bulletproofs는 신뢰할 수 있는 초기 설정이 필요하지 않지만 Zcash의 zksnark는 필요합니다. Zcash의 신뢰할 수 있는 초기 설정은 RadioLab에 문서화되어 있습니다. 대조적으로 STARK는 어떤 종류의 특수 번호가 아닌 "설정"으로 해시 함수를 사용하기 때문에 신뢰할 수 있는 초기 설정이 필요하지 않습니다.
보조 제목
이더리움 프라이버시 분야의 선구자인 AZTEC 프로토콜은 "영지식 노트" 시스템을 사용하여 숨겨진 금융 정보를 추적합니다. 이 메모는 각 메모의 소유자를 포함하여 이더리움 네트워크에서 볼 수 있지만 각 메모에 저장된 금액은 메모 소유자를 제외한 모든 사람에게 숨겨집니다.
일반적인 사용 사례에서 "ZK-자산" 계약은 모든 ERC-20 호환 토큰에 연결할 수 있으며 사용자가 토큰을 입금하여 ZK-Notes를 생성하거나 ZK-Notes를 소각하여 인출할 수 있습니다. 이 메커니즘을 통해 Ethereum 네트워크의 기존 자산을 개인 정보 보호 방식으로 거래할 수 있습니다. AZTEC 프로토콜에서 사용하는 증명은 zk-snarks보다 사용하기 쉽지만 여전히 신뢰할 수 있는 초기 설정이 필요합니다.
Aztec은 신뢰할 수 있는 설정을 구축하기 위해 다른 새로운 솔루션도 사용하고 있습니다. PLONK는 모든 프로그램에서 재사용할 수 있는 신뢰할 수 있는 단일 설정이 필요한 새롭고 효율적인 ZK-SNARK 구조입니다. 가스에 대한 요구 사항이 낮기 때문에 PLONK는 Ethereum의 실제 적용에 충분히 효과적입니다.
AZTEC Protocol CEO Tom Pocock은 PLONK가 완벽한 프라이버시를 유지하면서 복잡한 논리문을 작성하는 데 사용될 수 있다고 믿습니다.
보조 제목
ZK와 안전한 다자간 컴퓨팅(Secure MPC)의 조합
ZKBoo 및 Ligero에서 구현된 이 접근 방식을 통해 검증자는 보안 다자 계산 프로토콜을 ZK-PCP 시스템(확률적 증명을 사용하는 최초의 ZK 시스템 중 하나)으로 "컴파일"할 수 있습니다. 계산 프로토콜 뷰 중 하나를 무작위로 평가합니다. 즉, 관련 데이터에 대한 지식이 있는 엔터티는 여러 당사자 간에 분산 계산을 임의로 시뮬레이션한 다음 임의의 평가 지점에서 계산 사본을 표시할 수 있습니다. 더 중요한 것은 MPC를 사용하면 프라이빗 스마트 계약을 생성할 수 있다는 것입니다.
ZK-STARK와 마찬가지로 MPC 기반 교정에는 다음과 같은 특징이 있습니다.
투명성: 난수 생성은 공개 정보입니다.
확장 가능: MPC 기반 증명에는 준선형 증명 시간과 검증 시간이 있으며 배치 계산을 효율적으로 수행할 수 있습니다.
이러한 기술을 사용하는 것과 관련된 일부 장단점은 검증기에 확장성 문제를 일으킬 수 있는 중소 규모의 "회로" 문제에 대해 기술을 최적화하는 방법과 관련이 있습니다.
보조 제목
하드웨어 제한
Zcash가 zk-snarks를 사용하여 거래를 보내는 아이디어를 처음 도입했을 때 단일 거래를 생성하는 데 몇 시간 이상이 걸리기 때문에 은밀한 거래를 사용하는 데 필요한 계산 능력에 대한 심각한 우려가 있었습니다. 그러나 그 이후로 우리는 먼 길을 왔으며 이제 브라우저나 심지어 모바일 장치에서도 비슷한 작업을 몇 초 만에 수행할 수 있습니다.
보조 제목
믹서
이더리움 믹서는 지갑이나 개인을 위한 로컬 개인 트랜잭션을 용이하게 합니다. ETH의 추적 가능성은 특정 트랜잭션을 추적하고 다른 지갑이나 계정에 연결할 수 있음을 의미합니다. 믹서는 트랜잭션을 추가로 익명화하기 위해 ETH를 교환하는 데 사용됩니다.
많은 그룹이 Ethereum 믹서를 보다 실용적으로 만들기 위해 노력하고 있습니다. 아래는 혼합된 ETH를 저장하고 인출하기 위한 계산 및 가스 수수료에 대한 최신 그래프입니다.
애플리케이션 계층의 단일 믹서는 아직 사용자에게 절대적인 개인정보 보호를 제공하지 않고 확률적 보장만 제공할 수 있습니다. 그러나 이것은 대부분의 개인 및 비즈니스 요구에 이미 충분합니다.
보조 제목
가스비는 누가 내나요?
이러한 접근 방식의 치명적인 결점은 결국 누군가가 출력을 얻기 위해 가스 요금을 지불해야 한다는 것입니다. 이 모든 ETH는 어디에서 왔습니까? 궁극적으로 지불된 ETH가 사용자로 역추적될 수 있다면 해당 사용자는 익명화될 수 있으며 이는 목적 자체를 무산시킵니다.
이는 익명의 ETH를 수락하는 유일한 방법이 이미 익명의 ETH를 보유하는 것뿐인 프라이버시 "닭과 달걀" 시나리오를 만듭니다. 믹서에 대한 Vitalik의 블로그 게시물에서 그는 간단한 릴레이 등록 계약으로 이 문제를 해결합니다. 이 프로토콜에서 임의의 트랜잭션 게시를 약속하는 릴레이 운영자는 이러한 트랜잭션을 익명으로 게시할 수 있도록 HTTP 끝점을 등록할 수 있습니다.
마지막으로 지갑 변조 및 운영 보안을 고려해야 합니다. 사용자를 너무 번거롭게 만들지 않으면서 사용자를 보호하기 위해 안전한 기본값을 파악하는 방법은 계속 논의되고 있습니다. 이러한 모든 하이브리드 솔루션에는 대중이 도구에 쉽게 액세스할 수 있어야 하므로 개인 정보 보호에 대한 합리적인 기대를 가진 많은 참여자가 필요합니다. 그러나 모든 지름길은 매우 심각한 개인 정보 침해로 이어질 수 있습니다. 예를 들어, 사용자가 일부 ETH를 혼합하고 그 중 일부를 비공개여야 하는 것에 사용하고 나중에 비공개 거래에 사용한 지갑을 잊어버리고 나머지 ETH를 공개적으로 연결된 지갑으로 보낼 수 있습니다. .


