Ergo의 스텔스 주소
이 기사에서는 Ergo 블록체인 의 스텔스 주소 , 사용 이유, 기능 및 잠재적 구현에 대해 살펴보겠습니다 . Discord 및 GitHub의 EIP-41 풀 요청 에 대한 논의가 아직 진행 중이므로 여기에 설명된 구현이 구식이 될 수 있지만 현재 상태로는 인구 조사에 거의 도달한 것으로 보입니다.
Ergo의 스텔스 주소 구현은 포럼 kushti과 scalahub포럼 간의 토론에서 비롯되었습니다. 여기에서 확인하십시오 .
스텔스 주소란 무엇입니까?
스텔스 주소를 사용하면 개인 정보를 보호하는 거래를 할 수 있습니다. 기본적으로 Ergo(및 비트코인과 같은 대부분의 다른 블록체인)에서 이루어진 모든 지불은 원장을 보는 모든 사람이 볼 수 있으므로 누군가 귀하의 공개 주소를 알고 있으면 귀하가 받는 모든 지불을 추적할 수 있습니다. Monero와 같은 블록체인은 기본적으로 옵트아웃할 수 없는 방식으로 개인 정보가 보호되는 방식으로 모든 트랜잭션이 수행됩니다. Ergos 정신은 선택을 네트워크 사용자의 손에 맡기는 것입니다.
Ergo 선언 :
프라이버시는 개인을 위한 공간을 만들기 위해 장벽을 만들고 경계를 세우는 능력입니다. 그들이 만들기로 선택한 경계와 경계는 각자에게 달려 있습니다.
Ergo에서 스텔스 주소의 잠재적 사용 사례는 무엇입니까?
EIP-41 스텔스 주소를 사용하면 지불을 사용자 공개 주소에 연결할 수 있는 원장을 모니터링하는 사람 없이 사용자가 개인적으로 지불을 받을 수 있습니다. 비대화형 특성은 사용자가 스텔스 주소를 자유롭게 공유하고 추가 조치 없이 지불을 받을 수 있음을 의미합니다.
예를 들어 이를 설명하려면 다음을 수행하십시오.
- Bob은 자신의 Twitter 약력에 스텔스 주소를 게시합니다.
- Alice는 Bob에게 기부하기를 원하므로 Bob이 공개적으로 게시한 스텔스 주소를 사용하여 일부 ERG를 보냅니다.
- 아무도 Bob에게 지불한 금액을 연결할 수 없습니다.
스텔스 주소는 ErgoMixer와 같은 기존 솔루션과 어떻게 다릅니까?
언급한 스텔스 주소는 결제 영수증을 숨기기 위한 것이므로 결제를 난독화하는 혼합 서비스와 다릅니다 .
이전 섹션의 예를 들어 믹서를 사용하면 모든 사람이 여전히 Bob이 지불을 받았음을 볼 수 있지만 지불의 출처를 확인할 수는 없습니다.
이 두 개인정보 보호 옵션에는 고유한 사용 사례가 있습니다!
그들은 어떻게 작동합니까?
이 솔루션은 비대화형 Diffie Hellman 키 교환을 기반으로 하며 다음과 같이 진행됩니다.
- Bob은 공유할 공개 주소를 생성합니다. 여기서는 특별한 것이 없습니다. 이것은 일반 주소와 같습니다(우리는 현재 EIP의 일부로 새로운 P2PA Pay-to-public-app 주소 유형을 추가하여 스텔스 주소를 처리할 수 있도록 논의 중입니다. 지갑에서 원활하게).
- Alice는 공개적으로 공유된 주소를 사용하여 Bob의 자금을 보호하기 위해 스마트 계약에서 사용되는 임의의 값을 생성합니다.
const g = this.ec.g;
const u = bobsPublicAddress;
const r = new BN(rand(32));
const y = new BN(rand(32));
const r4 = g.mul(r);
const r5 = g.mul(y);
const r6 = u.mul(r);
const r7 = u.mul(y);
{
// ===== Contract Information ===== //
// Name: EIP-0041 Stealth address contract
// Version: 1.0.0
val gr = SELF.R4[GroupElement].get
val gy = SELF.R5[GroupElement].get
val ur = SELF.R6[GroupElement].get
val uy = SELF.R7[GroupElement].get
proveDHTuple(gr,gy,ur,uy)
}
const gr = BOX.r4
const gy = BOX.r5
const ur = BOX.r6
const uy = BOX.r7
const bobsSecret = publicAddress.secretKey
const boxIsSpendable = ur.eq(gr.mul(bobsSecret)) && uy.eq(gy.mul(bobsSecret))
전체 코드 예제
또한 일부 코드를 사용하려는 경우 발신자 또는 수신자의 관점에서 실제 시나리오를 실행하는 전체 코드 예제 도 있습니다 .
읽어 주셔서 감사합니다.

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































