위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기

Dragonfly Capital 연구원은 Mimblewimble 개인 정보 보호 모델이 깨질 수 있다고 말합니다.

Winkrypto
特邀专栏作者
2019-11-19 03:10
이 기사는 약 3850자로, 전체를 읽는 데 약 6분이 소요됩니다
MW 자체는 강력한 개인 정보 보호를 제공할 만큼 강력하지 않습니다.

편집자 주: 이 기사의 출처는체인뉴스(ID: chainnewscom)편집자 주: 이 기사의 출처는

체인뉴스(ID: chainnewscom)

, 저자: Ivan Bogatyy, Odaily의 승인을 받아 재인쇄됨.

컴파일러: Zhan Juan

"AWS에서 주당 60달러를 지불하면 Grin 트랜잭션의 96%에 대한 정확한 주소를 찾을 수 있습니다. 분명히 Mimblewimble 자체는 강력한 개인 정보 보호를 제공할 만큼 강력하지 않습니다."

작성자: Ivan Bogatyy, 블록체인 투자 펀드인 Dragonfly Capital의 연구원, 이전에는 블록체인 투자 펀드인 MetaStable Capital의 일반 파트너

컴파일러: Zhan Juan

Mimblewimble의 개인 정보 보호 기능은 근본적으로 결함이 있습니다. AWS에서 일주일에 단돈 60달러로 Grin 거래의 96%에 대한 정확한 발신자와 수신자 주소를 실시간으로 발견할 수 있었습니다.

지난 2년 동안 Mimblewimble은 새로운 경량 프라이버시 프로토콜로 인기를 얻었습니다. 밈블윔블은 2016년 톰 엘비스 제두서(Tom Elvis Jedusor)라는 가명을 사용하는 해커가 발명했으며, 그는 IRC 채팅에서 프로토콜에 대한 텍스트 설명을 던지고 사라졌습니다. 그 이후로 Mimblewimble의 가장 유명한 응용 프로그램 중 일부에는 소위 "공정 릴리스" 프라이버시 코인인 Grin, VC 지원 Tari 및 BEAM 프로젝트가 포함되며 일부 사람들은 이를 Litecoin에 통합하는 것을 고려하기도 합니다.

몇몇 연구원은 Mimblewimble의 개인 정보 보호 취약점에 대해 가설을 세웠습니다. 저의 기여는 공격을 수행하는 정확한 방법을 보여주고 라이브 네트워크에서 실행 가능성을 입증하며 그 효과를 측정하는 것입니다. Grin의 실제 테스트에서 트랜잭션 흐름 정보를 발견하는 데 96%의 성공률을 발견했습니다. 따라서 이제 Mimblewimble이 강력한 개인 정보 보호를 제공할 것으로 기대할 수 없다는 것이 분명해졌습니다.

다음은 오픈 소스 코드, 재현 가능한 데이터 및 기술 FAQ를 포함하여 Mimblewimble 구현 공격에 대한 기술적인 심층 정보입니다. 이어지는 내용에서는 연결 가능성, 연결 가능성, 공격 방법, 개인 정보 보호 기술에 대한 의미에 대한 높은 수준의 직관적인 설명을 제공합니다.

보조 제목

연결 가능성이란 무엇입니까?

이 공격이 의미하는 것과 의미하지 않는 것이 무엇인지 이해하는 것이 매우 중요합니다.

이 공격으로 사람들이 받는 정확한 금액을 파악할 수 없었습니다. Mimblewimble은 일반 타원 곡선 암호화(Pedersen Commitment)를 사용하여 결제 금액을 성공적으로 난독화합니다. 그러나이 공격을 통해 누가 누구에게 지불하는지 알 수 있습니다. 즉, 거래를 연결하고 결제 흐름을 확인할 수 있습니다.

이것이 왜 큰 문제입니까? 설명이 필요할 수 있습니다.

Coinbase가 Daniel이라는 베네수엘라인의 주소를 알고 있고 미국 사용자인 귀하가 Coinbase에서 현금을 교환하려고 한다고 가정합니다. 그러나 난독화된 트랜잭션 그래프를 발견한 후 Coinbase는 귀하가 얼마를 받았는지 모르지만 귀하가 Daniel로부터 돈을 받았다는 것을 알고 있습니다. 베네수엘라에 관한 OFAC(외국 자산 통제국) 정책에 따라 Coinbase는 귀하의 계정을 폐쇄합니다.

물론 거래소는 암호화폐를 법정화폐로 교환하는 사용자의 KYC 정보를 가지고 있기 때문에 트랜잭션 그래프에 대해 많이 알고 있습니다.

또 다른 예로 권위주의 정부가 특정 주소가 정치적 반체제 인사의 소유라는 것을 알고 있다고 가정합니다. 당신은 이 반체제 인사에게 소액의 돈을 기부했습니다. 나중에 Mimblewimble 프로토콜을 사용하여 지역 거래소에 돈을 보내면 해당 거래소에서 거래 데이터를 정부와 공유합니다. 정부는 거래의 전체 그림을 볼 수 있기 때문에 이제 그들은 당신이 정치적 반체제 인사를 지지했다는 것을 알고 있습니다.

이러한 유형의 공격은 Zcash에서 불가능합니다. Zcash는 "연결 불가능"하기 때문에 즉, 모든 Zcash 트랜잭션에는 엄청난 익명성이 설정되어 있습니다. 익명성 집합은 본질적으로 트랜잭션을 식별할 수 없는 트랜잭션 집합입니다. 군중 속으로 섞이는 것과 같다고 생각하십시오. 익명성 집합이 클수록 거래가 혼합되는 "군중"이 커집니다.

Zcash에서 각 트랜잭션에 대해 설정된 익명성에는 보호되는 모든 코인이 포함됩니다. 정보 이론적인 관점에서 볼 때 이것은 가능한 최대의 익명성입니다.

Monero에서 각 거래에 대해 설정된 익명성은 모든 (신뢰할 수 있는) 미끼 거래의 집합입니다. Monero 클라이언트를 사용하면 미끼 세트의 크기를 지정할 수 있지만 현재 기본값은 11입니다. Monero는 보안 샘플링 디코이와 관련된 자체 문제가 있지만 장단점에 따라 대부분 가능하다고 생각합니다.

Mimblewimble의 익명성은 다음과 같을 것으로 예상됩니다.

이것은 단 하나의 주소로 설정된 Mimblewimble의 익명성을 좁힙니다.

분명히 말씀드리자면 저는 Grin을 비난하려는 것이 아닙니다. 저는 제 질문을 경청하는 데 큰 도움을 준 Grin 커뮤니티와 핵심 개발자들에 대해 많은 존경심을 가지고 있습니다.

비트코인 또는 기타 비프라이버시 코인과 비교할 때 Grin은 거래 금액이 안전하게 암호화되기 때문에 여전히 더 강력한 프라이버시 모델을 제공합니다. 그러나 Zcash나 Monero와 비교할 때 Mimblewimble은 매우 취약한 개인 정보 보호 모델을 제공하므로 많은 실제 개인 정보 사용 사례에 충분하지 않습니다.

보조 제목

공격에 대한 높은 수준의 개요

그렇다면 Mimblewimble에서 트랜잭션 그래프를 "비익명화"하는 방법은 무엇입니까?

결제 금액을 암호화했음에도 불구하고 Mimblewimble은 여전히 ​​연결 가능한 트랜잭션 그래프를 남깁니다. 그러나 프로토콜 설계자는 이를 알고 있으므로 Mimblewimble은 연결 가능성을 방지하기 위해 두 가지 주요 기술을 사용합니다. 첫 번째는 전체 블록 컷스루 집계이고 두 번째는 Dandelion입니다.

블록 통과 이면의 아이디어는 트랜잭션이 블록 내에 누적될 때 이러한 트랜잭션이 단일 "슈퍼 트랜잭션"으로 집계된다는 것입니다. 이 "슈퍼 트랜잭션"은 기본적으로 거대한 코인 조인(CoinJoin)과 같습니다. 본질적으로 모든 입력과 출력이 거대한 양동이에 던져지고 누가 이 양동이에서 지불하는지 쉽게 결정할 방법이 없습니다. 많은 입력이 많은 출력으로 바뀌었을 뿐이고 양이 흐릿합니다.

괜찮은 것 같죠? 한 가지 문제가 있습니다. 이 CoinJoin은 한 번에 하나의 트랜잭션을 구축해야 합니다. 트랜잭션이 지속적으로 생성되고 다양한 위치에서 브로드캐스트되기 때문에 스니퍼 노드를 실행하여 통과 집계가 완료되기 전에 모든 트랜잭션을 가져오면 CoinJoins를 풀기가 쉽지 않습니다. 모든 스니퍼 노드는 네트워크를 감지하고 각 트랜잭션이 집계되기 전에 원래 트랜잭션을 기록할 수 있습니다. 실제로 P2P 네트워크에서 감지한 모든 메시지를 보관하는 것은 매우 쉽습니다.

잠깐, 정말? 그게 다야?

Grin 팀은 실제로 또 다른 방어선인 Dandelion Protocol을 제안했습니다. Dandelion은 CMU(Carnegie Mellon University)의 연구원들이 개발한 네트워크 기술로 트랜잭션의 발신자를 난독화하려고 시도합니다.

일반적으로 비트코인과 같은 암호화폐에서는 트랜잭션의 생성자가 모든 피어에게 트랜잭션을 큰 소리로 알리고 P2P 네트워크를 통해 빠르게 확산됩니다. 그러나 Dandelion Protocol에서 모든 트랜잭션의 방송은 비밀스러운 전화 통신 게임으로 시작됩니다. 이니시에이터는 트랜잭션을 한 피어에게만 조용히 게시하고 피어는 조용히 다른 피어에게 트랜잭션을 게시하는 식입니다. 몇 번의 임의 홉 후 마지막 피어는 Bitcoin에서와 같이 트랜잭션을 발표합니다. 그러나 이 피어는 발신자로부터 너무 멀리 떨어져 있어서 어떤 관찰자도 누가 체인의 시작인지 알 수 없습니다.

이는 트레이더의 IP를 난독화하는 데 매우 유용합니다. 그러나 Dandelion Protocol에는 Grin에서 두 번째 기능도 있습니다. 스니퍼 아카이브 노드를 무력화하는 것입니다. 각 트랜잭션은 Dandelion 체인에서 시작되기 때문에 두 개의 트랜잭션이 Dandelion 체인에서 교차하는 한 더 일찍 집계됩니다. 이런 일이 발생하면 트랜잭션이 모든 관찰자에게 브로드캐스트될 때까지 스니퍼 노드는 이미 트랜잭션을 분해할 수 없습니다. 그들은 혼합되었습니다 (CoinJoined).

기본적으로 각 Grin 노드는 8개의 다른 피어에 연결됩니다. 그러나 피어 수를 급증함으로써 스니퍼 노드를 네트워크의 다른 모든 노드에 연결할 수 있습니다. 내가 오랫동안 온라인에 있다고 가정하면 결국 거의 모든 노드가 나에게 연결되어 나를 슈퍼노드로 만듭니다.

내가 슈퍼노드가 되면 어떤 트랜잭션이든 민들레길은 나를 통과할 가능성이 매우 높다. 트랜잭션이 집계되기 전에 기본적으로 잡을 수 있습니다. 유일한 불가능한 경우는 두 트랜잭션이 내가 보기 전에 이미 민들레 경로에서 교차하는 것입니다. 집계되기 전에 이러한 트랜잭션 중 하나가 표시되면 간단한 대수학을 사용하여 압축을 풀 수 있습니다.

내가 시작한 공격에서 트랜잭션의 96%를 연결할 수 있었고 Grin 네트워크의 총 3,000개 노드 중 200개 노드만 연결했습니다. 돈을 조금 더 쓰면 3,000개의 노드에 쉽게 연결하여 거의 모든 트랜잭션을 분할할 수 있습니다. 또한 이 작업을 수행하기 위해 단일 슈퍼노드가 될 필요는 없습니다. 각각 고유한 IP를 가진 3,000개의 노드를 스핀업하여 동일한 공격을 수행할 수 있으며 각각은 하나의 피어에만 연결됩니다. 모든 트랜잭션 데이터를 스니핑하여 중앙 마스터 데이터베이스에 덤프하는 한 공격은 똑같이 효과적입니다.

보조 제목

그럼 밈블윔블은 아직 살아있나요?

때에 따라 다르지. 저는 Grin이 현재 구상하고 있는 연결 해제에 대한 명확한 경로가 없다고 생각합니다. 이 기술 문서에서 논의한 것처럼 민들레 요소를 증가시키는 것만으로는 야심 찬 공격자를 물리치기에 충분하지 않습니다.

그러나 연결 가능성 외에도 Mimblewimble은 여전히 ​​고유한 가치를 가지고 있습니다! 전체 노드를 위한 효율적인 압축 기술인 통과 집계를 지원하고 트랜잭션 양을 효과적으로 숨깁니다. 더 높은 프라이버시가 필요한 경우 거래 그래프를 난독화하는 다른 프로토콜과 Mimblewimble을 결합할 수 있습니다. 예를 들어 Ethereum 9¾에서는 Mimblewimble을 Zerocash 스타일 약정 무효화 체계와 결합합니다.

그러나 Mimblewimble 자체가 강력한 개인 정보 보호를 제공할 만큼 강력하지 않다는 것은 분명합니다.

隐私币
Odaily 공식 커뮤니티에 가입하세요