본 포스팅은 < 원본 : DERP Example 1: Metamask Linkability > 의 번역본으로 HOPR 프로젝트에 관심이 있는 커뮤니티 투자자분들의 편의를 위해 작성되었습니다.

오타나 번역 관련 문의가 있으시다면 댓글로 부탁드립니다!

HOPR의 DERP 툴을 이용하면 여러분이 실제로 트랜잭션을 집행하지 않더라도 크립토 서비스를 이용할 때 얼마나 많은 양의 메타데이터가 RPC 엔드포인트에 노출되는지 알 수 있습니다. 지금 바로 derp.hoprnet.org에 방문해 실험해 볼 수 있습니다만, 데이터의 의미가 항상 명확하지는 않을 수 있습니다 (하지만 데이터의 양은 즉시 확인할 수 있습니다!).

 

Intro to D.E.R.P.

As part of our Hop on Board event, HOPR is (dubiously) proud to present DERP, the Dumb Ethereum RPC Provider.

medium.com

DERP가 암시하는 것들에 대한 이해를 돕기 위해 우리는 오늘날 인기 크립토 툴을 저해하는 프라이버시 이슈를 보여주는 몇 가지 예를 준비했습니다.

첫 예는 가장 단순하지만, 가장 놀라울 수도 있습니다. 저는 제 자신을 매우 신중한 크립토 유저로 생각하지만, Metamask를 이용할 때마다 제가 소유한 지갑들 사이에 링크들을 의도치 않게 노출시키고 있다는 것을 알 수 있었습니다.

저는 가급적 소프트웨어 지갑을 사용하지 않지만, 오늘날 DeFi의 현실에서 특히 직원을 많이 두고 종종 빠른 결제를 할 일이 많은 크립토 프로젝트를 운영하는 경우 언제나 하드웨어 지갑을 이용할 수는 없습니다.

2100만명의 사용자를 둔 Metamask는 가장 인기 있는 소프트웨어 지갑입니다. Metamask를 이용하면 같은 프라이빗 키/시크릿 리커버리 프레이즈를 사용하는 새로운 계좌을 쉽게 만들 수 있습니다. 암호화그래픽적 관점에서, 당신은 무한한 수의 계좌를 만들 수 있고, 이 모든 계좌는 각각 프라이빗하며 독립적입니다. 온체인에서 상호작용하지 않는 이상, 이러한 계좌의 퍼블릭 키에 대한 그 어떠한 정보도 계좌들이 한 사람에 의해 운용된다는 사실을 노출시키지 않습니다. 

바로 이러한 방법으로 많은 사람들이 Metamask를 이용합니다: 한 곳에 여러 계좌를 두고 있는 것은 정말 매력적입니다. 한 계좌는 DEX와 DeFi를 담당하고, 다른 하나는 중앙집중형 거래소를 담당할 수도 있습니다. 또는 단지 연결되지 않은 여러 계좌에 걸쳐 자산을 분산시켜두는 용도로 이용할 수 있습니다. 또 - 이는 우리가 권장하는 건 아니지만 :) - 하나는 세금을 내고 하나는 숨겨둘 수도 있습니다.

위와 같이 Metamask를 이용하고 있는 경우, 계좌가 모두 프라이빗하다는 점이 만족스러울 것입니다. 물론 매번 이용할 때마다 올바른 계좌를 사용하는지 확인해야 하고, 공개적으로 한 계좌에서 다른 계좌로 토큰을 전송하지 않고, 제 3의 계좌를 이용해서도 않아야 하며, Tornado cash와 같은 프라이버시 서비스를 이용할 수도 있습니다. 이렇게 하면 계좌를 전혀 연결지을 수 없을 것 같죠?

그렇지 않습니다.

Metamask를 시작하는 순간 RPC 엔드포인트에 ethCall 요청을 전송해 UI를 통해 나타날 토큰의 금액을 알 수 있게 합니다. 이 요청에는 당신의 모든 계좌가 포함되며, 모든 계좌를 이용하지 않고 하나만 이용하는 경우에도 마찬가지입니다.

이것을 보여주기 위해 저는 다음과 같이 새로운 Metamask 지갑을 셋업하고 여러 주소를 추가했습니다:

0x5faA0481F44cfe891416d5d4aA59254E45b7dfE0 (가명: 거래소 계정)

0xBab83b4a2dfC5732a004460E24b86C4dA1050214 (가명: 신고된 계정)

0x0c89EDd253CFD1a95a9d56A11dcd7f0A1ea9eEb0 (가명: 비밀 계정)

이제 Metamask를 사용하면 DERP에 어떤 일이 일어나는지 살펴보겠습니다.

 

이 과정을 이해하려면, 이 페이로드 내 데이터를 분석해야 합니다.

[
{
“to”: “0xb1f8e55c7f64d203c1400b9d8555d050f94adf39”,
“data”:
“0xf0002ea9000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000005faa0481f44cfe891416d5d4aa59254e45b7dfe0000000000000000000000000bab83b4a2dfc5732a004460e24b86c4da10502140000000000000000000000000c89edd253cfd1a95a9d56a11dcd7f0a1ea9eeb0000000000000000000000000c8c851d72ac72836cd1e7a2d5f55d92f7b48bfe500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000”
},
“0x0”
]

 

여기서 ‘to’ 어드레스는 다음 주소입니다:

https://etherscan.io/address/0xb1f8e55c7f64d203c1400b9d8555d050f94adf39

Balance Checker 컨트랙트입니다. Metamask는 당신이 갖고 있는 토큰의 양을 나타내야 하기 때문에, 이 정보를 어딘가에서 가져와야 합니다.

이제 전송되는 데이터를 들여다 보겠습니다.

모든 이더리움 RPC 요청과 마찬가지로, 0x 이후 첫 4바이트 (8자리)가 호출되는 함수를 정의합니다. 여기에 대해 알아보려면 4byte.directory를 방문해 주세요.

여기서는 f0002ea9이고, 이는 getBalance임을 확인할 수 있습니다.

다음으로는 0이 매우 많습니다. 이는 단순히 스페이스 필러입니다.

첫 주소가 나왔습니다. 이는 Metamask 리스트의 “Exchange Account”로, 5faa0481f44cfe891416d5d4aa59254e45b7dfe0입니다.

다 많은 0과 함께 또 하나의 주소가 나왔습니다.

0xbab83b4a2dfc5732a004460e24b86c4da1050214

Metamask 내 Exchange Account입니다.

데이터의 끝에 도달할 때까지 이 패턴이 반복됩니다.

 

이것은 무엇을 의미할까요?

이는 제가 Metamask를 열자마자 RPC 제공자가 제가 컨트롤하는 모든 주소 리스트를 받게 된다는 것을 뜻합니다. 같은 프라이빗 키를 사용하며 서로 연결할 수 없는 어드레스를 만들기 위해 들어간 모든 암호화그래픽 독창성이 한순간에 파괴되었습니다.

또, RPC 제공자가 제 IP 주소와 브라우저 및 운영 시스템 정보를 모두 볼 수 있습니다. 이들이 마음만 먹는다면, 이 정보를 저장하고 제 삼자와 공유를 할 수도 있으며, 이 제 삼자 또한 모든 계좌가 사실은 한 사람의 소유라는 사실을 알게 됩니다. 이들이 제 IP 주소에 연결된 다른 메타데이터도 가지고 있다면, 이 계좌를 사용해 제 실제 신분이 노출될 수도 있습니다. 기억해 두셔야 할 점은, 아직 트랜잭션을 하지 않았다는 것입니다: 복잡한 체인 분석이 필요하지 않았습니다.

 

더욱 심각한 점은, 이 모든 일을 단순히 Metamask 확장 버튼을 클릭하는 것만으로 할 수 있다는 것입니다. 패스워드를 입력하지 않고도 같은 일이 벌어지는 것입니다!

분명 Metamask는 UI를 여러분의 계좌 정보로 채워야 합니다. 웹3 세계에서 이를 할 수 있는 유일한 길이 바로 RPC 호출을 통하는 것입니다. 하지만 단일 호출에 너무 많은 정보를 엮을 필요는 없습니다. 이는 웹2의 사고를 웹3에 그대로 이식하는 것과 다르지 않습니다. 왜 이러한 일이 일어났는지 이해는 되지만, 바뀌어야 합니다.

 

HOPR’s Role in the Web3 Future

Clear and consistent values are an essential part of breaking the Web 2.0 stranglehold and moving to a free, private, decentralized future.

medium.com

다음 번, 우리는 악의적 RPC 제공자가 여러분의 NFT 컬렉션을 어떻게 망칠 수 있는지에 대해 알아보겠습니다.

 

* 해당 포스팅은 투자 관련 정보 공유의 목적으로 포스팅된 글이며 투자 권유가 아닙니다. 그러므로 개인 투자의 책임은 모두 본인에게 있으니 참고하셔서 투자하시기 바랍니다.

 

잘못된 정보 혹은 재미있게 보셨다면 댓글 부탁드립니다.

보다 빠른 정보는 텔레그램 채널과 채팅방, 카카오톡 채팅방을 통해 받아보세요 :)

민티드랩 텔레그램 공지방 : https://t.me/minted_labs

민티드랩 텔레그램 채팅방 : https://t.me/minted_chat

카카오톡 오픈 채팅방 : https://open.kakao.com/o/gFVbSeSd (입장코드 : 3309m)

HOPR 한국 텔레그램 공지방 : https://t.me/HOPRKorea

HOPR 한국 텔레그램 채팅방 : https://t.me/HOPRKorean

'Minted Lab Portfolio > 호퍼(HOPR)' 카테고리의 다른 글

[HOPR] ETHDenver 2022에서의 HOPR  (0) 2022.02.18
[HOPR] DERP 예시 2: NFT 마켓플레이스  (0) 2022.02.16
[HOPR] D.E.R.P 인트로  (0) 2022.02.04
[HOPR] HOPR 스테이킹 2.0  (0) 2022.01.19
[HOPR] HOPR 2021년 리뷰  (0) 2022.01.19

+ Recent posts