작성자: @gyllone @Madao-3 @xiangxiecrypto
1. 소개
블록체인 개인 정보 보호 및 규제 준수는 @vbuterin 및 @ameensol 의 통찰력 있는 논문인 블록체인 개인 정보 보호 및 규제 준수: 실용 균형을 향하여 승인된 개인 정보 보호 풀에 대한 계몽적인 포럼 게시물 과 함께 중요한 작업에서 크게 영감을 받아 역동적인 변화를 경험하고 있습니다. 거래 프라이버시 유지와 규제 규범 준수 사이의 복잡한 균형을 이해하기 위한 기본 프레임워크를 마련했습니다. 이러한 리소스는 끊임없이 진화하는 블록체인 환경에서 개인 정보 보호와 규정 준수를 동기화하기 위한 과제와 실행 가능한 솔루션을 깊이 탐구합니다.
그들의 작업에서 중요한 점은 2세대 개인 정보 보호 프로토콜을 달성하기 위한 우리의 접근 방식에 중대한 영향을 미치는 '정직한 주소 세트' 개념입니다. 이 프레임워크에서 ASP(Association Set Provider)는 zk-credit 시스템 내에서 중요한 신용 촉진자로 등장하여 사용자의 신용도를 평가하고 증명하는 구조화된 접근 방식을 제공합니다. 한편, 멤버십 증명은 거래의 모든 참가자가 정직한 주소 집합의 일부임을 보장하여 프로토콜의 보안을 강화하고 사용자에게 더욱 안전하고 신뢰할 수 있는 환경을 제공합니다.
요약하자면, Buterin과 Soleimani의 작업은 개인 정보 보호와 규정 준수를 모두 유지하는 블록체인 시스템을 개발하는 접근 방식을 안내하는 데 중요한 역할을 했습니다. 이러한 개념을 우리 시스템에 통합함으로써 우리는 보다 안전하고 효율적이며 개인 정보를 보호하는 2세대 프로토콜을 만들 수 있었습니다.
2. 구성품
2.1 인프라
사용자의 대체 가능한 자산은 바이너리 머클 트리로 해시됩니다. 리프 노드가 임의의 자산이 리프의 슬롯을 차지할 때까지 상수 값 H'=\mathrm{Hash}(0) H ′ = H a s h ( 0 ) 으로 초기화되었다고 가정하면 리프 노드는 H= 로 업데이트되어야 합니다. \mathrm{Hash}(식별자 \ | \ 금액 \ | \ 약정) H = H a s h ( i d e n t i f i e r | 양 _ _ _ _ _ | com m i t m e n t ) , 여기서 식별자 식별자 는 이 자산 의 관련 태그 ( 예 : 사용자 주소)이고, 금액 은 자산 의 수량 입니다 . 리프 노드에 저장된 자산 및 커밋 = \ mathrm { Hash } ( secret ) com m i t m e n t = H a s h ( sec r e t ) , 비밀 secret 포함 자산을 소유한 사용자의 키입니다.
사용되지 않은 리프 노드 슬롯의 경우 사용자는 자산을 풀에 예치하고 자산과 약정을 제공하면서 슬롯을 가져갈 수 있습니다. 출금을 위해 사용자는 출금 금액, 새 리프 해시, 식별자 하위 집합 및 스나크 증명을 제공해야 합니다.
2.2 UTXO 증명
인출 메커니즘의 디자인은 UTXO 모델과 유사합니다. 사용자는 입력으로 사용할 자산을 나타내는 리프 노드 집합을 선택한 다음 남은 잔액을 출력으로 새 리프 노드에 해시합니다. 총 투입량과 산출량의 차이가 인출 금액입니다.
이제 ULO 소스 목록을 L L 이라고 가정합니다. 인덱스 i\in L i ∈ L 을 가진 각 ULO에 대해 먼저 그 존재를 확인한 후 다음과 같이 회로 내에서 해당 리프의 널파이어를 계산해야 합니다.
다음으로, 총 입력량이 회로 내 총 출력량과 동일하다는 것을 입증한 다음 리프 출력을 생성해야 합니다. 다음 방정식은 이를 나타냅니다.
여기서 amount_w a m o u n t w 는 출금 금액이고, amount_o a m o u n to 는 출금 금액입니다.
위의 과정에서 \{nullifier_i\}_{i\in L} { n u l l i f i e r i } i ∈ L , leaf l e a f , root r o o t 및 amount_w a m을 설정합니다. o u n t 는 Plonk 에 의해 구성된 회로의 공개 변수였습니다.
2.3 무죄의 증명
2.3.1 머클 증명이 아닌 이유
ZKT 네트워크의 무죄 증명은 입력이 사용자가 구성한 임의의 집합에서 나온다는 것을 입증하는 동시에 이 집합이 누구에게나 공개적으로 제공되도록 보장하는 데 있습니다. 일반적으로 세트는 새로운 머클 트리로 구성될 수 있으며 사용자는 각 입력이 머클 트리의 리프 노드이기도 함을 증명해야 합니다(실제로 Tornado Cash v2 및 프라이버시 풀과 같은 개인 정보 보호 중심 솔루션은 이러한 종류의 디자인을 채택했습니다. ).
분명히 세트가 작으면 사용자의 개인 정보가 손상됩니다. 집합이 너무 크면 해당 Merkle 트리를 생성하면 EVM에 막대한 가스 비용이 발생합니다. 왜냐하면 ZK 친화적인 해시 함수(Poseidon Hash)가 EVM에 의해 기본적으로 통합되지 않고 Merkle 트리를 생성하는 데 O(n) 해시의 복잡성이 있기 때문입니다.
이로써 우리는 Merkle Proof 대신 Plookup을 채택하여 멤버십 증명을 구성합니다. Plookup의 회원증명에는 크게 2 가지 장점이 있습니다.
증명 단계에서는 각 ULO에 대해 머클 증명을 수행할 필요가 없으므로 회로 크기가 크게 줄어듭니다.
검증 단계에서는 EVM에서 해시 작업을 수행할 필요가 없습니다. 타원 곡선 쌍은 하나만 필요합니다.
2.3.2 Plookup 임베딩
사용자가 소스 ULO에서 \mathbf{t} t 로 표시된 크기 mm m 의 식별자 세트를 제공한다고 가정하면 회로 크기 n n 의 크기를 충족할 때까지 \mathbf{t} t 세트를 0으로 채웁니다.
또한 q_{Ti}\cdot t_i = 0 q T i ⋅ t i = 0 을 충족하는 \mathbf{q_T} q T 를 정의합니다.
\mathbf{f} f를 쿼리 테이블로 둡니다.
여기서 c_i c i는 Plonk의 산술 게이트에 정의된 출력 증인이고, c_i c i가 식별자 증인을 나타낼 때 이를 활성화합니다. q_{Ki} q K i 는 조회 게이트를 켜거나 끄는 선택기입니다.
그런 다음 Plookup을 통해 \mathbf{f} f가 \mathbf{t} t 의 하위 집합임을 증명하면 됩니다.
검증 단계에서는 zk-SNARK 증명 검증 외에도 \{1, \omega, \omega^2, ..., \omega^{m-1 에서 \mathbf{t} t 의 개시 증명도 검증합니다. }\} { 1 , Ω , Ω 2 , . . . , Ω m − 1 } 을 사용하여 해시 연산 없이 \mathbf{t} t 에 있는 각 식별자의 정확성을 확인합니다.
3. 연관 세트 제공자
ASP(Association Set Provider) 메커니즘을 사용하면 제3자가 멤버십 목록을 감독할 수 있습니다. 증명자와 마찬가지로 ASP는 최종 사용자에게 증명 서비스를 제공합니다. 잠재적으로 입증되고 봉인된 데이터와 함께 관련 주소가 지정된 ASP 스마트 계약에 제출됩니다. ZKT 네트워크에서는 모든 주체가 ASP로 등록할 수 있습니다. 활용할 ASP의 선택은 최종 사용자와 Dapp의 선택에 따라 다릅니다.
데이터 범주는 ASP에 의해 정의될 수 있으며 신용 점수, KYC 결과 등과 같은 web2의 다양한 잠재적 데이터를 지원할 수 있습니다. 표준 TLS(전송 계층 보안) 프로토콜을 통해 얻은 모든 데이터를 증명합니다(예: HTTPS) 그리고 대량의 잠재적 데이터를 수용하려면 ASP 내에서 MPC-TLS 스타일 알고리즘을 사용하는 것이 좋습니다. DECO에서 처음 도입하고 PADO에서 크게 개선한 이 접근 방식은 이 문서 에서 자세히 설명합니다. 이 프레임워크 내에서 사용자는 다른 정보를 유출하지 않고도 데이터가 실제로 의도한 소스에서 유래했음을 입증인에게 증명할 수 있습니다.
다음 그림에는 기본 워크플로우가 나열되어 있습니다.
회원 목록에 데이터를 포함시키는 것은 임의적입니다. 이러한 유연성은 데이터 항목이 단순히 이진(예/아니요)일 수 있는 상황에서 발생합니다. 이러한 경우 스마트 계약은 YES로 표시된 주소를 허용하여 불필요한 데이터 항목을 생략할 수 있습니다. 그러나 봉인된 데이터에 추가적인 의미가 있는 경우 프로그래밍 가능성이 도입될 수 있습니다. 예를 들어 ASP는 사용자의 FICO 점수를 증명하고 암호화된 점수를 스마트 계약에 저장할 수 있습니다. 결과적으로 Dapp은 보다 적응 가능한 철회 조건을 고안할 수 있습니다. 예를 들어, FICO 점수가 높은 사용자는 더 많은 양의 토큰을 인출할 수 있는 반면, FICO 점수가 낮은 사용자는 더 적은 양의 토큰만 인출할 수 있습니다. 이는 다양한 애플리케이션을 설계할 때 더 높은 수준의 유연성을 제공합니다.
4. 클라이언트 측 가속 솔루션
ZKT 네트워크 시스템의 사용자 경험과 효율성을 향상시키기 위한 탐구에서 우리는 클라이언트 측 컴퓨팅 최적화에 중점을 두었습니다. 이러한 최적화는 사용자 장치의 계산 부담을 줄이고 거래 및 검증 프로세스를 가속화하는 데 중요합니다.
4.1 웹어셈블리 통합
WebAssembly(Wasm) 통합을 통해 사용자 브라우저에서 직접 복잡한 암호화 증명 생성 프로세스를 실행할 수 있습니다. Rust 코드를 WebAssembly로 컴파일함으로써 중앙 집중식 서버에 대한 의존도가 크게 줄어들고 시스템 응답성과 효율성이 향상되었습니다.
4.2 로컬 계산 최적화
4.2.1 거래 결정 논리
UTXO 모델에서 각 사용자의 자금은 암호화된 노트로 표시되며, 각 노트는 특정 자산 금액(예: ETH)에 해당합니다. 우리 시스템은 출금 요청을 이행하기 위해 적절한 NOTES 조합을 지능적으로 선택합니다. 예를 들어, 사용자가 1 ETH, 1 ETH, 2 ETH 및 3 ETH의 노트를 가지고 있고 2.5 ETH를 인출하려는 경우 당사 시스템은 자동으로 1 ETH, 1 ETH 및 2 ETH 노트를 활용합니다.
4.2.2 새로운 예금 증명의 생성
거래에 특정 노트를 활용한 후 당사 시스템은 남은 금액에 해당하는 새로운 예금 증명을 생성합니다. 이전 예를 계속하면 1 ETH, 1 ETH 및 2 ETH 노트를 사용한 후 1.5 ETH에 대한 새로운 예금 증명이 생성되어 거래 후 자금을 안전하고 효과적으로 관리할 수 있습니다.
4.2.3 Chrome 플러그인 및 iOS 앱 구현
이러한 계산 최적화를 달성하기 위해 우리는 Chrome 플러그인과 iOS 앱에 맞춤형 전략을 구현했습니다. Chrome 플러그인은 브라우저의 처리 기능을 활용하여 참고 선택 및 새로운 증명 생성 프로세스를 최적화합니다. 이와 대조적으로 당사의 iOS 앱은 멀티스레딩 기술을 사용하여 이러한 계산을 가속화하고 iOS 장치의 고성능 기능을 최대한 활용합니다.
4.3 캐싱 전략
우리는 중복 계산과 네트워크 요청을 줄이기 위해 캐싱 전략을 구현했습니다. 머클 트리의 일부와 같은 주요 데이터는 후속 트랜잭션이나 검증에서 빠른 검색을 위해 사용자 장치에 캐시되어 네트워크 트래픽을 줄이고 전반적인 시스템 성능을 크게 향상시킵니다.
4.4 사용자 경험 향상
마지막으로, 우리는 사용자 경험 향상에 중점을 두고 있습니다. 여기에는 기술적인 최적화뿐만 아니라 인터페이스 디자인의 개선도 포함됩니다. 우리는 사용자 인터페이스가 직관적이고 거래 프로세스가 원활하다는 것을 보장합니다. 실시간 피드백과 상세한 오류 메시지는 사용자의 신뢰와 만족도를 높여줍니다.
요약하자면, 당사의 클라이언트 측 가속 솔루션은 ZKT 네트워크 시스템의 성능을 향상시키기 위한 핵심 전략입니다. 이러한 기술 및 방법론적 적용을 통해 우리는 거래 속도와 효율성을 향상시킬 뿐만 아니라 사용자 경험을 최적화하여 ZKT 네트워크를 더욱 강력하고 사용자 친화적인 블록체인 개인 정보 보호 플랫폼으로 만듭니다.
5. 무슨 뜻인가요?
ZKT 네트워크에서는 블록체인 거래 개인 정보 보호와 글로벌 규정 준수 표준의 균형을 유지하여 기술 혁명을 선도한다는 원대한 비전을 실현하기 위해 최선을 다하고 있습니다. 우리의 혁신은 기술 영역을 넘어 개인 정보 보호와 규정 준수의 균형을 이루는 새로운 영역을 탐구합니다.
따라서 우리는 블록체인 분야의 연구원과 전문가를 우리 프로젝트에 적극적으로 초대하여 이 분야를 발전시키기 위한 피드백과 제안을 제공합니다. ZKT 네트워크는 보다 포괄적이고 효과적인 블록체인 개인 정보 보호 솔루션을 개발하기 위해 귀하의 전문적인 통찰력과 협력을 기대합니다.
또한 커뮤니티 구성원이 요구 사항에 따라 프레임워크를 기반으로 하는 혁신적인 애플리케이션을 탐색하도록 권장합니다. ZKT 네트워크는 여러분과 함께 미래를 상상하고, 함께 도전에 직면하며, 보다 안전하고 규정을 준수하며 혁신적인 블록체인 세계를 구축하기를 열망하고 있습니다.
ZKT 네트워크에서는 집단적 지혜와 협력적 노력을 통해 개인정보 보호와 규정 준수의 완벽한 통합을 달성하고 가능성으로 가득 찬 미래를 만들 수 있다고 믿습니다.
6. 요약
이 게시물에서는 블록체인 기술에서 개인정보 보호와 규제 준수 간의 균형을 달성하기 위한 접근 방식과 관행을 철저하게 살펴봅니다. 정직한 주소 집합, zk-credit 및 회원 증명의 혁신적인 응용 프로그램을 통합함으로써 규제 표준을 준수하면서 사용자 개인 정보를 유지하는 방법을 보여줍니다. 초점은 기술 및 시스템 아키텍처를 넘어 사용자 경험 성능의 엔지니어링 관행 및 향상을 포함하도록 확장됩니다. 우리의 목표는 탁월한 사용자 경험을 제공하는 안전하고 효율적인 블록체인 시스템을 구축하는 것입니다. 한 단계 더 발전한 이 2세대 개인 정보 보호 거래 프로토콜은 개인 정보 보호가 단순한 기능이 아닌 표준이 되는 더 나은 내일을 의미합니다.