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

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

HOPR의 DERP 툴을 이용하면 크립토 업계가 진정한 프라이버시와 분산화를 이루기까지 얼마나 먼 길이 남았는지 알 수 있습니다. 지난 번 게시물을 통해 이 툴의 작동방식에 대해 알아보세요. 또, 첫 번째 DERP 예시를 통해 안전하게만 보였던 Metamask 계정이 얼마나 많은 위험에 노출되어 있는지 확인해 보세요…

 

[HOPR] DERP 예시 1: Metamask 연결성

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

mychew8314.tistory.com

이번 두 번째 DERP 예시는 Metamask의 연결성 이슈만큼 극단적이지 않지만, 착취의 간단성을 염두에 두면 특정 크립토 서비스들이 어떠한 문제를 안고 여러분께 제공되는지 알 수 있습니다: 악의적 RPC 제공자가 다루는 당신의 트랜잭션 요청으로부터 데이터 페이로드를 이용할 수 있습니다. 

이번 예에서 우리는 NFT 마켓플레이스를 사용할 예정이나, 이는 언제든 다양한 크립토 dApp으로 대체 적용하여 같은 문제점을 발견할 수 있습니다. 

또, 이번 예시는 살짝 다른 DERP 셋업을 이용합니다: 이더리움 메인넷에서의 RPC 제공자가 아니라 Gnosis Chain의 것을 사용합니다.

이를 직접 똑같이 해보려면, 아래와 같이 세팅해 주세요.

 

네트워크명: DERP - Gnosis Chain

RPC URL: https://derp.hoprnet.org/rpc/xdai/mainnet

체인 ID: 100

통화 심볼: xDAI

이미 지갑에 Gnosis Chain을 셋업해 둔 경우, 체인 ID를 입력하면 에러 메시지가 나타납니다. 이는 무시해도 좋습니다.

이 문제점을 테스트해 보기 위해 우리는 HOPR의 고유 부스트 NFT를 사용합니다. 이는 테스팅 및 기타 액티비티에 참여해 획득 가능한 NFT입니다. 이러한 NFT를 APR을 높이기 위해 스테이킹 프로그램에 락업할 수 있지만, 거래 또한 가능합니다. Gnosis Chain의 NFT 마켓플레이스인 epor.io에서도 이용 가능합니다.

위 동영상을 보면 제가 지갑을 연결하고 실버 Surveyor 부스트 NFT를 위해 14 xDAI를 입찰 시작하는 버튼을 클릭했음을 볼 수 있습니다. 하지만, 아직 트랜잭션을 완료하지 않았습니다.

이제 DERP에서 무얼 확인할 수 있을까요?

 

이 사소한 인터랙션 하나로 아주 많은 요청이 발생했습니다. 계속해서 스크롤해 내려가면 우리가 주의깊게 봐야 할 것이 나타납니다: eth_estimateGas. 이 콜은 대기중인 트랜잭션에 필요한 가스비를 예측하기 위해 사용됩니다: 결과는 권장 가스비를 디스플레이하기 위해 당신의 지갑 UI가 사용하는 것과 같습니다.

다음은 해당 요청으로부터 추출한 데이터입니다:

[

{

“gasPrice”: “0x77359400”,

“value”: “0xc249fdd32777ffff”,

“from”: “0x0c89edd253cfd1a95a9d56a11dcd7f0a1ea9eeb0”,

“to”: “0x8b90560963cf5625384e6e642c4979e6a1c38b04”,

“data”: “0x12c04b3e00000000000000000000000000000000000000000000000000000000000092af”

}

]

헥스 컨버터를 이용해 위 데이터를 다음과 같이 해석할 수 있습니다.

0x77359400의 ‘gasPrice’가 Metamask가 권장하는 가스비입니다.

0xc249fdd32777ffff의 ‘값’이 제 입찰 금액입니다: 14 xDAI.

데이터 페이로드는 그다지 흥미롭지 않습니다. 첫 8자리는 4bytes.directory에 나타나지 않기 때문에, NFT 마켓플레이스에 대한 독점 콜 함수를 나타내야 합니다. 그리고 많은 0과 92af 문자열이 있습니다. 이 스트링과 리버스 엔지니어링을 활용하면, 입찰되는 NFT와 소유자를 특정지을 수 있게 됩니다.

이는 딱히 프라이빗한 정보라고 할 수는 없습니다. 소유자의 정보 또한 epor.io 입찰 페이지의 아바타를 클릭해 찾아볼 수 있습니다. 흥미로운 점은, 이 NFT에 입찰하기 위해 필요한 데이터 페이로드는 이것이 전부라는 것입니다.

원한다면, 이와 같은 요청을 받을 때마다 우리가 컨트롤하는 계좌로부터 동일한 데이터 페이로드와 동일한 트랜잭션을 제출하도록 DERP를 프로그래밍할 수 있습니다. 이후 즉시 같은 NFT를 더 높은 가격에 상장시킬 수 있습니다.

이를 큰 문제라고 생각하지 않을 수 있지만, 제가 NFT 컬렉터로서 당신의 계정을 특정짓는다면 (RPC 제공자로서 이미 당신의 어드레스를 알고 있기 때문에 당신의 토큰 홀딩을 분석해 쉽게 할 수 있습니다), 더 높은 입찰을 하도록 압력을 넣을 수 있습니다.

이번 예시가 흥미로운 이유는, 이러한 일이 가능하게 하는 데 책임의 소재가 어디에 있는지 불분명하며, 어떻게 대처해야 할 지 알 수 없다는 데 있습니다. 크립토 유저로서 저는 당연히 트랜잭션당 내야 할 예상 가스비를 알기를 원합니다. 이를 계산할 수 있는 유일한 방법은 예정된 트랜잭션의 디테일을 사용하는 것입니다. 하지만 프론트 런 어택을 하기 위해 반드시 많은 양의 데이터가 필요하지 않습니다: 대부분의 경우, 호출되는 스마트 컨트랙트 함수의 유형만 알아도 충분합니다.

 

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

 

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

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

민티드랩 텔레그램 공지방 : 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

+ Recent posts