혼동을 방지하기 위해 알려드리자면, 이것은 발신자가 비대화형 수신자에 대한 스텔스 주소를 계산하는 이더리움 요청 사항(ERC)-5564 스텔스 주소와는 다른 개념입니다.
요약
이 아이디어에서 수신자는 주소를 계산하고 발신자와 공유합니다(개인정보 보호에 적용되지 않고 메타마스크, 거래소, 공개 지갑과 같은 기존 시스템을 사용함).
이는 기존의 개인정보 보호 체계를 기반으로 구축될 수 있는 앱입니다.
프라이버시를 유지하기 위해 거래 상대방이 프라이버시 기반 지갑을 사용할 필요는 없습니다. 하지만 기본 프라이버시 체계가 충분히 큰 익명성을 확보해야 합니다.
이 앱은 이더리움 요청 사항(ERC)-6538을 사용하는 다른 개인정보 보호 계획과 상호 운용이 가능하여 자체 개인정보 보호 계획을 사용하는 사용자, 개인정보 보호 계획이 없는 사용자, 그리고 잠재적으로 다른 개인정보 보호 계획과도 작동할 수 있습니다.
동기 부여
대부분의 스텔스 주소 솔루션은 모두 사용자 옵트인 방식입니다. 즉, 두 사용자 모두 동일한 프로토콜이나 규칙을 따라야 합니다. 프로토콜은 다양합니다. Aztec, 이더리움 요청 사항(ERC)-5564, Railgun, Tornado Nova, zkBoB 등이 있습니다.
따라서 A라는 사람이 B라는 사람에게 돈을 지불하려면 두 페르소나 모두 동일한 프로토콜에 가입해야 합니다. 그렇게 가정하면 꽃과 무지개가 될 수 있지만, 실제로 대부분의 사람들은 어떤 개인정보 보호 프로토콜도 사용하지 않으며, 만약 누군가 사용한다면 당신이 사용하는 프로토콜이 아닐 수도 있습니다.
현재 솔루션:
사용자는 여러 인기 있는 개인정보 보호 프로토콜에 가입하여 다른 사람 과 호환됩니다.
사용자는 모든 거래 내역이 공개되는 여러 지갑 주소를 생성하면서 공개 이더리움에 머물러 있습니다. 자금은 다른 사람이 실제 잔액을 알아낼 수 없도록 분산되어 있지만, 사용자는 누구 에게서든 자금을 받을 수 있습니다. 단, 주소가 서로 직접 연결되지 않도록 주의하고 토네이도 캐시와 같은 기능을 사용해야 합니다.
중앙화된 거래소에 자금을 보관하면 누구 로부터든 입금을 받을 수 있습니다.
결제 시스템 개인정보 보호 도입에 있어 가장 큰 과제는 참여자(송신자)와 수신자 모두 동일한 프로토콜을 지원하는 소프트웨어를 사용해야 한다는 점입니다. 이로 인해 새로운 프로토콜이라는 이유로 개인정보 보호 프로토콜에 가입하게 되지만, 사용자는 대부분 상호 작용하는 사람들이 가입하지 않아 공개 거래를 하게 됩니다. 단, 운이 좋아서 같은 시스템에 가입한 동료가 있는 경우는 예외입니다.
추상적인
이 게시물은 사용자가 자신의 잔액을 적정 수준으로 비공개로 유지하면서도 공개 이더리움 주소로 자금을 주고받을 수 있도록 하는 잠재적 솔루션에 대한 것입니다. 이 솔루션은 토네이도 노바와 유사한 기존의 UTXO 기반 개인정보 보호 체계를 기반으로 구축할 수 있는 앱입니다. 앱이 최소 하나 이상의 지갑에 통합되어 있어도 괜찮습니다. 사용자는 여러 개의 이더리움 가상 머신(EVM) 주소를 직접 생성할 수 있습니다. 발신자와 상호 작용하여 새 주소를 제공합니다. 이 주소는 CREATE2를 사용하여 미리 계산됩니다. 자금이 수신되면 지갑 소프트웨어는 릴레이어를 사용하여 자금을 기본 개인정보 보호 체계로 수집하여 사용자가 향후 거래에 사용할 수 있는 UTXO를 생성합니다.
이 솔루션은 상호작용적입니다. 친구나 고객에게 송금하는 것과 같은 일상적인 사용 사례의 대부분은 사용자들이 "메인넷을 원하시나요, 아니면 특정 L2를 원하시나요? 이더리움(ETH) , 다이(Dai) , USDC 중 어떤 것을 선호하시나요?"라고 묻는 상호작용이 필요합니다. 여기서 사용자는 직접 새 주소를 생성하여 발신자에게 전달하는데, 이것이 바로 상호작용입니다. CREATE2 스텔스 주소는 앱이기 때문에 이더리움 개선 제안(EIP)/ 이더리움 요청 사항(ERC) 일 필요가 없으며, 다른 사용자들은 새로운 프로토콜을 따르도록 옵트인할 필요가 없습니다.
어떻게 작동하나요?
작년의 PoC 코드에 링크(Chainlink) 세부 사항을 표현할 수 있겠습니다.
1. 사용자가 이 시스템에 가입합니다.
사용자는 설명된 프로토콜을 따르는 소프트웨어를 설치합니다. 이 소프트웨어는 32바이트의 비밀 정보를 생성하여 향후 사용을 위해 저장합니다.
2. 사용자는 클라이언트로부터 돈을 받고 싶어합니다.
사용자는 다음과 같이 새로운 스텔스 주소를 생성합니다.
두 단어의 해시 : 32바이트 비밀과 32바이트 논스 (증분 가능)
해시 CREATE2와 함께 사용되는 32바이트 솔트이며 주소를 가져옵니다 . https://github.com/ultralane/contracts/blob/b8e17ce7099ffb358488579927308d5f73716dc3/contracts/MixerPool.sol # L162-L166
사용자(수신자)는 이더리움 가상 머신(EVM) 주소를 보내어 발신자와 상호 작용합니다.
보내는 사람은 메타마스크, 거래소 출금 또는 개인정보 보호 체계 출금을 통해 원하는 방식으로 이 주소로 돈을 보낼 수 있습니다.
3. 사용자는 클라이언트로부터 돈을 받습니다.
이 돈은 계약인/계약이 될 미리 계산된 주소로 전송됩니다. 솔라나(SOL)
사용자의 지갑 소프트웨어가 온라인 상태가 되고 스텔스 주소의 잔액이 확인되면:
기본 개인정보 보호 체계의 사양에 따라 비밀 노트를 생성합니다. 일반적으로 이러한 노트는 비밀과 함께 양, 그리고 충돌 방지를 위한 무작위 바인딩으로 구성됩니다. https://github.com/ultralane/circuits/blob/42e39cd95345c6c47ee8b363854262ab03f29731/lib/src/note.nr#L3-L7
이는 사용자가 소금에 대한 원상을 알고 있다는 것을 지역적으로 증명합니다.
또한 중계자가 변조할 수 없도록 메모 약속을 추가합니다(이 부분은 PoC에는 없습니다).
그런 다음 이 페이로드는 풀에서 함수를 호출하는 중계자에게 전달되어 사용자가 자금을 개인 정보 풀로 이동시키는 공개 거래를 수행합니다. https://github.com/ultralane/contracts/blob/b8e17ce7099ffb358488579927308d5f73716dc3/contracts/MixerPool.sol # L133-L160
또한, 스텔스 주소는 이더리움 요청 사항(ERC)-6538 레지스트리에 등록될 수 있습니다. 이를 통해 일부 옵트인 개인정보 보호 사용자가 이 주소로 향후 이체할 때 효율적인 경로를 사용할 수 있습니다.
사용자가 돈을 보내고 싶어합니다
사용자의 지갑 소프트웨어는 이더리움 요청 사항(ERC)-6538 레지스트리를 사용하여 해당 주소가 스텔스 주소인지, 그리고 어떤 종류의 주소인지 확인할 수 있습니다. 지원되는 개인정보 보호 프로토콜을 사용하는 것으로 확인되면 처리하십시오.
기본 개인정보 보호 체계를 사용하는 경우 UTXO를 직접 사용하여 기본 개인정보 보호 프로토콜의 사양에 따라 수신자가 사용할 수 있는 새로운 UTXO를 생성합니다.
이더리움 요청 사항(ERC)-5564: 스텔스 주소인 경우 프로토콜과 스텔스 주소에 따라 수신 주소를 계산합니다.
그렇지 않으면 해당 주소는 어떠한 개인정보 보호 체계도 사용하지 않으므로 해당 주소로 자금을 인출하기만 하면 됩니다.
결론
이 솔루션은 알려지지 않은 사람으로부터 비대화형 방식으로 기부를 받는 경우에는 제대로 작동하지 않습니다. 예를 들어, GitHub readme에 기부금 주소를 등록하는 것과 같습니다. 동일한 주소로 이루어진 모든 거래 내역이 공개되기 때문입니다. 이더리움 요청 사항(ERC)-5564는 바로 이 부분에서 빛을 발합니다. 송금자가 새 주소를 생성하기 때문입니다. 하지만 송금자는 옵트인(opt-in)을 해야 합니다. 기부금의 경우, 저장소에서는 일반적으로 비트코인(BTC), 이더리움(ETH), 모네로(Monero) 와 같이 여러 개의 주소를 등록하지만, eth 주소 대신 Railgun과 같은 개인 정보 보호 체계의 다른 x-주소나 그 이상을 등록할 수 있습니다. (사용자가 이더리움(ETH) 주소에 대해 전혀 모르거나 오래된 지갑 소프트웨어를 사용하고 있을 가능성이 높기 때문입니다.)
이더리움 요청 사항(ERC) -6538 및 기타 개인정보 보호 체계를 사용하여 CREATE2 스텔스 주소를 이더리움 요청 사항(ERC) -5564와 결합할 수 있습니다. 기본적으로 자금 수집 과정에서 CREATE2 스텔스 주소는 여러 개인정보 보호 체계를 사용하여 레지스트리에 등록될 수 있습니다. 이더리움 요청 사항(ERC)-6538은 실제로 매우 강력하여 지갑이 여러 개인정보 보호 체계와 상호 운용될 수 있도록 한다는 것을 알고 있습니다.
CREATE2 스텔스 주소는 해당 주소에 저장된 자금이 회수될 때까지 다른 EOA와 구별할 수 없습니다. 자금 회수는 어느 시점에 이루어질 것입니다. 따라서 누군가가 체인을 스캔하여 사용된 스텔스 주소를 쉽게 찾고 프라이버시 풀로 유입된 자금을 추적할 수 있습니다.
물론 릴레이어에게 IP를 공개하는 문제가 있습니다.



