ความเป็นส่วนตัวใน Ethereum - ที่อยู่ Stealth

ปัญหาความเป็นส่วนตัวของ Ethereum กําลังได้รับความสนใจมากขึ้นเรื่อย ๆ โดยเฉพาะอย่างยิ่งเมื่อความโปร่งใสในการทําธุรกรรมอาจเปิดเผยข้อมูลและกิจกรรมทางการเงินของผู้ใช้ เพื่อแก้ไขปัญหานี้ Stealth Addresses ได้รับการเสนอโดยมีจุดมุ่งหมายเพื่อให้แน่ใจว่าข้อมูลประจําตัวและรายละเอียดการทําธุรกรรมของผู้รับยังคงเป็นส่วนตัวโดยการสร้างที่อยู่ชั่วคราวที่ไม่ซ้ํากันสําหรับแต่ละธุรกรรม วิธีนี้ไม่ได้พึ่งพาโปรโตคอลความเป็นส่วนตัวของบุคคลที่สาม แต่เพิ่มความเป็นส่วนตัวโดยตรงในระดับโปรโตคอล อย่างไรก็ตามการใช้งาน Stealth Addresses ยังคงเผชิญกับความท้าทาย

การแนะนำ

จุดปวดที่สําคัญสําหรับผู้ใช้ crypto web3 คือการขาดความเป็นส่วนตัว ความจริงที่ว่าธุรกรรมทั้งหมดจะปรากฏในบัญชีแยกประเภทสาธารณะและมากขึ้นเรื่อย ๆ : เกี่ยวข้องกับชื่อ ENS เดียวที่อ่านง่ายเป็นสิ่งที่ทําให้ผู้ใช้ไม่สามารถทํากิจกรรมบางอย่างหรือทําให้พวกเขาทํากิจกรรมเหล่านั้นในลักษณะที่ส่งผลให้เกิดแรงเสียดทาน UX เพิ่มขึ้น ตัวอย่างหนึ่งคือการโอนเงินจากกระเป๋าเงินร้อนไปยังกระเป๋าเงินเย็นหรือในทางกลับกัน ผู้ใช้อาจไม่ต้องการให้กระเป๋าเงินใบหนึ่งเชื่อมโยงกับอีกกระเป๋าเงินหนึ่งเนื่องจากอาจไม่ต้องการให้เห็นยอดคงเหลือในกระเป๋าเงินเย็น ปัจจุบันที่อยู่ Ethereum ไม่ทํางานเหมือนบัญชีธนาคารส่วนตัวเพราะทุกคนสามารถเห็นกระเป๋าเงินของคุณและกิจกรรมทางสังคมของคุณมากขึ้นเรื่อย ๆ (SBTs, การรับรอง, กิจกรรมบน dapps ต่างๆ ฯลฯ ) ด้วยเหตุผลเหล่านี้เองที่ Vitalik เรียกความเป็นส่วนตัวว่าเป็นหนึ่งใน การเปลี่ยนแปลงทางเทคนิคสามอย่างใหญ่ที่ Ethereum ต้องผ่านเพื่อเป็นประโยชน์ต่อผู้ใช้ทั่วไป

การใช้โซลูชันความเป็นส่วนตัวที่มีอยู่แล้ว เช่น Tornado Cash เป็นประสบการณ์ที่ไม่ได้มีประสิทธิภาพสูงสุดสำหรับหลายเหตุผล หนึ่งคือ: ผู้ใช้จะกังวลอย่างถูกต้องเกี่ยวกับการให้ที่อยู่ของพวกเขาถูกเพิกถอนสีดำบนแพลตฟอร์มที่เป็นศูนย์กลางหรือแพลตฟอร์มอื่น ๆ อย่างชอบธรรมและอย่างที่ควร นอกจากนี้ ประสบการณ์ของผู้ใช้ในการจัดการกับบริการเช่น Tornado Cash ไม่ใช่เพียงแค่เข้ากันได้กับผู้ใช้ที่มีความเชี่ยวชาญสูงเท่านั้น แต่ยังไม่เป็นมิตรต่อผู้ใช้ทั่วไปอีกด้วย

ที่อยู่ลับให้วิธีการให้ผู้ใช้ได้เพื่อความเป็นส่วนตัวที่พวกเขาให้ความสำคัญกับบัญชีธนาคารส่วนตัวและในทางที่เข้าใจง่าย นอกจากนี้นวัตกรรมที่เกี่ยวกับที่อยู่ลับหมายถึงว่าเราสามารถทำได้ในทางที่เป็นไปได้ที่จะเป็นไปตามระเบียบข้อบังคับ AML ในเขตอาณาจักรหลายแห่ง

ความต้องการของผู้ใช้สำหรับความเป็นส่วนตัว

ในขณะที่การวิจัยเกี่ยวกับทัศนคติของผู้ใช้เว็บและ web3 ต่อการเปิดเผยข้อมูลส่วนบุคคลยังไม่มีอยู่อย่างแพร่หลาย แต่การวิจัยด้านล่างนี้ถูกค้นพบผ่านการค้นหาบนเว็บ และผลการวิจัยตรงกันอย่างกว้างขวาง และแสดงให้เห็นว่ามีความต้องการในการรักษาความเป็นส่วนตัวของการทำธุรกรรมอย่างชัดเจนอยู่

  1. การสำรวจที่ดำเนินการในปี 2022 และเผยแพร่โดย Simin Ghesmati และคณะในบทความชื่อ:ความเป็นส่วนตัวที่ผู้ใช้รับรู้ในบล็อกเชน, กล่าวว่า "ครึ่งหนึ่งของผู้ถามคำถามระบุว่าความเป็นส่วนตัวของธุรกรรมสำคัญมากแก่พวกเขา" ในขณะที่การวิจัยนี้เกี่ยวข้องกับ Bitcoin มากกว่า Ethereum นั้น มีความน่าจะเป็นว่าจะมีทัศนคติที่คล้ายกันของผู้ใช้ Ethereum ด้วย ขนาดตัวอย่างสำหรับการวิจัยนี้เล็กมากอย่างไรก็ตาม (14 ผู้เข้าร่วม)
  2. งานวิจัยอีกชิ้นที่น่าสนใจจากปี 2022 ที่เผยแพร่ในด้านหน้า, ได้ชื่อว่า ทัศนคติทางการเมือง การเศรษฐกิจ และการปกครองของผู้ใช้บล็อกเชนมีความครอบคลุมมากขึ้นโดยมีการสํารวจผู้ใช้ crypto 3,710 ราย ผลการวิจัยพบว่าประมาณหนึ่งในสี่ของผู้ตอบแบบสอบถามระบุว่าความเป็นส่วนตัวเป็น "คุณสมบัติที่สําคัญที่สุดของบล็อกเชนและคริปโต"

  1. ในเชิงทั่วไปในเรื่องการตั้งค่าความเป็นส่วนตัวConsensysเผยแพร่งานวิจัยชื่อการสำรวจ Web3 และสกุลเงินดิจิตอลระดับโลกปี 2023ซึ่งทางพวกเขาสำรวจคนออนไลน์ทั้งหมด 15,158 คน ใน 15 ประเทศเกี่ยวกับหัวข้อต่าง ๆ เกี่ยวกับเว็บ และไม่ใช่แค่เรื่องคริปโต สำรวจพบว่า 83% ของผู้ตอบสนองคิดว่าความเป็นส่วนตัวของข้อมูลเป็นสิ่งสำคัญ ในขณะที่เพียง 45% ของผู้ตอบสนองระบุว่าพวกเขาวางใจว่าบริการอินเตอร์เน็ตปัจจุบันจะใช้ข้อมูลและข้อมูลส่วนตัวของพวกเขา
  2. A การสํารวจที่จัดทําโดย Financial Services Compensation Scheme ของสหราชอาณาจักรตีพิมพ์ในเดือนเมษายน 2023 ได้เน้นว่า 9% ของผู้ตอบแสดงว่า "ความปรารถนาสำหรับความไม่เปิดเผย / ความเป็นส่วนตัว" เป็นเหตุผลในการลงทุนในสกุลเงินดิจิทัล

การนำไปใช้ของโปรโตคอลการทำธุรกรรมอย่างลับหลัง

Railgunมีจำนวนที่น่าประทับใจโดยการใช้โปรโตคอลที่ดูเหมือนจะเติบโตอย่างต่อเนื่องตลอดเวลา พบจุดสูงสุดของ TVL มากกว่า 70 ล้านดอลลาร์และมูลค่ารวมกว่า 2 พันล้านดอลลาร์ ตามฐานะปัจจุบันในเดือนพฤศจิกายน พ.ศ. 2567

TVL (USD) Railgun บน Ethereum main - ที่มา: ​​Railgun — DefiLlama

Umbraยังเห็นการเพิ่มขึ้นอย่างต่อเนื่องของผู้ใช้โปรโตคอล (ผู้ลงทะเบียนที่อยู่ลับไปยัง ENS ของพวกเขา) โดยมีจำนวนเกือบ 77,000 คน ตามล่าสุดในเดือนพฤศจิกายน 2024:

ผู้ลงทะเบียนสะสม Umbra (跨链)— แหล่งที่มา: dune.com

หากเรามองไปที่โปรโตคอลความเป็นส่วนตัวที่มีชื่อเสียงที่สุด (และตอนนี้น่าเสียดาย) ใน Ethereum ซึ่งคือ Tornado cash เราจะเห็นได้ว่ายังคงมีการใช้งานอย่างมีนัยสำคัญ ถึงแม้ว่าที่อยู่ของสัญญาจะอยู่บนรายการ SDN ของ OFAC จากด้านเทคนิค

แผนภูมิด้านล่างแสดง TVL ของ Tornado Cash เมื่อเวลาผ่านไป เราสามารถสังเกตได้ว่าการลดลงครั้งใหญ่ครั้งแรกใน TVL จากจุดสูงสุดในประมาณเดือนตุลาคม 2021 เกิดขึ้นพร้อมกับการขายที่กว้างขึ้นในตลาด crypto โดยมีการลดลงครั้งใหญ่ครั้งที่สองในเดือนสิงหาคม 2022 ซึ่งสอดคล้องกับ OFAC ที่วาง Tornado Cash ไว้ในรายการ SDN และการลดลงครั้งใหญ่ครั้งที่สามที่สอดคล้องกับการออกแบบใหม่ของ OFAC ในเดือนพฤศจิกายน 2022 อย่างไรก็ตาม ตั้งแต่นั้นมา Tornado Cash ก็มีการเติบโตอย่างต่อเนื่องแม้จะมีการคว่ําบาตรโดยสูงถึง 600 ล้านดอลลาร์ใน TVL นี่เป็นหลักฐานที่ค่อนข้างชัดเจนว่ามีความต้องการความเป็นส่วนตัวในการทําธุรกรรมขั้นพื้นฐานใน Ethereum

TVL (USD) Tornado Cash บน Ethereum main — แหล่งที่มา: Tornado Cash — พันธมิตร DefiLlama

ภูมิทัศน์ของที่อยู่แอบอยู่

การวิจัยนี้ได้ระบุ 4 วิธีหลักสำหรับเครือข่าย EVM ในการใช้งานจริงในปัจจุบัน นั่นคือ:

ทั้ง Fluidkey และ Umbra ขึ้นอยู่บนมาตรฐาน Ethereum ซึ่งคือ:

Labyrinth และ Railgun มีพื้นฐานบน โปรโตคอล ZeroCash(ซึ่ง zcashเช่นเดียวกับ (Ethereum ที่พื้นฐานอยู่บน) ซึ่งใช้ชุดคุ้มครองที่ผู้ใช้มัดจำเงินไว้ Zerocash ใช้แนวคิดของ "บันทึก", ซึ่งเป็นพื้นที่แสดงความมีค่าทางกฎของความเป็นส่วนตัว แต่ละบันทึกรวมถึงค่าที่ซ่อนอยู่, กุญแจเจ้าของ, และหมายเลขที่ไม่ซ้ำกัน (nullifier) โดยใช้ zk-SNARKs เพื่อยืนยันการเป็นเจ้าของโดยไม่เปิดเผยรายละเอียด และเพื่อโอนค่าในบันทึก ตอนที่บันทึกรายการถูกใช้จ่าย หมายเลข nullifier ของมันจะถูกเปิดเผยเพื่อป้องกันการใช้จ่ายซ้ำ ในขณะที่บันทึกใหม่จะถูกสร้างขึ้นสำหรับผู้รับเงิน เป็นระบบ UTXO ภายในชุดคุ้มครอง

ในระดับสูง, ที่อยู่แบบลับทำงานตามหลักการพื้นฐานที่สามารถส่งเงินให้กับที่อยู่ที่ไม่เคยมีอยู่มาก่อน แต่ผู้รับที่ตั้งใจสามารถรับทราบและควบคุมได้ (กล่าวคือสามารถใช้จ่ายเงินเหล่านั้นในภายหลัง)

มาตรฐาน erc-5564 ระบุกลไกที่ผู้รับสามารถเผยแพร่ stealth-meta-address ได้ จากนั้นสามารถสร้างที่อยู่ Ethereum ใหม่จาก stealth-meta-address และอนุญาตให้ผู้รับทราบเรื่องเงินทุนเหล่านี้โดยไม่ต้องมีการสื่อสารโดยตรงเลย การปฏิบัติ stealth address ทั้งหมดทำงานบนหลักนี้

วิธีทำงานของ Stealth Addresses

ที่อยู่เมต้าแบบส่วนหนึ่งเป็นพื้นที่ที่เชื่อมต่อของ 2 คีย์สาธารณะที่ถูกบีบอัดเรียกว่า “spending key” และ “viewing key” ที่อยู่เมต้าแบบส่วนหนึ่งใช้รูปแบบที่อยู่พิเศษสำหรับเชือมต่อฟอร์แมต EIP-3770 พร้อมกับตัวอักษรนำหน้า “st:” ต่อไปนี้คือตัวอย่างของที่อยู่เบียร์

st:eth:0x036ffa94a70a5b9608aca693e12da815fe0295f3739c7b22b0284c6d85c464ba4a02c0521b6fe31714b2ca0efa159402574355b754e0b50406b0b5fb33128eec3507

เพื่อความเรียบง่ายที่อยู่ซ่อนตัวนี้สามารถเชื่อมโยงกับที่อยู่ Ethereum ปกติ (และดังนั้นจึง ENS) ทําให้ง่ายต่อการส่งเงินไปยังเจ้าของที่อยู่ซ่อนตัว ในการส่งเงินผู้ส่งจะแก้ไขที่อยู่ข้างต้นและการใช้มาตรฐาน EIP-5564 จะสร้างคีย์สาธารณะชั่วคราวซึ่งพวกเขาจะได้รับที่อยู่ซ่อนตัว ผู้ส่งจะส่งเงินไปยังที่อยู่การลักลอบใหม่ซึ่งโดยปกติจะผ่านสัญญา singleton ที่ผู้รับที่อยู่ที่ซ่อนตัวทั้งหมดฟังเหตุการณ์ สัญญานี้ปล่อยเหตุการณ์ "ประกาศ" ที่ผู้รับสมัครสมาชิก ทุกครั้งที่มีการปล่อยกิจกรรมประกาศผู้รับจะตรวจสอบคีย์สาธารณะชั่วคราวในประกาศรวมกับคีย์ส่วนตัวที่ดูและพิจารณาว่าพวกเขามีความสามารถในการใช้จ่ายเงินที่ส่งไปยังที่อยู่ซ่อนตัวหรือไม่ หากเป็นเช่นนั้นกระเป๋าเงิน / ลูกค้าที่พวกเขาใช้จะจดจําที่อยู่ซ่อนตัวและเงินที่เกี่ยวข้องเพิ่มลงในยอดคงเหลือที่แสดงของผู้ใช้ หากต้องการใช้เงินจริงพวกเขาสามารถลงนามในธุรกรรมโดยใช้คีย์การใช้จ่ายส่วนตัว

แผนภาพต่อไปนี้กำหนดกระบวนการจบลงสิ้นสุดของหวังว่าจะชัดเจนมากขึ้น

โปรดระลึกว่ากระบวนการนี้เกิดขึ้นอย่างไม่มีการสื่อสารแบบอินเทอร์แอคทีฟทั้งหมด นั่นหมายความว่าผู้ส่งและผู้รับจะไม่มีการสื่อสารโดยตรงใด ๆ ซึ่งหมายความว่าไม่มีการเชื่อมโยงใด ๆ เลยระหว่างผู้ส่งและผู้รับที่บุคคลที่สามใด ๆ สามารถสังเกตได้

อย่างไรก็ตามเพื่อให้งานนี้สามารถทำงานได้ในที่แรกผู้รับจำเป็นต้องทำให้ทราบที่อยู่แบบซ่อนของตัวเองแก่ผู้ส่งeip-6538 Stealth Meta-Address Registry. นี่คือสัญญาเดี่ยวที่อนุญาตให้ผู้ใช้ลงทะเบียนที่อยู่มีตาซ่อนเพื่อให้เป็นที่อยู่ Ethereum ธรรมดาที่ผู้ส่งสามารถค้นหาได้ นี่จะทำให้ผู้ส่งสามารถแก้ไขที่อยู่ธรรมดาจาก ENS และจากนั้นค้นหาที่อยู่มีตาซ่อนที่เกี่ยวข้องจากทะเบียน

แผนการนี้ทำให้มีการแยกการเชื่อมโยงระหว่างผู้ส่งและผู้รับ ซึ่งช่วยให้ทั้งสองฝ่ายมีความเป็นส่วนตัวจากโลกทั้งหมดที่รู้เกี่ยวกับธุรกรรมของพวกเขา แต่มีข้อจำกัดบางอย่าง:

  • เมื่อผู้รับจะใช้เงิน ผู้ที่พวกเขาโอนเงินให้ก็จะเห็นว่ามันเกิดจากผู้ส่งเดิม (คือพวกเขาสามารถดูที่อยู่ที่เงินถูกโอนมาจากและใครเคยส่งเงินไปยังที่อยู่นั้น) สิ่งที่นี่หมายความว่าโซ่การโอนยังคงเป็นอยู่และสามารถติดตามได้ แต่พวกเขาก็ไม่ได้เชื่อมโยงกับผู้รับเงินนั้นโดยตรง (นอกจากผู้รับเงินจะทำอะไรเช่นส่งเงินไปยังหนึ่งในที่อยู่ที่ไม่ใช่ stealth address ที่รู้จักของพวกเขา) โปรดทราบว่าสิ่งนี้ใช้กับการนำไปใช้กับ erc-5564 เท่านั้นไม่ใช่ Railgun หรือ Labyrinth
  • ผลข้างเคียงหนึ่งของปัญหาด้านบนคือเพื่อรักษาความเป็นส่วนตัวให้ดียิ่งขึ้น ผู้ใช้จะต้องเว้นเงินไว้ในที่อยู่แบบลับที่ถูกส่งมาต้นฉบับจนกว่าจะต้องการใช้งานจริง แทนที่จะรวมเงินไว้ในที่อยู่เดียวกัน นี่จะเป็นการเพิ่มความจำเป็นในการจดจำที่อยู่ และต่อมาจะใช้เงินในที่อยู่เหล่านั้น เนื่องจากจำนวนเงินที่คุณต้องการโอนจะต้องมาจากการรวมกันของเงินในที่อยู่อื่น ๆ หลายแห่ง
  • เพื่อโอนเงินจากที่อยู่นี้ ผู้รับจะต้องเติมเงินให้กับที่อยู่ด้วย ETH เพื่อชำระค่าแก๊ส ซึ่งอาจทำให้เจาะสิทธิ์ของผู้รับได้ นี่เป็นปัญหาที่รู้จักกับที่อยู่แบบลับและเป็นเหตุผลหนึ่งที่นับจำนวน สิ่งที่บริการที่ดำเนินการมีการสนับสนุน eip-4337 และ paymaster
  • ข้อเสียเปรียบประการหนึ่งของโครงการที่อยู่ซ่อนตัวคือผู้รับต้องตรวจสอบบล็อกเชนสําหรับกิจกรรมการประกาศและตรวจสอบทุกประกาศเพื่อดูว่าพวกเขาได้รับเงินหรือไม่ เห็นได้ชัดว่านี่เป็นค่าใช้จ่ายที่ทําไม่ได้สําหรับผู้ใช้ส่วนใหญ่โดยเฉพาะอย่างยิ่งเมื่อต้องรับเงินในหลายเครือข่าย เพื่อให้กระบวนการนี้มีประสิทธิภาพมากขึ้นมาตรฐานจะระบุ "แท็กมุมมอง" ซึ่งเป็นแฮชที่ถูกตัดทอนซึ่งได้มาจากความลับที่ใช้ร่วมกันและสามารถใช้เพื่อละทิ้งธุรกรรมที่ไม่ได้มีไว้สําหรับพวกเขาอย่างรวดเร็ว ด้วยการใช้ viewtags ประสิทธิภาพไม่ได้แย่บนเดสก์ท็อปอย่างไรก็ตามอาจสังเกตเห็นได้ชัดเจนขึ้นบนอุปกรณ์มือถือ ครั้งเดียวที่ประสิทธิภาพการทํางานจะสังเกตเห็นได้ชัดเจนคือหากกระเป๋าเงินกําลังได้รับการกู้คืนซึ่งในกรณีนี้กระเป๋าเงินจะต้องสแกนผ่านทุกที่อยู่ตั้งแต่มีการปรับใช้สัญญาแบบ on-chain ซึ่งใช้เวลานาน
  • เพื่อหลีกเลี่ยงสิ่งนี้ผู้ใช้สามารถเลือกที่จะแชร์กุญแจการดูแบบส่วนตัวกับบุคคลที่ไว้วางใจ บริการบุคคลที่สามนี้สามารถตรวจสอบเครือข่ายต่างๆ และสามารถแจ้งให้ผู้ใช้ทราบเมื่อพวกเขาได้รับเงิน แน่นอนว่านี้มาพร้อมกับการแลกเปลี่ยน: หรือบริการบุคคลที่สามไม่สามารถใช้เงินของผู้ใช้จริงๆ (พวกเขาไม่มีกุญแจการใช้จ่ายส่วนตัวที่จะทำเช่นนั้น) พวกเขาสามารถเห็นเงินทั้งหมดที่ส่งไปยังผู้รับที่กำหนดไว้ ซึ่งหมายความว่าผู้ใช้จำเป็นต้องไว้วางใจพวกเขาเกี่ยวกับความเป็นส่วนตัวของพวกเขา Fluidkey ทำเช่นนี้โดยค่าเริ่มต้น
  • โปรโตคอลที่มีที่อยู่ลับมาตรฐาน เช่น ERC-5564 ถูกออกแบบมาเพื่อให้สะดวกต่อการโอนที่คุ้มค่าของความเป็นส่วนตัว อย่างไรก็ตาม กรณีการใช้งานที่ไม่ใช่ทางการเงินเช่นการเรียกใช้งานฟังก์ชันสัญญาอัจฉริยะที่สุ่มเกิด ต้องการวิศวกรรมเพิ่มเติมบ้าง และมักเป็นการประมวลผลในระบบที่เฉพาะเจาะจง

เมทริกซ์เปรียบเทียบ

มีวิธีหลายวิธีที่เราสามารถเปรียบเทียบสี่รูปแบบของ stealth addresses ที่โพสต์นี้สำรวจ การปฏิบัติทั้งหมดมีความแตกต่างเล็กน้อยและแลกเปลี่ยน แต่สิ่งที่สำคัญที่สุดคือการติดตามและการเปรียบเทียบค่าที่อับอายในบางส่วน

ในขณะที่ทั้ง Fluidkey และ Umbra อนุญาตให้โอนเงินไปยังที่อยู่ Ethereum มาตรฐานในขณะที่ทําลายการเชื่อมโยงใด ๆ กับตัวตนของผู้รับพวกเขายังคงรักษาความสามารถในการตรวจสอบย้อนกลับของธุรกรรมซึ่งหมายความว่าผู้ส่งสามารถมองเห็นได้สําหรับทุกคนที่ตรวจสอบประวัติการทําธุรกรรมของที่อยู่ซ่อนตัว ซึ่งหมายความว่าหากคุณได้รับเงินตามที่อยู่ซ่อนตัวบุคคลที่คุณตัดสินใจส่งเงินเหล่านั้นไปจะดูว่าพวกเขามาจากไหน นอกจากนี้ยังมองเห็นมูลค่าที่แท้จริงที่ถูกโอนได้อีกด้วย Railgun และ Labyrinth ซ่อนผู้ส่งรวมถึงมูลค่าที่ส่ง แต่ด้วยการแลกเปลี่ยนว่าทั้งหมดนี้เกิดขึ้นภายในสัญญาเดียวและไม่ใช่ธุรกรรมปกติไปยังที่อยู่ Ethereum ปกติ

รูปด้านล่างแสดงวิธีที่โปรโตคอลที่เราดูในโพสต์นี้เปรียบเทียบกันในสองมิติที่สําคัญของการเปรียบเทียบ

เพื่อศึกษาความแตกต่างในรายละเอียดเล็กน้อยมากขึ้น ด้านล่างคือเมทริกซ์เปรียบเทียบของโปรโตคอล stealth address สี่รายการ ในหกมิติหลัก

  1. ความเป็นส่วนตัวที่สมบูรณ์ตั้งแต่จุดเริ่มต้นจนถึงจุดสิ้นสุด (เฉพาะผู้ส่งและผู้รับเท่านั้นที่เห็นการชำระเงิน)
  2. ความลับทางด้านหน้า การส่งเงินที่ได้รับผ่านธุรกรรมล่องหนที่ไม่อนุญาตให้ผู้รับคนที่สองเห็นว่าเงินมาจากที่ใด
  3. ตามมาตรฐาน erc-5564 และ erc-6538
  4. ใช้สถาปัตยกรรมโมดูลาร์ที่ขยายได้ซึ่งช่วยให้สามารถทํางานร่วมกับ dapps ของบุคคลที่สามได้
  5. การใช้งานมี SDK ที่นักพัฒนาสามารถใช้เพื่อผสานรวมได้หรือไม่
  6. โซลูชันนี้มีระดับการปฏิบัติตามผ่านการสนับสนุนการยกเลิกการเป็นนิรนามหรือไม่?
  7. การออบสเคชันของการโอบสเคชันของจำนวน / มูลค่าที่กำลังถูกโอนรองรับหรือไม่?

| Protocol | E2E Privacy | Forward Secrecy | Open Standard | Modular Architecture | SDK | การสนับสนุนการถอดรหัสสำหรับการฆ่าบุคคล | จำนวนที่ซ่อนอยู่ |

|—————-|——————-|————————-|————————|———————————|———|—————————————|————————|

| Umbra | ✅ | ⛔️ | ✅ | ⛔️ | ⛔️ | ⛔️ | ⛔️ |

| Fluidkey | ⛔️ | ⛔️ | ✅ | ✅ | ใกล้จะมาเร็วๆนี้ | ✅ | ⛔️ |

| Labyrinth | ✅ | ✅ | ⛔️ | ✅ | ✅ | ✅ | ✅ |

| Railgun | ✅ | ✅ | ⛔️ | ✅ | ✅ | อิสระ | ✅ |

บางส่วนของความละเอียดและความแตกต่างอื่น ๆ ถูกจับตามอยู่ในส่วนต่อไปนี้ การปฏิบัติแต่ละรูปแบบมีความแตกต่างที่น่าสนใจที่อาจจะทำหรือไม่ทำความแตกต่างขึ้นอยู่กับกรณีการใช้งานของคุณ

ตัวอย่างเช่นใน Fluidkey: การโอนเงินทั้งหมดจะไปยังที่อยู่เบี้ยวบนเชื่อมต่อโดยตรงบนเชือกโซ่ ในทางตรงกันข้าม Umbra: เฉพาะ ETH เท่านั้นที่ไปยังที่อยู่เบี้ยวบนเชื่อมต่อโดยตรงบนเชือกโซ่ ในขณะที่โทเค็นจะไปยังสัญญากลาง และด้วย Railgun และ Labyrinth ธุรกรรมทั้งหมดจะไปยังสัญญาหลักไม่ไปยังที่อยู่เบี้ยวบนเชื่อมต่อโดยตรงบนเชือกโซ่

การพิจารณาลึกลงในการนำ Stealth Address ไปใช้งานได้จริง

ฟลูอิดคีย์

Fluidkeyเป็นการปรับใช้ erc-5564 ซึ่งอนุญาตให้ผู้ใช้ส่ง รับ สลับ และสะพาน ETH และตั๋ว erc-20 ขณะที่เขียน Fluidkey ถูกนำไปใช้บน Base, Optimism, Arbitrum, Polygon, Gnosis, และ Ethereum mainnet

ผู้ใช้จะทำการจับคู่กับ Fluidkey ผ่านการใช้งานผ่าน UI บนเว็บไซต์ของพวกเขา โดยเมื่อพวกเขาล็อกอินครั้งแรกโดยใช้กระเป๋าสตางค์ของพวกเขา พวกเขาจะลายลงข้อความสร้างกุญแจจากที่ได้มาจากจุดมุ่งหมายและการใช้จ่าย กุญแจเหล่านี้เหมือนกันจะถูกสร้างใหม่ในทางเดียวกันทุกครั้งที่ผู้ใช้เข้าใช้แอปพลิเคชัน

มีวิธีที่ Fluidkey แตกต่างจากการทำงานอย่างอื่น ๆ หลายวิธี วิธีที่ Fluidkey แตกต่างจากการทำงานอื่น ๆ ของ stealth addresses คือผู้ใช้แบ่งปันกุญแจการดูส่วนตัวของพวกเขากับ Fluidkey (ซึ่งจริง ๆ แล้วBIP-32โหนดที่ได้รับจากคีย์ที่เจ้าพูดอยู่ในตำแหน่งที่จะเป็นคนเอาง่าย นี้ช่วยให้ Fluidkey สามารถสร้างที่อยู่แบบจางหรือซ่อนไว้สำหรับผู้ใช้ได้และยังแจ้งให้ผู้ใช้ทราบเมื่อพวกเขาได้รับการชำระเงินเข้าสู่ที่อยู่เหล่านั้น แต่นั่นหมายความว่า Fluidkey อยู่ในตำแหน่งที่จะดูธุรกรรมที่เข้ามาและยอดคงเหลือของผู้ใช้ได้ซึ่งเป็นการแลกเปลี่ยน อย่างไรก็ตาม มันยังคงเป็นการรักษาหน้าที่แบบเองโดยสมบูรณ์

อดีตที่น่าสนใจหนึ่งของการออกแบบของ Fluidkey คือการใช้บัญชีสัญญาอัจฉริยะกับที่อยู่แอบแฝงใหม่ทุกที่ สิ่งนี้เกิดขึ้นในเชิงกับความเป็นจริงเท่านั้นเมื่อมีการใช้เงินจากที่อยู่แอบแฝง บัญชีอัจฉริยะเป็นบัญชี Safe 1/1 และอนุญาตให้ใช้สิ่งต่าง ๆ เช่นการสนับสนุนแก๊ส ทำให้ง่ายต่อการจัดการที่อยู่แอบแฝงต่าง ๆ รายละเอียดอย่างละเอียดมีอยู่ใน คำอธิบายเทคนิค.

แม้ว่า Fluidkey จะมีการแลกเปลี่ยนการรักษาการมองเห็นบัญชีของผู้ใช้ แต่สิ่งนี้อาจเป็นข้อได้เปรียบเมื่อพูดถึงการปฏิบัติตามข้อกําหนดแม้ว่ากรอบการทํางานที่แน่นอนสําหรับวิธีที่ Fluidkey จะจัดการกับสิ่งต่างๆเช่นคําขอบังคับใช้กฎหมายที่อาจเกิดขึ้นในอนาคตยังไม่เปิดเผยต่อสาธารณะ อย่างไรก็ตามพวกเขาตั้งอยู่ในสวิตเซอร์แลนด์และในขณะที่พวกเขาต้องปฏิบัติตามกฎหมายท้องถิ่นกฎหมายคุ้มครองข้อมูลมีความชัดเจนและแข็งแกร่งมาก - จะต้องมีกรณีที่ชัดเจนมากในการแบ่งปันข้อมูลและจะต้องได้รับการพิจารณาจากศาลด้วย (ดูโพสต์นี้สำหรับภาพรวมที่ยอดเยี่ยมของกฎหมายความเป็นส่วนตัวในสวิส

ผู้ใช้ยังมีอิสระในการส่งออกธุรกรรมหรือแบ่งปันคีย์การดูกับบุคคลที่สาม (เช่นนักบัญชีของพวกเขา) ซึ่งอาจเป็นประโยชน์อย่างยิ่งโดยเฉพาะสําหรับธุรกิจ อย่างไรก็ตามควรระลึกไว้เสมอว่าด้วยข้อมูลจําเพาะ ERC-5564 การแบ่งปันคีย์สาธารณะคือ "ทั้งหมดหรือไม่มีเลย" ซึ่งหมายความว่าไม่สามารถเปิดเผยธุรกรรมแต่ละรายการได้ด้วยตัวเอง นอกจากนี้เช่นเดียวกับการใช้งานทั้งหมดของ erc-5564 ความสามารถในการตรวจสอบย้อนกลับจะไม่เสียหาย - เพียงแค่เชื่อมโยงไปยังผู้ใช้ - ซึ่งหมายความว่าประวัติการทําธุรกรรมของที่อยู่ซ่อนตัวแต่ละรายการจะถูกเปิดเผยต่อใครก็ตามที่มีคีย์การดู คุณลักษณะหนึ่งที่ไม่ค่อยมีใครรู้จักของ Fluidkey ที่ช่วยลดการแลกเปลี่ยนเหล่านี้คือความสามารถในการหมุนปุ่มดูซึ่งจะช่วยให้ผู้ใช้สามารถใช้คีย์การดูใหม่ทุกเดือนและแบ่งปันการเข้าถึงมุมมองไปยังเดือนที่เฉพาะเจาะจงกับบุคคลที่สามเท่านั้น

ประโยชน์ที่ดีอย่างหนึ่งของวิธีการของ Fluidkey คือที่อยู่ที่ซ่อนตัวนั้นไม่ได้ถูกสร้างขึ้นโดยผู้ส่ง แต่สร้างขึ้นโดย Fluidkey เองหลอกแบบสุ่มทุกครั้งที่มีการสอบถาม ENS สิ่งนี้เร็วกว่ามากเนื่องจากผู้ใช้ไม่ต้องสแกนผ่านเหตุการณ์การประกาศเพื่อระบุธุรกรรมที่พวกเขาเป็นผู้รับ นอกจากนี้ยังหมายความว่าผู้ส่งไม่จําเป็นต้องมีกระเป๋าเงินที่อยู่แบบซ่อนตัวเพื่อสร้างที่อยู่ซ่อนตัวสําหรับผู้รับ - พวกเขาเพียงแค่ส่งเงินไปยังที่อยู่เช่นเดียวกับที่อยู่อื่น ๆ และนั่นแหล่ะ นอกจากนี้ยังหมายความว่าไม่มีสัญญาการลงทะเบียนที่เกี่ยวข้องซึ่งเป็นเอกลักษณ์ของการออกแบบของ Fluidkey และเป็นข้อได้เปรียบที่สําคัญ

คุ้มค่าที่จะบอกว่า Fluidkey มุ่งมั่นที่จะเป็นเจ้าของเองอย่างสมบูรณ์ และพวกเขาได้เปิดตัวไลบรารี Stealth Account Kit ของพวกเขาเป็นโอเพนซอร์ส และยังมีอินเตอร์เฟซการกู้คืนที่พัฒนาอย่างอิสระหลายรายให้ใช้งานในกรณีที่ Fluidkey หายไปอย่างไม่คาดคิด ซึ่งหมายความว่าเงินจะไม่ถูกล็อคหรือติดอยู่

การนำเสนอที่อยู่

โดยใช้บัญชีสมาร์ทคอนแทร็กต์ในรูปแบบ counterfactually, Fluidkey สามารถแยกการจัดการของที่อยู่สำเภาแต่ละรายให้เป็นอัตโนมัติได้ นั่นหมายความว่าหากคุณต้องการโอนจำนวนเงินเฉพาะไปยังผู้รับที่แน่นอนจากยอดคงเหลือของคุณที่ต่างหาก stealth addresses, Fluidkey สามารถหาวิธีการใช้ส่วนผสมของที่อยู่เพื่อใช้เงินสำหรับการโอนได้อัตโนมัติโดยจัดการค่าแก๊สและการถ่ายโอนสัญญา, ทั้งหมดนี้เป็นภายในเครื่องหมายความบันเทิง Fluidkey ยังช่วยให้ผู้ใช้สามารถควบคุมการรวมที่อยู่โดยใช้คุณสมบัติที่เก๋ๆ ที่เรียกว่าป้ายชื่อ ซึ่งช่วยให้ผู้ใช้สามารถแท็กที่อยู่ในหมวดหมู่ต่างๆได้

การแก้ไข ENS

Fluidkey ต้องการผู้ใช้สร้างชื่อ ENS ที่เฉพาะเจาะจงสำหรับ Fluidkey ชื่อเหล่านี้จะมีรูปแบบที่แน่นอน คือ username.fkey.id และ username.fkey.eth ซึ่งหนึ่งเป็น URL เพื่อส่งเงินให้กับผู้อื่นผ่านอินเทอร์เฟซเว็บ และอีกอันเป็นชื่อ ENS มาตรฐานที่สามารถใช้กับกระเป๋าสตางค์ได้

การตั้งค่า ENS ใช้ENS ตัวแก้ไข offchain (aka erc-3668: อ่าน CCIP) เพื่อส่งคืนที่อยู่ที่ซ่อนเร้น ทุกครั้งที่มีการสอบถามตัวแก้ไขนอกเครือข่ายมันจะสร้างและส่งคืนที่อยู่ซ่อนตัวใหม่สําหรับชื่อ ENS ที่เกี่ยวข้อง นี่เป็นคุณสมบัติที่ดีเนื่องจากช่วยให้ผู้ใช้มีชื่อ ENS ที่มนุษย์อ่านได้เพียงชื่อเดียวในขณะที่ยังคงรักษาความเป็นส่วนตัวของที่อยู่ซ่อนตัวเนื่องจากที่อยู่ซ่อนตัวที่สร้างขึ้นไม่สามารถเชื่อมโยงกับชื่อ ENS ย้อนหลังได้

ต้นทุน

Fluidkey ใช้งานได้ฟรีและไม่เรียกเก็บค่าธรรมเนียม มีค่าใช้จ่ายในการปรับใช้สัญญาที่ปลอดภัยไปยังที่อยู่ทุกแห่งที่มีเงินเมื่อคุณต้องการใช้เงินเหล่านั้น อย่างไรก็ตามในขณะที่ค่อนข้างแพงบน mainnet ใน L2s มันค่อนข้างเล็กน้อยโดยปกติจะน้อยกว่า 1 เซ็นต์แม้ว่าจะรวมที่อยู่ซ่อนตัวหลายรายการไว้ในการถ่ายโอนครั้งเดียวก็ตาม

พวกเขายังสามารถรับการสนับสนุนแก๊สผ่านการติดตั้งที่ปลอดภัย - พวกเขาคำนวณว่าการใช้แก๊สจะเสียเท่าไร และเหลือจากยอดคงเหลือของผู้ใช้ แม้ว่าจะเป็นโทเค็น - ในกรณีนี้ผู้ถือสิทธิ์จะติดตั้ง Safe และโอนโทเค็นแทนผู้ใช้

Umbra Cash

Umbra เป็นการปรับใช้ eip-5564 + eip6538 โดย Scopeliftเมื่อผู้ใช้เข้าสู่แอป Umbra, พวกเขาจะผ่านขั้นตอนการตั้งค่าในนั้นพวกเขาทำการลงชื่อเข้าใช้ข้อความซึ่งได้มาจากส่วนที่ถูก เบียนข้อมูลการใช้จ่ายและแสดงออกของซึ่งมีที่อยู่เงียบๆ จากนั้นพวกเขาจะลงทะเบียนส่วนที่ถูกเงียบๆ นี้กับที่อยู่กระเป๋าเงินหลักของพวกเขาในทะเบียนบนเชื่อมโยงข้อมูล นี่คือส่วนที่แตกต่างจาก Fluidkey.

การใช้งาน erc-5564 ของ Umbra เป็นการใช้งานที่ใกล้เคียงกับข้อมูลจำเพาะ โดยที่พวกเขาไม่สามารถเข้าถึงกุญแจผู้ใช้ได้ สิ่งนี้หมายความว่า Umbra (หรือใครก็ตาม) ไม่สามารถเห็นเงินของผู้ใช้ได้ แต่สิ่งนี้หมายความว่าผู้ส่งจะต้องมีกระเป๋าเงินที่เข้ากันได้กับ erc-5564 (หรือแอป Umbra) เพื่อสร้าง stealth meta-address เพื่อส่งเงิน

เมื่อใครบางคนต้องการส่งเมื่อต้องการโอนเงินให้ผู้ใช้ พวกเขาจะใช้แอป Umbra โดยปกติ พื้นที่แอป Umbra จะค้นหา stealth meta-address ที่ลงทะเบียนกับชื่อ ENS / ที่อยู่กระเป๋าเงินและสร้างที่อยู่ stealth ผู้รับสามารถเข้าสู่แอป Umbra และสแกนหาเงินที่ถูกส่งไปยังที่อยู่ stealth ที่เป็นของพวกเขาตั้งแต่ครั้งล่าสุดที่พวกเขาเข้าสู่ระบบ ด้วยการแคชที่ฉลาด ดูเหมือนว่าจะใช้เวลาเพียง 10-15 วินาทีสำหรับการสแกนรายสัปดาห์ แม้ว่าผู้ใช้สามารถระบุช่วงบล็อกเพื่อจำกัดการสแกนเพิ่มอีกได้ ใน Umbra v2 จะรวมการใช้ viewtags ซึ่งจะทำให้กระบวนการเร็วขึ้นอีก

Relayer

หนึ่งในปัญหาของที่อยู่เงินล่องหนที่เราได้กล่าวถึงก่อนหน้านี้คือว่าในการที่ผู้รับจะใช้เงินที่ถูกส่งไปยังที่อยู่เงินล่องหน ที่อยู่นั้นจะต้องมี ETH หรือเหรียญ token ที่จำเป็นอื่น ๆ เพื่อจ่ายค่าธรรมเนียมการทำธุรกรรม บนเครือข่ายส่วนใหญ่ หากที่อยู่เงินล่องหนถูกส่ง ETH ในที่แรก ๆ นี้มักจะไม่ใช่ปัญหา อย่างไรก็ตาม หากที่อยู่เงินล่องหนถูกส่ง erc-20 token หรือ NFT การกระทำของการทำเงินกับที่อยู่ด้วย ETH เพื่อจ่ายค่าแก๊ส อาจทำให้ที่อยู่นี้เชื่อมโยงกับที่อยู่อื่น ๆ ของผู้ใช้ จนทำให้สิทธิส่วนตัวของพวกเขาถูกนำออก

เพื่อหลีกเลี่ยงสถานการณ์นี้ Umbra ใช้กลไกที่เกี่ยวข้องกับ relayer โดยเมื่อทรัพย์สินใด ๆ ที่ไม่ใช่ ETH ถูกส่งไปยังผู้ใช้ Umbra จริง ๆ มันจะถูกส่งไปยังสัญญาพิเศษแทนที่จะส่งโดยตรงไปยัง stealth address ผู้ใช้สามารถใช้เงินที่ส่งไปยัง stealth address โดยการส่ง meta-transaction (จากแอป Umbra) ไปยัง relayer ของ Umbra ซึ่งจะโอนเงินออกจากสัญญาฉลากในนามของผู้ใช้ relayer จะหักโทเคนบางส่วนเพื่อครอบคลุมค่าธรรมเนียมก๊าซ และเริ่มต้นสนับสนุนโทเคนจำนวนที่เฉพาะเจาะจงเท่านั้น

ค่าใช้จ่าย

สัญญา Umbra ยังใช้ค่าธรรมเนียมขนาดเล็กเมื่อโอนเงินในเครือข่ายที่มีค่าธรรมเนียมการทำธุรกรรมต่ำเพื่อป้องกันการสแปม หลักการคือการสแปมจะเพิ่มต้นทุนในการสแกนผ่านธุรกรรมเพื่อระบุธุรกรรมที่เกี่ยวข้อง ดังนั้นการดำเนินการนี้ถือว่าเป็นการแลกเปลี่ยนที่ยอมรับ

เครือข่ายที่สนับสนุน

Umbra ถูกติดตั้งบน Ethereum mainnet, รวมถึง Optimism, Polygon, Gnosis Chain และ Arbitrum ในปัจจุบัน

สัญญาทะเบียน Umbra มีการออกแบบที่น่าสนใจ วิธีการใช้ create2 และ deployer create2 มาตรฐาน และที่อยู่สัญญาฉลองเหมือนกันบนเครือข่ายใดก็ได้ นี่หมายความว่าหากสัญญาฉลองมีอยู่บนเครือข่ายที่กำหนดไว้แล้ว ลูกค้าก็สามารถมั่นใจได้ว่าเป็นสัญญาที่ถูกต้อง ลูกค้าสามารถกำหนดค่าเพื่อเพิ่มเครือข่าย และผู้ใดก็สามารถฉลองบนเครือข่ายใดก็ได้ พวกเขาได้ทำให้ bytecode เป็นแบบที่เป็นที่ยอมรับและสัญญาไม่มีเจ้าของซึ่งอนุญาตให้ฉลองสัญญาทะเบียนและประกาศบนเครือข่ายใดก็ได้โดยไม่จำเป็นต้องขออนุญาต

Umbra v2

Scopelift กำลังพัฒนาอยู่ในปัจจุบันเวอร์ชัน 2 ของ Umbra, ซึ่งเป็นการนำเสนอโครงสร้างหลักที่ให้สัญญาหลักถูกขยายเพื่อสนับสนุนมาตรฐานโทเคนใหม่หรือกรณีการใช้ที่ไม่ใช่การชำระเงิน โดยใช้โครงสร้างใหม่นี้ นักพัฒนาบุคคลที่สามสามารถสร้างโมดูลสำหรับมาตรฐานโทเคนใดก็ได้ เช่น erc-1155, erc-7621, การสนับสนุน paymasters สำหรับ erc-4337, หรืออย่างอื่นใดที่คุณสามารถคิดออกมา ขณะนี้สัญญาหลัก Umbra รองรับสองสถานการณ์ คือสำหรับ ETH และสำหรับ erc-20 เวอร์ชัน 2 จะสนับสนุนสถานการณ์ที่แตกต่างกันมากมาย

Labyrinth

เขาง่าย เป็นโปรโตคอลที่ไม่ได้ใช้ EIP-5564 + EIP6538 แต่ใช้การพิสูจน์ความรู้เป็นศูนย์เพื่อเพิ่มการไม่เปิดเผยตัวตนและความเป็นส่วนตัวให้กับธุรกรรม เอกสารไวท์เปเปอร์ของ Labyrinth อธิบายว่าเป็นมิดเดิลแวร์ "zkFi": "zkFi นําเสนอโซลูชันแบบแพ็คเกจที่ทําหน้าที่เป็นมิดเดิลแวร์ความเป็นส่วนตัวที่มีการปฏิบัติตามข้อกําหนดในตัว" การปฏิบัติตามข้อกําหนดในตัวหมายถึง "Selective De-Anonymization" ของ Labyrinth ซึ่งเป็นโซลูชันที่ซับซ้อนซึ่งช่วยให้ธุรกรรมบางอย่างสามารถยกเลิกการไม่เปิดเผยตัวตนไปยังผู้ที่ได้รับอนุญาตเฉพาะเช่นหน่วยงานทางกฎหมายเช่นตํารวจสากลเป็นต้นในขณะที่ยังคงความโปร่งใสและเปิดกว้าง

สัญญาอัจฉริยะหลักที่ Labyrinth ใช้ ได้แก่ กลุ่มธุรกรรมหลายธุรกรรมและหลายสินทรัพย์ซึ่งช่วยให้ผู้ใช้สามารถทําธุรกรรมหลายสินทรัพย์ในธุรกรรมเดียว ในการใช้สินทรัพย์ผู้ใช้จะสแกนเครือข่ายและดึงข้อมูลบันทึกย่อที่เข้ารหัสถอดรหัสบันทึกย่อและกรองสินทรัพย์ที่ต้องการใช้จ่าย ต่อจากนั้นผู้ใช้จะสร้าง ZKP ที่มีธุรกรรมและลายเซ็นจากคีย์การลงนามที่เกี่ยวข้องกับบันทึกย่อที่ต้องการใช้ธุรกรรม

ส่วนหนึ่งของสัญญาหลักของ Labrynth ประกอบด้วยสัญญาแปลงที่เชื่อมต่อกับสัญญาพร็อกซีโมดูลาร์ที่เป็นโปรกซี่เพื่อสัญญาภายนอก ดังนั้นตัวอย่างเช่น: หากผู้ใช้ต้องการใช้ Labyrinth เพื่อติดต่อกับ Uniswap ผู้ใช้จะสร้างธุรกรรมที่จะใช้สัญญาแปลงเพื่อเรียกใช้การทำธุรกรรมสำหรับกลุ่ม Uniswap ผ่านสัญญาโปรกซี่ของ Uniswap

โปรโตคอล zkFi ของ Labyrinth ใช้ "โน้ต" ในการติดตามยอดคงเหลือและการโอนเงิน โน้ตเป็นโครงสร้างข้อมูลที่อธิบายปริมาณของสินทรัพย์บางปริมาณและที่อยู่ที่เกี่ยวข้อง ไคลเอ็นต์จะเก็บข้อมูลที่จำเป็นในการสร้างโน้ตและใช้ข้อมูลนี้ในการใช้จ่ายสินทรัพย์ การสร้างส่วนที่เกี่ยวข้องกับโน้ต (แฮชของ ID สินทรัพย์ เจ้าของ และค่า) จะถูกเก็บไว้ในต้นไม้ Merkle บนเชื่อมโซ่ ในความเป็นจริง Labyrinth ใช้ต้นไม้ Merkle สองต้นไม้ หนึ่งสำหรับโน้ตและหนึ่งสำหรับที่อยู่ราก

โครงสร้างข้อมูลบันทึกมีดังต่อไปนี้:

  • assetId: รหัสประจำตัวสำหรับสินทรัพย์ (ETH, WBTC, MATIC, ฯลฯ) บันทึกนี้แทนค่าของ
  • value: ค่าหรือจำนวนที่บันทึกแทน
  • leafIndex: ดัชนีใบของต้นไม้เมอร์เคิลที่บันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึก
  • การทำให้เป็นสายตา: ปัจจัยการทำให้เป็นสายตาที่สุ่ม
  • rootAddress: ที่อยู่รากของผู้ใช้ที่มีอำนาจในการใช้จ่าย
  • revoker: จุดคีย์สาธารณะของผู้เพิกถอนที่เลือก

คุณจะเห็นว่าโครงสร้างข้อมูลด้านบนไม่มีการอ้างอิงถึงเจ้าของสินทรัพย์เลย ซึ่งน่าแปลกใจเนื่องจากการสังเคราะห์ที่ถูกบันทึกไว้ในต้นไม้เมอร์เคิลของบันทึกเป็นการเข้ารหัสด้วย id ของสินทรัพย์ มูลค่า และเจ้าของ ในความเป็นจริงแล้ว เจ้าของถูกคำนวณจากที่อยู่ราก ผู้เพิกถอน และปัจจัยการบังคับให้มองไม่เห็น ดังนั้นสำหรับผู้สังเกตการณ์ภายนอก ผู้เป็นเจ้าของจริงๆคือที่อยู่ใหม่ที่ถูกสร้างขึ้นสำหรับทุกธุรกรรมใหม่

สระน้ำที่ปกป้อง

สิ่งที่น่าสนใจจริงๆเกี่ยวกับ Labyrinth ซึ่งแตกต่างจากโปรโตคอลที่อยู่แบบซ่อนตัวของวานิลลาเล็กน้อยคือกลุ่มสินทรัพย์นั้นแท้จริงแล้วเป็นพูลที่มีการป้องกันซึ่งใช้แนวคิดของบันทึกย่อเพื่อสร้างพูล UTXO ที่มีการป้องกันซึ่งให้ความลับล่วงหน้าในการทําธุรกรรม จําได้ว่าด้วยการใช้งาน eip-5564 เอนทิตีที่ผู้ใช้โอนเงินจะสามารถดูว่าเงินเหล่านั้นมาจากไหน กล่าวอีกนัยหนึ่งอลิซจ่ายเงินให้บ๊อบโดยใช้ที่อยู่ซ่อนตัวบ๊อบจ่ายชาร์ลีดังนั้นตอนนี้ชาร์ลีจะเห็นว่าบ็อบได้รับเงินจากอลิซในตอนแรกและอื่น ๆ นี่ไม่ใช่กรณีของสระน้ําที่มีเกราะป้องกันของ Labyrinth

เพื่อเข้าใจวิธีการทำงานของสระน้ำที่ปกป้องนี้ เราจำเป็นต้องมองวิธีการโอนเงินภายในโปรโตคอล:

ยอดคงเหลือของผู้ใช้ในสระน้ำเงินรักษาความปลอดภัยเป็นผลรวมของบันทึกของสินทรัพย์ที่เกี่ยวข้อง ในการใช้จ่ายบันทึกเหล่านั้นผู้ใช้ต้องเปิดเผย 'nullifiers' ของบันทึกเหล่านั้น Nullifier เป็นค่าที่ไม่ซ้ำกันสำหรับบันทึกแต่ละรายการและเมื่อบันทึกนั้นถูกใช้จ่าย nullifier จะถูกทำเครื่องหมายเพื่อป้องกันการใช้จ่ายซ้ำซ้อนและสร้างบันทึกใหม่จากบันทึกที่ใช้จ่ายนั้น บันทึกหลายรายการของสินทรัพย์เดียวกันสามารถรวมกันได้และสร้างบันทึกใหม่หลายรายการ nullifier ก็คือเพียงแค่ hash ของ (𝑙,𝑐,𝛿) โดยที่ 𝑙 คือดัชนีของการสัญญาณการของบันทึกในต้นไม้ของบันทึก และ 𝑐 คือการสัญญาณการและ 𝛿 คือองค์ประกอบที่สุ่มเองที่เรียกว่าตัวปิดเงาอีกต่อหนึ่ง

ผู้รับการโอนเงินแบบลับระบุการโอนเงินผ่านช่องทางเดียวกับ eip-5564 โดยพวกเขาฟังก์ชันกิจกรรมที่ถูกส่งออกจากสัญญาสำคัญและกำหนดว่าพวกเขาจะสามารถส่งเงินจากที่ใดก็ได้ ระบุการรับเงินผ่านการใช้งานแท็กมุมมองและการเก็บรักษาแคชและการซิงค์ข้อกำหนดโดยไม่ต้องรอเวลาในการใช้งานแอป

มีการวิจัยอยู่เรื่อยเพื่อทำให้กระบวนการค้นพบเงินที่ได้รับเร็วขึ้น ดูตัวอย่างเช่นข้อเสนอนี้จาก Aztec ได้คำขอเสนอราคา: โปรโตคอลการค้นพบบันทึก - Aztec.

เพื่อใช้เงิน ผู้ใช้ยังต้องสร้าง zk-proof โดยไม่เหมือนกับ erc-6654 implementations ซึ่งพื้นฐานก็คือที่อยู่ Ethereum ปกติ การสร้างพิสูจน์ต้องใช้วอลเล็ตที่เข้ากันได้ ประสิทธิภาพก็ดีพอ ใช้เวลาประมาณ 20 วินาทีหรือเล็กน้อยกว่าบนอุปกรณ์ Android ระดับกลาง

Bundler และ Converter

มีคุณสมบัติที่ดีสองสามอย่างที่ Labyrinth นําเสนอซึ่งช่วยแก้ปัญหาบางจุดของธุรกรรมการลักลอบ ธุรกรรมที่ส่งไปยังสัญญาหลักเขาวงกตจะถูกส่งเป็นการดําเนินงานของผู้ใช้ผ่าน erc-4337 bundlers การตั้งค่านี้ช่วยให้สามารถใช้บันทึกการใช้จ่ายโดยไม่ต้อง ETH หรือต้องใช้โทเค็นก๊าซสําหรับการทําธุรกรรมเนื่องจากผู้ใช้สามารถใช้ประโยชน์จาก erc-4337 paymaster เพื่อจ่ายก๊าซในนามของพวกเขาซึ่งจะเพิ่มความเป็นส่วนตัวอีกชั้นหนึ่ง ข้อยกเว้นเพียงอย่างเดียวคือเงินฝากเริ่มต้นซึ่งไม่ได้ส่งเป็น userop การใช้ er-4337 paymaster นี้ยังมีประโยชน์เพิ่มเติมของความสามารถในการชําระค่าก๊าซผ่านสินทรัพย์ที่กําลังโอนแม้ว่าจะเป็นโทเค็น erc-20 และสําหรับเขาวงกตนี้เปิดเผย API ออราเคิลราคาก๊าซ

คุณสมบัติอีกอย่างที่ Labyrinth มีคือสถาปัตยกรรมแบบโมดูลที่ช่วยให้สามารถใช้สัญญาแปลงเป็นพร็อกซีไปยังแอปพลิเคชันของบุคคลที่สามได้ ซึ่งช่วยให้ผู้ใช้ไม่เพียงแค่โอนเงินด้วยธุรกรรมเงียบๆ แต่ยังสามารถติดต่อสื่อสารกับแอปพลิเคชันของบุคคลที่สาม เช่น DEXs (เช่น Uniswap, Aave, Lido เป็นต้น) สัญญาพร็อกซี "แปลง" เหล่านี้ซึ่งสร้างฟังก์ชันที่รับเป็นจำนวนที่กำหนดของสินทรัพย์ และส่งออกเป็นจำนวนที่กำหนดของสินทรัพย์ โดยมีตัวตนของตัวตนย่อยอยู่ในสัญญาของบุคคลที่สาม

Compliance Solution

Labyrinth รับรองความปฏิบัติตามกฎระเบียบและการปฏิบัติตามกฎหมายผ่านกรอบที่เรียกว่า Selective De-Anonymization (SeDe)

โปรดจำไว้ว่าโครงสร้างข้อมูลของบันทึกมีฟิลด์ที่เรียกว่า “revoker” ซึ่ง revoker คือที่อยู่ขององค์กรที่เฉพาะเจาะจงที่สามารถเริ่มกระบวนการถอดความลับได้ ผู้ใช้ต้องเลือกอย่างน้อยหนึ่งรายการ revoker จากรายการที่กำหนดไว้ ผู้ถอดถอนไม่ได้รับผิดชอบเพียงอย่างเดียวในการระบุกิจกรรมที่อาจเป็นการกระทำที่ผิดกฎหมายหรือผิดกฎหมาย แต่สามารถตอบสนองต่อคำขอจากหน่วยงานการมีกฎหมาย

ผู้เพิกถอนไม่มีความสามารถฝ่ายเดียวในการยกเลิกการไม่เปิดเผยตัวตนของธุรกรรมโดยตรง แต่พวกเขามีหน้าที่รับผิดชอบในการเริ่มต้นคําขอยกเลิกการไม่เปิดเผยตัวตน คําขอเหล่านี้จะถูกโพสต์ต่อสาธารณะต่อผู้ปกครองซึ่งเป็นคณะกรรมการของหน่วยงานที่ดูแลความเป็นส่วนตัวและการปฏิบัติตามข้อกําหนด ผู้ปกครองต้องตอบกลับคําขอโดยการลงคะแนนว่าจะอนุญาตให้ยกเลิกการไม่เปิดเผยตัวตนของธุรกรรมหรือไม่ หากผู้ปกครองสามารถบรรลุองค์ประชุมและลงคะแนนเสียงเห็นชอบผู้เพิกถอนสามารถถอดรหัสข้อมูลธุรกรรมทําให้พวกเขาสามารถเชื่อมโยงธุรกรรมที่เป็นปัญหากับธุรกรรมก่อนหน้าจนกว่าห่วงโซ่การทําธุรกรรมจะถูกยกเลิกการระบุตัวตนอย่างสมบูรณ์

ระบบนี้สร้างชุดของการตรวจสอบและสมดุล เนื่องจากผู้ปกครองไม่สามารถตัดสินใจเปิดเผยข้อมูลการทำธุรกรรมแบบเดี่ยว และถึงแม้พวกเขาจะเร่งรัดกัน พวกเขาก็ไม่สามารถทำอะไรก็ได้โดยไม่มีผู้เพิกถอน และผู้เพิกถอนคนเดียวก็ไม่สามารถทำอะไรกับความเห็นของผู้ปกครองที่เป็นส่วนใหญ่

Railgun

RAILGUN เป็นระบบความเป็นส่วนตัวของธุรกรรมแบบซ่อนตัวที่ปรับใช้บน Ethereum, BSC, Polygon และ Arbitrum โปรโตคอลมีความคล้ายคลึงกันในบางวิธีกับเขาวงกตตราบเท่าที่มันขึ้นอยู่กับบันทึกย่อซึ่งเก็บไว้ในต้นไม้ merkle เป็นภาระผูกพันและสร้างชุด UTXO เช่น บันทึกสามารถใช้โดยการสร้างบันทึกใหม่สําหรับผู้รับรายอื่น ในการใช้จ่ายบันทึกย่อจะมีการเพิ่ม nullifier ลงในสถานะสําหรับบันทึกย่อนั้นเพื่อป้องกันการใช้จ่ายซ้ําซ้อน เฉพาะเจ้าของโน้ตเท่านั้นที่สามารถคํานวณค่า nullifier ซึ่งขึ้นอยู่กับแฮชของคีย์การใช้จ่ายและดัชนีของบันทึกย่อบนต้นไม้ merkle ซึ่งหมายความว่ามีเพียงเจ้าของบันทึกเท่านั้นที่สามารถใช้จ่ายได้ (และสามารถใช้จ่ายได้เพียงครั้งเดียว)

Stealth meta-addresses ใน Railgun ใช้คำนำหน้าของ "0zk" และเหมือนกับ eip-5564 คือการต่อข้อความของคีย์การดูแลและคีย์การใช้จ่ายสาธารณะ Railgun ใช้คีย์ Ed25519 บนเส้น曲 BabyJubJub แทน ECDSA & secp256k1 ในลักษณะเดียวกันกับ eip-5564 ผู้ใช้สแกนทุกเหตุการณ์ที่ถูกส่งออกจากสัญญา Railgun และใช้คีย์การดูแลของพวกเขาเพื่อกำหนดว่าเหตุการณ์ใดแทนการโอนเงินไปยังกระเป๋าเงินของพวกเขา

Railgun ใช้เครือข่ายของผู้ส่งสัญญาณ ซึ่งเป็นอุปกรณ์ส่งสัญญาณที่ยอมรับ meta-transactions จากผู้ใช้และส่งสัญญาณแทนผู้ใช้ไปยังบล็อกเชนที่เกี่ยวข้อง จ่ายค่าธรรมเนียมในการใช้ก๊าสแทนผู้ใช้ การจับคู่โดยตรงกับสัญญาณของ Railgun มาจากเครือข่ายของผู้ส่งสัญญาณนี้ ที่ปกป้องความไม่เปิดเผยของผู้ใช้สุดท้าย ธุรกรรมที่ถูกส่งจากผู้ใช้ไปยังผู้ส่งสัญญาณ ถูกเข้ารหัสเพื่อคีย์สาธารณะของผู้ส่งสัญญาณที่เฉพาะเจาะจงและสื่อสารโดยใช้โปรโตคอล Waku.

Railgun มีสถาปัตยกรรมแบบแยกส่วนซึ่งช่วยให้สามารถโต้ตอบกับสัญญาอัจฉริยะภายนอกทําให้สามารถทํางานนอกเหนือจากการถ่ายโอนที่เรียบง่าย มันทําสิ่งนี้ผ่านสัญญา AdaptRelay ซึ่งป้องกันและยกเลิกการป้องกันโทเค็นก่อนและหลังโต้ตอบกับสัญญาภายนอกเช่นโทเค็น unshield A แลกเปลี่ยนเป็นโทเค็น B ใน AMM บางตัวโทเค็นโล่ B กลับไปที่เจ้าของเดิม

ด้วยเวอร์ชัน 3 Railgun กำลังวางแผนที่จะใช้ eip-4337 ร่วมกับการสนับสนุนการทำธุรกรรมหลักสืบทอดวิชาการ เขาหวังว่าโดยการรักษา eip-4337 userop mempool ที่มีการกำหนดเองสำหรับ Railgun ให้แก่ผู้แก้ปัญหาที่อิสระสามารถเข้าร่วมในฐานะผู้กระจาย ขณะนี้พวกเขากำลังร่วมมือกับ Umbra ในการวิจัยเรื่องนี้และการระบุกรณีพิเศษและวิธีการจัดการด้วย ดูส่วน Railgun v3 ด้านล่างสำหรับรายละเอียดเพิ่มเติม

ค่าธรรมเนียม

โปรโตคอล Railgun มีค่าธรรมเนียม 0.25% สำหรับการฝากเงินและถอนเงิน ค่าธรรมเนียมเหล่านี้จะถูกส่งไปยังทุน DAO และค่าธรรมเนียมเหล่านี้จะถูกจ่ายให้ผู้ถือสิทธิ์ของโทเค็นการจัดการ RAIL ตลอดเวลา นอกจากค่าธรรมเนียมการฝากเงินและถอนเงิน อาจถูกใช้ค่าธรรมเนียมเพิ่มเติมโดยผู้กระจายสัญญาณ ซึ่งมักจะมีจำนวนประมาณ 10% ของค่าธรรมเนียมแก๊สสำหรับธุรกรรม on-chain จริง

การปกครอง

Railgun มีระบบการกํากับดูแลที่อนุญาตให้ส่งข้อเสนอทุกรูปแบบและไม่มีการเปลี่ยนแปลงสัญญาหลักใด ๆ (รวมถึงสัญญาคลังและการกํากับดูแล) ที่สามารถเกิดขึ้นได้หากไม่มีข้อเสนอ DAO ผิดปกติกรณีแยกของ Railgun มีการปกครองของตนเอง ตัวอย่างเช่น Railgun บน Ethereum, Polygon และ Binance Chain มีระบบการกํากับดูแลและโทเค็นแยกต่างหาก

SDK และ Cookbook

Railgun มี SDK ที่ครอบคลุมและเอกสารประกอบที่ดี ซึ่งนักพัฒนากระเป๋าเงินหรือ dapp สามารถนำไปใช้ในการสร้างความสามารถของที่อยู่ลับผ่านการสนับสนุนสำหรับ Railgun โดย Railgun ยังมีการบริการดูแลรักษาชุมชนcookbookด้วย “recipes” ซึ่งช่วยให้นักพัฒนา dapp สามารถให้โมดูลสำหรับ Railgun ที่ช่วยให้ผู้ใช้สามารถแอบและใช้งาน dapp ของตนโดยใช้ Railgun ได้ เช่น นักพัฒนาสามารถเขียน recipe สำหรับ DEX ซึ่งช่วยให้ผู้ใช้ที่มียอดคงเหลือโทเคนใน Railgun สามารถสลับโทเคนได้อย่างเป็นส่วนตัว

RailGun v3

การทําซ้ําครั้งต่อไปของ Railgun จะทําให้การทําธุรกรรมถูกลงประมาณ 50% — 60% การเปลี่ยนแปลงอื่น ๆ ในเวอร์ชัน 3 คือการย้ายไปรองรับ userops eip-4337 ผ่าน mempool เฉพาะ นอกจากนี้ v3 จะให้การสนับสนุนสถาปัตยกรรมตามเจตนาซึ่งจะช่วยให้นักแก้สามารถแข่งขันเพื่อการดําเนินการที่ดีที่สุดแม้ว่ารายละเอียดจะอยู่ในระดับสูงมากในขณะที่เขียน พวกเขากําลังทํางานกับ CowSwap เกี่ยวกับเรื่องนี้และวางแผนที่จะใช้ตะขอก่อนและหลังเพื่อให้ผู้แก้ปัญหาสามารถเข้าถึงเงินทุนได้

เชื่อมต่อ Railgun

เป็นไปได้ที่การเปลี่ยนแปลงที่น่าสนใจที่สุดที่เสนอขึ้นคือสิ่งที่เรียกว่า Railgun Connect ซึ่งถูกอธิบายว่าเป็นเครื่องมือที่คล้ายกับ WalletConnect เนื่องจากมันช่วยให้ที่อยู่ 0zk สามารถเชื่อมต่อกับฟรอนท์เอ็นด์ส่วนใหญ่สำหรับการใช้ส่วนตัวโดยไม่ต้องการ dapps เหล่านั้นจะต้องการการผสมรวมโดยเฉพาะกับ Railgun ผ่านโมดูลที่กำหนดเอง

Railgun Connect เป็นส่วนขยายเบราว์เซอร์และสิ่งที่ทําคือแยกสถานะของห่วงโซ่ในเครื่องโดยใช้ HardHat ภายใต้ประทุนและฉีดผู้ให้บริการ web3 ของตัวเองลงใน dapp ด้วยตําแหน่งข้อมูล RPC ของห่วงโซ่ HardHat เวอร์ชันท้องถิ่น จากนั้นช่วยให้คุณสามารถดําเนินการโต้ตอบกับสัญญา dapps ได้ตามปกติบันทึกธุรกรรมจากนั้นจัดกลุ่มและสร้างหลักฐาน snark และส่งสิ่งนี้ไปยังสัญญา Railgun จริงในห่วงโซ่จริง แม้ว่าคําอธิบายนี้จะเรียบง่ายกว่าเล็กน้อย แต่ก็สื่อถึงแนวคิดทั่วไป สิ่งนี้ช่วยให้คุณโต้ตอบกับ dapp แทบทุกชนิด (ด้วยเคสขอบบางตัวสําหรับ dapps ที่ทําการประมวลผลนอกเครือข่ายเพิ่มเติม) ข้อแม้คือการบันทึกสถานะของห่วงโซ่ในพื้นที่เป็นการดําเนินการที่หนักหน่วง แต่เมื่อเสร็จแล้วหมายความว่าคุณสามารถโต้ตอบกับ dapps โดยใช้ที่อยู่ซ่อนตัวของ Railgun โดยไม่เห็นความแตกต่างจากการใช้กระเป๋าเงินปกติ

สรุป

มีข้อเสนอที่น่าสนใจสำหรับการฝังที่อยู่ลับในโปรโตคอล Ethereum ตัวอย่างเช่น Inco ใช้แนวคิดของ ERC-20 "wrapper" ซึ่งห่อสัญญา ERC-20 ปกติและเข้ารหัสเครื่องชั่งทั้งหมด การถ่ายโอนและการอนุมัติทั้งหมดจะดําเนินการในสถานะที่เข้ารหัสผ่านการเข้ารหัสแบบ homomorphic อย่างสมบูรณ์ Inco อาศัย precompiles ซึ่งปัจจุบันมีอยู่ในเครือข่ายของตัวเองเท่านั้น แต่สักวันหนึ่งอาจเข้าสู่ Ethereum

มีข้อเสนออีกอย่างที่เรียกว่า EIP-7503: Zero-Knowledge Wormholesซึ่งเชื่อมโยงกับการออกแบบที่เรียกว่า “proof-of-burn” แต่ดูเหมือนว่าไม่ได้รับความสนใจมากนัก อาจเป็นเพราะต้องมีการอัปเดต EVM ซึ่งในที่นี้มันจริงๆ เพียงผลักดันการใช้งานระดับโทเค็น โดยใช้การออกแบบ erc-20 ที่รองรับ eip-7503 โดยเฉพาะ (หรือถ้า L2 ตัดสินใจเพิ่มการสนับสนุนให้กับรหัสคำสั่ง EVM ของพวกเขา)

Aztecเทคโนโลยีความเป็นส่วนตัวที่ซับซ้อนที่สุดอาจมีอยู่ในตอนนี้ แต่มันต้องการผู้ใช้ให้ส่งเงินเข้า Aztec เพื่อใช้งาน ซึ่งอาจจะไม่เป็นประสบการณ์ที่ยอมรับได้สำหรับผู้ใช้ส่วนใหญ่ อย่างไรก็ตาม หากความต้องการสำหรับความเป็นส่วนตัวของธุรกรรมพื้นฐานเพิ่มขึ้นในหมู่ผู้ใช้ Ethereum แล้ว Aztec อาจมีข้อเสนอมูลค่าที่เป็นเอกลักษณ์ที่ทำให้มันเป็น L2 ที่มีค่ามาก เมื่อ dapps และผู้ใช้ย้ายมาใช้แพลตฟอร์มที่ให้ความเป็นส่วนตัวให้พวกเขาโดยค่าเริ่มต้น

ในทางเดียวกัน,Intmax เป็น Ethereum L2 (ขึ้นอยู่กับการออกแบบพลาสม่า) ที่เน้นความเป็นส่วนตัวและยังมีแง่มุมที่สอดคล้องกับกฎระเบียบโดยการตรวจสอบความถูกต้องของกองทุนส่วนบุคคลผ่านหลักฐาน AML ที่ใช้ ZKP และกําหนดขีด จํากัด จํานวนธุรกรรม Intmax มีข้อ จํากัด ในแง่ของการให้ความเป็นส่วนตัวสําหรับการถ่ายโอนในขณะที่การดําเนินการสัญญาอัจฉริยะ EVM ไม่เป็นส่วนตัว อย่างไรก็ตามไม่เหมือนกับ Aztec สัญญาอัจฉริยะสามารถเขียนได้ใน Solidity ซึ่งนักพัฒนาบางคนอาจชอบ (ขึ้นอยู่กับกรณีการใช้งาน)

การสนับสนุนกระเป๋าเงิน

ในขณะที่เราเห็นการยอมรับโปรโตคอลที่อยู่แบบซ่อนตัวเพิ่มขึ้นซึ่งมีแนวโน้ม แต่ก็ยังมีความท้าทายหลายประการ ความท้าทายที่สําคัญที่สุดคือพวกเขาไม่ได้รับการสนับสนุนอย่างเต็มที่ในกระเป๋าเงิน Ethereum กระแสหลัก (ยังไม่ได้อยู่แล้ว) กระเป๋าเงินกระแสหลักอาจมีหลายทางเลือกหากพวกเขาจะให้การสนับสนุนที่อยู่แบบซ่อนตัว บางส่วนของตัวเลือกเหล่านี้รวมถึง:

  • พวกเขาจะให้การสนับสนุนที่มีความเห็นแนบแน่นสำหรับการดำเนินการเดียวเท่านั้นหรือจะสร้างและรักษาการรวมกันที่เป็นประเภทหนึ่งที่ครอบคลุมหลายๆ โปรโตคอล? สิ่งที่หลังนี้จะเป็นสิ่งที่แพงในเชิงพัฒนาและการบำรุงรักษา
  • จะมีการพิจารณากฎระเบียบหรือไม่ และต้องการที่จะเข้าข้างกับการเปิดเผยความไม่ตั้งชื่อแบบเลือกได้ในขั้นต่ำและกลไก (เช่นเดียวกับ Labyrinth หรือไม่)
  • ที่อยู่ซ่อนทัศนคติต้องมีองค์ประกอบบนเชน (ยกเว้น Fluidkey) ดังนั้นนี้หมายความว่าทุกเครือข่าย EVM จะต้องได้รับการสนับสนุนโดยชัดเจนโดยกระเป๋าเงิน (แม้ว่าการออกแบบ Umbra จะสะดวกสบายในการให้สิทธิในการใช้งานของทะเบียนโดยไม่จำเป็น)
  • ที่อยู่ซ่อนตัวทําให้การผสานรวมที่มีอยู่กับนักสํารวจบล็อก (เช่น Etherscan) มีความซับซ้อนมากขึ้น ตัวอย่างเช่น ปุ่ม "ดูบน Explorer" จะไม่ทํางานสําหรับที่อยู่เมตาแบบซ่อนตัว ซึ่งกระเป๋าเงินจะแสดงยอดคงเหลือรวม ปัญหานี้อาจมีอยู่สําหรับการถ่ายโอนเช่นกัน กรณีขอบต่างๆเช่นนี้จะต้องคิดเกี่ยวกับ
  • ขึ้นอยู่กับการใช้งานพื้นฐานผู้ใช้จะสามารถใช้ที่อยู่ซ่อนตัวได้อย่างมีประสิทธิภาพกับชุด dapps เฉพาะคือชุดที่รองรับโดยโปรโตคอลพื้นฐาน สิ่งนี้จะเป็นไปได้ด้วยสถาปัตยกรรมที่อยู่แบบซ่อนตัวแบบแยกส่วน อย่างไรก็ตามจะไม่รองรับ dapps ทั้งหมดและสิ่งนี้จะต้องมีการสื่อสารกับผู้ใช้อย่างใด มันค่อนข้างง่ายกว่าด้วย eip-5506 แต่ก็ยังมีภาวะแทรกซ้อนและเคสขอบและสิ่งนี้มักจะรั่วไหลไปยัง UX กระเป๋าเงิน

มีโอกาสในการปรับปรุงในการป้องกันการแย่ลงของความเป็นส่วนตัวที่ไม่ดีของผู้ใช้ดูได้ดี ดูกระดาษวิจัยนี้: การวิเคราะห์ความไม่สามารถระบุตัวของโครงการที่มีที่อยู่อนุญาต Umbra บน Ethereum" สําหรับวิธีที่ผู้เขียนประสบความสําเร็จในการยกเลิกการไม่เปิดเผยตัวตน 48.5% ของธุรกรรมการลักลอบบน Ethereum mainnet ฮิวริสติกส์ที่พวกเขาเคยทําเช่นนี้ไม่เกี่ยวข้องกับโปรโตคอลและอื่น ๆ เกี่ยวกับสุขอนามัยความเป็นส่วนตัวเช่นผู้ใช้ส่งเงินไปยังที่อยู่ซ่อนตัวที่พวกเขาควบคุมแล้วส่งเงินเหล่านั้นกลับไปยังที่อยู่ที่พวกเขาส่งมาในตอนแรกโดยเข้าใจผิดคิดว่าการตรวจสอบย้อนกลับนั้นเสียหาย โดยรวมแล้วผู้เขียนระบุฮิวริสติกที่แตกต่างกัน 6 แบบที่สามารถใช้เพื่อยกเลิกการไม่ระบุชื่อธุรกรรมที่อยู่แบบซ่อนตัวซึ่งส่วนใหญ่ขึ้นอยู่กับการไม่ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด อย่างไรก็ตามสิ่งเหล่านี้เป็นปัญหา UX ที่สําคัญที่ต้องได้รับการแก้ไข

โดยรวมฉันค่อนข้างมั่นใจใน stealth address และความเป็นส่วนตัวใน Ethereum โดยทั่วไป ฉันคิดว่าเราได้ทำความคืบหน้าอย่างน่าประหลาดใจและพบบางความท้าทายที่สามารถแก้ไขได้อย่างง่ายดาย ฉันมั่นใจว่ากระเป๋าเงินรุ่นใหญ่จะค้นพบวิธีการให้การสนับสนุนสำหรับ stealth address ในระดับที่ช่วยให้ผู้ใช้สามารถใช้งานได้โดยไม่มีความลำบากและความคิด โดยให้ระดับของความเป็นส่วนตัวที่ผู้ใช้คาดหวังและคุ้มค่า

ขอบคุณทีมงานทุกทีมที่ใช้เวลาและความพยายามในการศึกษาและสร้างโครงสร้างที่มีที่อยู่เงียบ รวมถึงสี่โปรโตคอลที่ฉันพูดถึงในโพสต์นี้ ความพยายามและความมุ่งมั่นของพวกเขาจะมีผลต่อ Ethereum อย่างมาก!

คำปฏิเสธ:

  1. บทความนี้ถูกคัดลอกมาจาก [ มีเดีย]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [ซิมอน บราวน์]. หากมีคำปฏิเสธเกี่ยวกับการเผยแพร่นี้กรุณาติดต่อ เกต เรียนทีมงานจะดูแลและจัดการให้โดยเร็ว
  2. คำชี้แจงความรับผิดชอบ: มุมมองและความเห็นที่แสดงในบทความนี้เป็นส่วนตัวของผู้เขียนเท่านั้นและไม่เป็นที่เกิดจากการให้คำแนะนำในการลงทุนใด ๆ
  3. ทีม Gate Learn ทำการแปลบทความเป็นภาษาอื่น ๆ หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนแบบบทความที่ถูกแปล นั้นถูกห้าม

ความเป็นส่วนตัวใน Ethereum - ที่อยู่ Stealth

กลาง1/22/2025, 4:13:36 PM
ปัญหาความเป็นส่วนตัวของ Ethereum กําลังได้รับความสนใจมากขึ้นเรื่อย ๆ โดยเฉพาะอย่างยิ่งเมื่อความโปร่งใสในการทําธุรกรรมอาจเปิดเผยข้อมูลและกิจกรรมทางการเงินของผู้ใช้ เพื่อแก้ไขปัญหานี้ Stealth Addresses ได้รับการเสนอโดยมีจุดมุ่งหมายเพื่อให้แน่ใจว่าข้อมูลประจําตัวและรายละเอียดการทําธุรกรรมของผู้รับยังคงเป็นส่วนตัวโดยการสร้างที่อยู่ชั่วคราวที่ไม่ซ้ํากันสําหรับแต่ละธุรกรรม วิธีนี้ไม่ได้พึ่งพาโปรโตคอลความเป็นส่วนตัวของบุคคลที่สาม แต่เพิ่มความเป็นส่วนตัวโดยตรงในระดับโปรโตคอล อย่างไรก็ตามการใช้งาน Stealth Addresses ยังคงเผชิญกับความท้าทาย

การแนะนำ

จุดปวดที่สําคัญสําหรับผู้ใช้ crypto web3 คือการขาดความเป็นส่วนตัว ความจริงที่ว่าธุรกรรมทั้งหมดจะปรากฏในบัญชีแยกประเภทสาธารณะและมากขึ้นเรื่อย ๆ : เกี่ยวข้องกับชื่อ ENS เดียวที่อ่านง่ายเป็นสิ่งที่ทําให้ผู้ใช้ไม่สามารถทํากิจกรรมบางอย่างหรือทําให้พวกเขาทํากิจกรรมเหล่านั้นในลักษณะที่ส่งผลให้เกิดแรงเสียดทาน UX เพิ่มขึ้น ตัวอย่างหนึ่งคือการโอนเงินจากกระเป๋าเงินร้อนไปยังกระเป๋าเงินเย็นหรือในทางกลับกัน ผู้ใช้อาจไม่ต้องการให้กระเป๋าเงินใบหนึ่งเชื่อมโยงกับอีกกระเป๋าเงินหนึ่งเนื่องจากอาจไม่ต้องการให้เห็นยอดคงเหลือในกระเป๋าเงินเย็น ปัจจุบันที่อยู่ Ethereum ไม่ทํางานเหมือนบัญชีธนาคารส่วนตัวเพราะทุกคนสามารถเห็นกระเป๋าเงินของคุณและกิจกรรมทางสังคมของคุณมากขึ้นเรื่อย ๆ (SBTs, การรับรอง, กิจกรรมบน dapps ต่างๆ ฯลฯ ) ด้วยเหตุผลเหล่านี้เองที่ Vitalik เรียกความเป็นส่วนตัวว่าเป็นหนึ่งใน การเปลี่ยนแปลงทางเทคนิคสามอย่างใหญ่ที่ Ethereum ต้องผ่านเพื่อเป็นประโยชน์ต่อผู้ใช้ทั่วไป

การใช้โซลูชันความเป็นส่วนตัวที่มีอยู่แล้ว เช่น Tornado Cash เป็นประสบการณ์ที่ไม่ได้มีประสิทธิภาพสูงสุดสำหรับหลายเหตุผล หนึ่งคือ: ผู้ใช้จะกังวลอย่างถูกต้องเกี่ยวกับการให้ที่อยู่ของพวกเขาถูกเพิกถอนสีดำบนแพลตฟอร์มที่เป็นศูนย์กลางหรือแพลตฟอร์มอื่น ๆ อย่างชอบธรรมและอย่างที่ควร นอกจากนี้ ประสบการณ์ของผู้ใช้ในการจัดการกับบริการเช่น Tornado Cash ไม่ใช่เพียงแค่เข้ากันได้กับผู้ใช้ที่มีความเชี่ยวชาญสูงเท่านั้น แต่ยังไม่เป็นมิตรต่อผู้ใช้ทั่วไปอีกด้วย

ที่อยู่ลับให้วิธีการให้ผู้ใช้ได้เพื่อความเป็นส่วนตัวที่พวกเขาให้ความสำคัญกับบัญชีธนาคารส่วนตัวและในทางที่เข้าใจง่าย นอกจากนี้นวัตกรรมที่เกี่ยวกับที่อยู่ลับหมายถึงว่าเราสามารถทำได้ในทางที่เป็นไปได้ที่จะเป็นไปตามระเบียบข้อบังคับ AML ในเขตอาณาจักรหลายแห่ง

ความต้องการของผู้ใช้สำหรับความเป็นส่วนตัว

ในขณะที่การวิจัยเกี่ยวกับทัศนคติของผู้ใช้เว็บและ web3 ต่อการเปิดเผยข้อมูลส่วนบุคคลยังไม่มีอยู่อย่างแพร่หลาย แต่การวิจัยด้านล่างนี้ถูกค้นพบผ่านการค้นหาบนเว็บ และผลการวิจัยตรงกันอย่างกว้างขวาง และแสดงให้เห็นว่ามีความต้องการในการรักษาความเป็นส่วนตัวของการทำธุรกรรมอย่างชัดเจนอยู่

  1. การสำรวจที่ดำเนินการในปี 2022 และเผยแพร่โดย Simin Ghesmati และคณะในบทความชื่อ:ความเป็นส่วนตัวที่ผู้ใช้รับรู้ในบล็อกเชน, กล่าวว่า "ครึ่งหนึ่งของผู้ถามคำถามระบุว่าความเป็นส่วนตัวของธุรกรรมสำคัญมากแก่พวกเขา" ในขณะที่การวิจัยนี้เกี่ยวข้องกับ Bitcoin มากกว่า Ethereum นั้น มีความน่าจะเป็นว่าจะมีทัศนคติที่คล้ายกันของผู้ใช้ Ethereum ด้วย ขนาดตัวอย่างสำหรับการวิจัยนี้เล็กมากอย่างไรก็ตาม (14 ผู้เข้าร่วม)
  2. งานวิจัยอีกชิ้นที่น่าสนใจจากปี 2022 ที่เผยแพร่ในด้านหน้า, ได้ชื่อว่า ทัศนคติทางการเมือง การเศรษฐกิจ และการปกครองของผู้ใช้บล็อกเชนมีความครอบคลุมมากขึ้นโดยมีการสํารวจผู้ใช้ crypto 3,710 ราย ผลการวิจัยพบว่าประมาณหนึ่งในสี่ของผู้ตอบแบบสอบถามระบุว่าความเป็นส่วนตัวเป็น "คุณสมบัติที่สําคัญที่สุดของบล็อกเชนและคริปโต"

  1. ในเชิงทั่วไปในเรื่องการตั้งค่าความเป็นส่วนตัวConsensysเผยแพร่งานวิจัยชื่อการสำรวจ Web3 และสกุลเงินดิจิตอลระดับโลกปี 2023ซึ่งทางพวกเขาสำรวจคนออนไลน์ทั้งหมด 15,158 คน ใน 15 ประเทศเกี่ยวกับหัวข้อต่าง ๆ เกี่ยวกับเว็บ และไม่ใช่แค่เรื่องคริปโต สำรวจพบว่า 83% ของผู้ตอบสนองคิดว่าความเป็นส่วนตัวของข้อมูลเป็นสิ่งสำคัญ ในขณะที่เพียง 45% ของผู้ตอบสนองระบุว่าพวกเขาวางใจว่าบริการอินเตอร์เน็ตปัจจุบันจะใช้ข้อมูลและข้อมูลส่วนตัวของพวกเขา
  2. A การสํารวจที่จัดทําโดย Financial Services Compensation Scheme ของสหราชอาณาจักรตีพิมพ์ในเดือนเมษายน 2023 ได้เน้นว่า 9% ของผู้ตอบแสดงว่า "ความปรารถนาสำหรับความไม่เปิดเผย / ความเป็นส่วนตัว" เป็นเหตุผลในการลงทุนในสกุลเงินดิจิทัล

การนำไปใช้ของโปรโตคอลการทำธุรกรรมอย่างลับหลัง

Railgunมีจำนวนที่น่าประทับใจโดยการใช้โปรโตคอลที่ดูเหมือนจะเติบโตอย่างต่อเนื่องตลอดเวลา พบจุดสูงสุดของ TVL มากกว่า 70 ล้านดอลลาร์และมูลค่ารวมกว่า 2 พันล้านดอลลาร์ ตามฐานะปัจจุบันในเดือนพฤศจิกายน พ.ศ. 2567

TVL (USD) Railgun บน Ethereum main - ที่มา: ​​Railgun — DefiLlama

Umbraยังเห็นการเพิ่มขึ้นอย่างต่อเนื่องของผู้ใช้โปรโตคอล (ผู้ลงทะเบียนที่อยู่ลับไปยัง ENS ของพวกเขา) โดยมีจำนวนเกือบ 77,000 คน ตามล่าสุดในเดือนพฤศจิกายน 2024:

ผู้ลงทะเบียนสะสม Umbra (跨链)— แหล่งที่มา: dune.com

หากเรามองไปที่โปรโตคอลความเป็นส่วนตัวที่มีชื่อเสียงที่สุด (และตอนนี้น่าเสียดาย) ใน Ethereum ซึ่งคือ Tornado cash เราจะเห็นได้ว่ายังคงมีการใช้งานอย่างมีนัยสำคัญ ถึงแม้ว่าที่อยู่ของสัญญาจะอยู่บนรายการ SDN ของ OFAC จากด้านเทคนิค

แผนภูมิด้านล่างแสดง TVL ของ Tornado Cash เมื่อเวลาผ่านไป เราสามารถสังเกตได้ว่าการลดลงครั้งใหญ่ครั้งแรกใน TVL จากจุดสูงสุดในประมาณเดือนตุลาคม 2021 เกิดขึ้นพร้อมกับการขายที่กว้างขึ้นในตลาด crypto โดยมีการลดลงครั้งใหญ่ครั้งที่สองในเดือนสิงหาคม 2022 ซึ่งสอดคล้องกับ OFAC ที่วาง Tornado Cash ไว้ในรายการ SDN และการลดลงครั้งใหญ่ครั้งที่สามที่สอดคล้องกับการออกแบบใหม่ของ OFAC ในเดือนพฤศจิกายน 2022 อย่างไรก็ตาม ตั้งแต่นั้นมา Tornado Cash ก็มีการเติบโตอย่างต่อเนื่องแม้จะมีการคว่ําบาตรโดยสูงถึง 600 ล้านดอลลาร์ใน TVL นี่เป็นหลักฐานที่ค่อนข้างชัดเจนว่ามีความต้องการความเป็นส่วนตัวในการทําธุรกรรมขั้นพื้นฐานใน Ethereum

TVL (USD) Tornado Cash บน Ethereum main — แหล่งที่มา: Tornado Cash — พันธมิตร DefiLlama

ภูมิทัศน์ของที่อยู่แอบอยู่

การวิจัยนี้ได้ระบุ 4 วิธีหลักสำหรับเครือข่าย EVM ในการใช้งานจริงในปัจจุบัน นั่นคือ:

ทั้ง Fluidkey และ Umbra ขึ้นอยู่บนมาตรฐาน Ethereum ซึ่งคือ:

Labyrinth และ Railgun มีพื้นฐานบน โปรโตคอล ZeroCash(ซึ่ง zcashเช่นเดียวกับ (Ethereum ที่พื้นฐานอยู่บน) ซึ่งใช้ชุดคุ้มครองที่ผู้ใช้มัดจำเงินไว้ Zerocash ใช้แนวคิดของ "บันทึก", ซึ่งเป็นพื้นที่แสดงความมีค่าทางกฎของความเป็นส่วนตัว แต่ละบันทึกรวมถึงค่าที่ซ่อนอยู่, กุญแจเจ้าของ, และหมายเลขที่ไม่ซ้ำกัน (nullifier) โดยใช้ zk-SNARKs เพื่อยืนยันการเป็นเจ้าของโดยไม่เปิดเผยรายละเอียด และเพื่อโอนค่าในบันทึก ตอนที่บันทึกรายการถูกใช้จ่าย หมายเลข nullifier ของมันจะถูกเปิดเผยเพื่อป้องกันการใช้จ่ายซ้ำ ในขณะที่บันทึกใหม่จะถูกสร้างขึ้นสำหรับผู้รับเงิน เป็นระบบ UTXO ภายในชุดคุ้มครอง

ในระดับสูง, ที่อยู่แบบลับทำงานตามหลักการพื้นฐานที่สามารถส่งเงินให้กับที่อยู่ที่ไม่เคยมีอยู่มาก่อน แต่ผู้รับที่ตั้งใจสามารถรับทราบและควบคุมได้ (กล่าวคือสามารถใช้จ่ายเงินเหล่านั้นในภายหลัง)

มาตรฐาน erc-5564 ระบุกลไกที่ผู้รับสามารถเผยแพร่ stealth-meta-address ได้ จากนั้นสามารถสร้างที่อยู่ Ethereum ใหม่จาก stealth-meta-address และอนุญาตให้ผู้รับทราบเรื่องเงินทุนเหล่านี้โดยไม่ต้องมีการสื่อสารโดยตรงเลย การปฏิบัติ stealth address ทั้งหมดทำงานบนหลักนี้

วิธีทำงานของ Stealth Addresses

ที่อยู่เมต้าแบบส่วนหนึ่งเป็นพื้นที่ที่เชื่อมต่อของ 2 คีย์สาธารณะที่ถูกบีบอัดเรียกว่า “spending key” และ “viewing key” ที่อยู่เมต้าแบบส่วนหนึ่งใช้รูปแบบที่อยู่พิเศษสำหรับเชือมต่อฟอร์แมต EIP-3770 พร้อมกับตัวอักษรนำหน้า “st:” ต่อไปนี้คือตัวอย่างของที่อยู่เบียร์

st:eth:0x036ffa94a70a5b9608aca693e12da815fe0295f3739c7b22b0284c6d85c464ba4a02c0521b6fe31714b2ca0efa159402574355b754e0b50406b0b5fb33128eec3507

เพื่อความเรียบง่ายที่อยู่ซ่อนตัวนี้สามารถเชื่อมโยงกับที่อยู่ Ethereum ปกติ (และดังนั้นจึง ENS) ทําให้ง่ายต่อการส่งเงินไปยังเจ้าของที่อยู่ซ่อนตัว ในการส่งเงินผู้ส่งจะแก้ไขที่อยู่ข้างต้นและการใช้มาตรฐาน EIP-5564 จะสร้างคีย์สาธารณะชั่วคราวซึ่งพวกเขาจะได้รับที่อยู่ซ่อนตัว ผู้ส่งจะส่งเงินไปยังที่อยู่การลักลอบใหม่ซึ่งโดยปกติจะผ่านสัญญา singleton ที่ผู้รับที่อยู่ที่ซ่อนตัวทั้งหมดฟังเหตุการณ์ สัญญานี้ปล่อยเหตุการณ์ "ประกาศ" ที่ผู้รับสมัครสมาชิก ทุกครั้งที่มีการปล่อยกิจกรรมประกาศผู้รับจะตรวจสอบคีย์สาธารณะชั่วคราวในประกาศรวมกับคีย์ส่วนตัวที่ดูและพิจารณาว่าพวกเขามีความสามารถในการใช้จ่ายเงินที่ส่งไปยังที่อยู่ซ่อนตัวหรือไม่ หากเป็นเช่นนั้นกระเป๋าเงิน / ลูกค้าที่พวกเขาใช้จะจดจําที่อยู่ซ่อนตัวและเงินที่เกี่ยวข้องเพิ่มลงในยอดคงเหลือที่แสดงของผู้ใช้ หากต้องการใช้เงินจริงพวกเขาสามารถลงนามในธุรกรรมโดยใช้คีย์การใช้จ่ายส่วนตัว

แผนภาพต่อไปนี้กำหนดกระบวนการจบลงสิ้นสุดของหวังว่าจะชัดเจนมากขึ้น

โปรดระลึกว่ากระบวนการนี้เกิดขึ้นอย่างไม่มีการสื่อสารแบบอินเทอร์แอคทีฟทั้งหมด นั่นหมายความว่าผู้ส่งและผู้รับจะไม่มีการสื่อสารโดยตรงใด ๆ ซึ่งหมายความว่าไม่มีการเชื่อมโยงใด ๆ เลยระหว่างผู้ส่งและผู้รับที่บุคคลที่สามใด ๆ สามารถสังเกตได้

อย่างไรก็ตามเพื่อให้งานนี้สามารถทำงานได้ในที่แรกผู้รับจำเป็นต้องทำให้ทราบที่อยู่แบบซ่อนของตัวเองแก่ผู้ส่งeip-6538 Stealth Meta-Address Registry. นี่คือสัญญาเดี่ยวที่อนุญาตให้ผู้ใช้ลงทะเบียนที่อยู่มีตาซ่อนเพื่อให้เป็นที่อยู่ Ethereum ธรรมดาที่ผู้ส่งสามารถค้นหาได้ นี่จะทำให้ผู้ส่งสามารถแก้ไขที่อยู่ธรรมดาจาก ENS และจากนั้นค้นหาที่อยู่มีตาซ่อนที่เกี่ยวข้องจากทะเบียน

แผนการนี้ทำให้มีการแยกการเชื่อมโยงระหว่างผู้ส่งและผู้รับ ซึ่งช่วยให้ทั้งสองฝ่ายมีความเป็นส่วนตัวจากโลกทั้งหมดที่รู้เกี่ยวกับธุรกรรมของพวกเขา แต่มีข้อจำกัดบางอย่าง:

  • เมื่อผู้รับจะใช้เงิน ผู้ที่พวกเขาโอนเงินให้ก็จะเห็นว่ามันเกิดจากผู้ส่งเดิม (คือพวกเขาสามารถดูที่อยู่ที่เงินถูกโอนมาจากและใครเคยส่งเงินไปยังที่อยู่นั้น) สิ่งที่นี่หมายความว่าโซ่การโอนยังคงเป็นอยู่และสามารถติดตามได้ แต่พวกเขาก็ไม่ได้เชื่อมโยงกับผู้รับเงินนั้นโดยตรง (นอกจากผู้รับเงินจะทำอะไรเช่นส่งเงินไปยังหนึ่งในที่อยู่ที่ไม่ใช่ stealth address ที่รู้จักของพวกเขา) โปรดทราบว่าสิ่งนี้ใช้กับการนำไปใช้กับ erc-5564 เท่านั้นไม่ใช่ Railgun หรือ Labyrinth
  • ผลข้างเคียงหนึ่งของปัญหาด้านบนคือเพื่อรักษาความเป็นส่วนตัวให้ดียิ่งขึ้น ผู้ใช้จะต้องเว้นเงินไว้ในที่อยู่แบบลับที่ถูกส่งมาต้นฉบับจนกว่าจะต้องการใช้งานจริง แทนที่จะรวมเงินไว้ในที่อยู่เดียวกัน นี่จะเป็นการเพิ่มความจำเป็นในการจดจำที่อยู่ และต่อมาจะใช้เงินในที่อยู่เหล่านั้น เนื่องจากจำนวนเงินที่คุณต้องการโอนจะต้องมาจากการรวมกันของเงินในที่อยู่อื่น ๆ หลายแห่ง
  • เพื่อโอนเงินจากที่อยู่นี้ ผู้รับจะต้องเติมเงินให้กับที่อยู่ด้วย ETH เพื่อชำระค่าแก๊ส ซึ่งอาจทำให้เจาะสิทธิ์ของผู้รับได้ นี่เป็นปัญหาที่รู้จักกับที่อยู่แบบลับและเป็นเหตุผลหนึ่งที่นับจำนวน สิ่งที่บริการที่ดำเนินการมีการสนับสนุน eip-4337 และ paymaster
  • ข้อเสียเปรียบประการหนึ่งของโครงการที่อยู่ซ่อนตัวคือผู้รับต้องตรวจสอบบล็อกเชนสําหรับกิจกรรมการประกาศและตรวจสอบทุกประกาศเพื่อดูว่าพวกเขาได้รับเงินหรือไม่ เห็นได้ชัดว่านี่เป็นค่าใช้จ่ายที่ทําไม่ได้สําหรับผู้ใช้ส่วนใหญ่โดยเฉพาะอย่างยิ่งเมื่อต้องรับเงินในหลายเครือข่าย เพื่อให้กระบวนการนี้มีประสิทธิภาพมากขึ้นมาตรฐานจะระบุ "แท็กมุมมอง" ซึ่งเป็นแฮชที่ถูกตัดทอนซึ่งได้มาจากความลับที่ใช้ร่วมกันและสามารถใช้เพื่อละทิ้งธุรกรรมที่ไม่ได้มีไว้สําหรับพวกเขาอย่างรวดเร็ว ด้วยการใช้ viewtags ประสิทธิภาพไม่ได้แย่บนเดสก์ท็อปอย่างไรก็ตามอาจสังเกตเห็นได้ชัดเจนขึ้นบนอุปกรณ์มือถือ ครั้งเดียวที่ประสิทธิภาพการทํางานจะสังเกตเห็นได้ชัดเจนคือหากกระเป๋าเงินกําลังได้รับการกู้คืนซึ่งในกรณีนี้กระเป๋าเงินจะต้องสแกนผ่านทุกที่อยู่ตั้งแต่มีการปรับใช้สัญญาแบบ on-chain ซึ่งใช้เวลานาน
  • เพื่อหลีกเลี่ยงสิ่งนี้ผู้ใช้สามารถเลือกที่จะแชร์กุญแจการดูแบบส่วนตัวกับบุคคลที่ไว้วางใจ บริการบุคคลที่สามนี้สามารถตรวจสอบเครือข่ายต่างๆ และสามารถแจ้งให้ผู้ใช้ทราบเมื่อพวกเขาได้รับเงิน แน่นอนว่านี้มาพร้อมกับการแลกเปลี่ยน: หรือบริการบุคคลที่สามไม่สามารถใช้เงินของผู้ใช้จริงๆ (พวกเขาไม่มีกุญแจการใช้จ่ายส่วนตัวที่จะทำเช่นนั้น) พวกเขาสามารถเห็นเงินทั้งหมดที่ส่งไปยังผู้รับที่กำหนดไว้ ซึ่งหมายความว่าผู้ใช้จำเป็นต้องไว้วางใจพวกเขาเกี่ยวกับความเป็นส่วนตัวของพวกเขา Fluidkey ทำเช่นนี้โดยค่าเริ่มต้น
  • โปรโตคอลที่มีที่อยู่ลับมาตรฐาน เช่น ERC-5564 ถูกออกแบบมาเพื่อให้สะดวกต่อการโอนที่คุ้มค่าของความเป็นส่วนตัว อย่างไรก็ตาม กรณีการใช้งานที่ไม่ใช่ทางการเงินเช่นการเรียกใช้งานฟังก์ชันสัญญาอัจฉริยะที่สุ่มเกิด ต้องการวิศวกรรมเพิ่มเติมบ้าง และมักเป็นการประมวลผลในระบบที่เฉพาะเจาะจง

เมทริกซ์เปรียบเทียบ

มีวิธีหลายวิธีที่เราสามารถเปรียบเทียบสี่รูปแบบของ stealth addresses ที่โพสต์นี้สำรวจ การปฏิบัติทั้งหมดมีความแตกต่างเล็กน้อยและแลกเปลี่ยน แต่สิ่งที่สำคัญที่สุดคือการติดตามและการเปรียบเทียบค่าที่อับอายในบางส่วน

ในขณะที่ทั้ง Fluidkey และ Umbra อนุญาตให้โอนเงินไปยังที่อยู่ Ethereum มาตรฐานในขณะที่ทําลายการเชื่อมโยงใด ๆ กับตัวตนของผู้รับพวกเขายังคงรักษาความสามารถในการตรวจสอบย้อนกลับของธุรกรรมซึ่งหมายความว่าผู้ส่งสามารถมองเห็นได้สําหรับทุกคนที่ตรวจสอบประวัติการทําธุรกรรมของที่อยู่ซ่อนตัว ซึ่งหมายความว่าหากคุณได้รับเงินตามที่อยู่ซ่อนตัวบุคคลที่คุณตัดสินใจส่งเงินเหล่านั้นไปจะดูว่าพวกเขามาจากไหน นอกจากนี้ยังมองเห็นมูลค่าที่แท้จริงที่ถูกโอนได้อีกด้วย Railgun และ Labyrinth ซ่อนผู้ส่งรวมถึงมูลค่าที่ส่ง แต่ด้วยการแลกเปลี่ยนว่าทั้งหมดนี้เกิดขึ้นภายในสัญญาเดียวและไม่ใช่ธุรกรรมปกติไปยังที่อยู่ Ethereum ปกติ

รูปด้านล่างแสดงวิธีที่โปรโตคอลที่เราดูในโพสต์นี้เปรียบเทียบกันในสองมิติที่สําคัญของการเปรียบเทียบ

เพื่อศึกษาความแตกต่างในรายละเอียดเล็กน้อยมากขึ้น ด้านล่างคือเมทริกซ์เปรียบเทียบของโปรโตคอล stealth address สี่รายการ ในหกมิติหลัก

  1. ความเป็นส่วนตัวที่สมบูรณ์ตั้งแต่จุดเริ่มต้นจนถึงจุดสิ้นสุด (เฉพาะผู้ส่งและผู้รับเท่านั้นที่เห็นการชำระเงิน)
  2. ความลับทางด้านหน้า การส่งเงินที่ได้รับผ่านธุรกรรมล่องหนที่ไม่อนุญาตให้ผู้รับคนที่สองเห็นว่าเงินมาจากที่ใด
  3. ตามมาตรฐาน erc-5564 และ erc-6538
  4. ใช้สถาปัตยกรรมโมดูลาร์ที่ขยายได้ซึ่งช่วยให้สามารถทํางานร่วมกับ dapps ของบุคคลที่สามได้
  5. การใช้งานมี SDK ที่นักพัฒนาสามารถใช้เพื่อผสานรวมได้หรือไม่
  6. โซลูชันนี้มีระดับการปฏิบัติตามผ่านการสนับสนุนการยกเลิกการเป็นนิรนามหรือไม่?
  7. การออบสเคชันของการโอบสเคชันของจำนวน / มูลค่าที่กำลังถูกโอนรองรับหรือไม่?

| Protocol | E2E Privacy | Forward Secrecy | Open Standard | Modular Architecture | SDK | การสนับสนุนการถอดรหัสสำหรับการฆ่าบุคคล | จำนวนที่ซ่อนอยู่ |

|—————-|——————-|————————-|————————|———————————|———|—————————————|————————|

| Umbra | ✅ | ⛔️ | ✅ | ⛔️ | ⛔️ | ⛔️ | ⛔️ |

| Fluidkey | ⛔️ | ⛔️ | ✅ | ✅ | ใกล้จะมาเร็วๆนี้ | ✅ | ⛔️ |

| Labyrinth | ✅ | ✅ | ⛔️ | ✅ | ✅ | ✅ | ✅ |

| Railgun | ✅ | ✅ | ⛔️ | ✅ | ✅ | อิสระ | ✅ |

บางส่วนของความละเอียดและความแตกต่างอื่น ๆ ถูกจับตามอยู่ในส่วนต่อไปนี้ การปฏิบัติแต่ละรูปแบบมีความแตกต่างที่น่าสนใจที่อาจจะทำหรือไม่ทำความแตกต่างขึ้นอยู่กับกรณีการใช้งานของคุณ

ตัวอย่างเช่นใน Fluidkey: การโอนเงินทั้งหมดจะไปยังที่อยู่เบี้ยวบนเชื่อมต่อโดยตรงบนเชือกโซ่ ในทางตรงกันข้าม Umbra: เฉพาะ ETH เท่านั้นที่ไปยังที่อยู่เบี้ยวบนเชื่อมต่อโดยตรงบนเชือกโซ่ ในขณะที่โทเค็นจะไปยังสัญญากลาง และด้วย Railgun และ Labyrinth ธุรกรรมทั้งหมดจะไปยังสัญญาหลักไม่ไปยังที่อยู่เบี้ยวบนเชื่อมต่อโดยตรงบนเชือกโซ่

การพิจารณาลึกลงในการนำ Stealth Address ไปใช้งานได้จริง

ฟลูอิดคีย์

Fluidkeyเป็นการปรับใช้ erc-5564 ซึ่งอนุญาตให้ผู้ใช้ส่ง รับ สลับ และสะพาน ETH และตั๋ว erc-20 ขณะที่เขียน Fluidkey ถูกนำไปใช้บน Base, Optimism, Arbitrum, Polygon, Gnosis, และ Ethereum mainnet

ผู้ใช้จะทำการจับคู่กับ Fluidkey ผ่านการใช้งานผ่าน UI บนเว็บไซต์ของพวกเขา โดยเมื่อพวกเขาล็อกอินครั้งแรกโดยใช้กระเป๋าสตางค์ของพวกเขา พวกเขาจะลายลงข้อความสร้างกุญแจจากที่ได้มาจากจุดมุ่งหมายและการใช้จ่าย กุญแจเหล่านี้เหมือนกันจะถูกสร้างใหม่ในทางเดียวกันทุกครั้งที่ผู้ใช้เข้าใช้แอปพลิเคชัน

มีวิธีที่ Fluidkey แตกต่างจากการทำงานอย่างอื่น ๆ หลายวิธี วิธีที่ Fluidkey แตกต่างจากการทำงานอื่น ๆ ของ stealth addresses คือผู้ใช้แบ่งปันกุญแจการดูส่วนตัวของพวกเขากับ Fluidkey (ซึ่งจริง ๆ แล้วBIP-32โหนดที่ได้รับจากคีย์ที่เจ้าพูดอยู่ในตำแหน่งที่จะเป็นคนเอาง่าย นี้ช่วยให้ Fluidkey สามารถสร้างที่อยู่แบบจางหรือซ่อนไว้สำหรับผู้ใช้ได้และยังแจ้งให้ผู้ใช้ทราบเมื่อพวกเขาได้รับการชำระเงินเข้าสู่ที่อยู่เหล่านั้น แต่นั่นหมายความว่า Fluidkey อยู่ในตำแหน่งที่จะดูธุรกรรมที่เข้ามาและยอดคงเหลือของผู้ใช้ได้ซึ่งเป็นการแลกเปลี่ยน อย่างไรก็ตาม มันยังคงเป็นการรักษาหน้าที่แบบเองโดยสมบูรณ์

อดีตที่น่าสนใจหนึ่งของการออกแบบของ Fluidkey คือการใช้บัญชีสัญญาอัจฉริยะกับที่อยู่แอบแฝงใหม่ทุกที่ สิ่งนี้เกิดขึ้นในเชิงกับความเป็นจริงเท่านั้นเมื่อมีการใช้เงินจากที่อยู่แอบแฝง บัญชีอัจฉริยะเป็นบัญชี Safe 1/1 และอนุญาตให้ใช้สิ่งต่าง ๆ เช่นการสนับสนุนแก๊ส ทำให้ง่ายต่อการจัดการที่อยู่แอบแฝงต่าง ๆ รายละเอียดอย่างละเอียดมีอยู่ใน คำอธิบายเทคนิค.

แม้ว่า Fluidkey จะมีการแลกเปลี่ยนการรักษาการมองเห็นบัญชีของผู้ใช้ แต่สิ่งนี้อาจเป็นข้อได้เปรียบเมื่อพูดถึงการปฏิบัติตามข้อกําหนดแม้ว่ากรอบการทํางานที่แน่นอนสําหรับวิธีที่ Fluidkey จะจัดการกับสิ่งต่างๆเช่นคําขอบังคับใช้กฎหมายที่อาจเกิดขึ้นในอนาคตยังไม่เปิดเผยต่อสาธารณะ อย่างไรก็ตามพวกเขาตั้งอยู่ในสวิตเซอร์แลนด์และในขณะที่พวกเขาต้องปฏิบัติตามกฎหมายท้องถิ่นกฎหมายคุ้มครองข้อมูลมีความชัดเจนและแข็งแกร่งมาก - จะต้องมีกรณีที่ชัดเจนมากในการแบ่งปันข้อมูลและจะต้องได้รับการพิจารณาจากศาลด้วย (ดูโพสต์นี้สำหรับภาพรวมที่ยอดเยี่ยมของกฎหมายความเป็นส่วนตัวในสวิส

ผู้ใช้ยังมีอิสระในการส่งออกธุรกรรมหรือแบ่งปันคีย์การดูกับบุคคลที่สาม (เช่นนักบัญชีของพวกเขา) ซึ่งอาจเป็นประโยชน์อย่างยิ่งโดยเฉพาะสําหรับธุรกิจ อย่างไรก็ตามควรระลึกไว้เสมอว่าด้วยข้อมูลจําเพาะ ERC-5564 การแบ่งปันคีย์สาธารณะคือ "ทั้งหมดหรือไม่มีเลย" ซึ่งหมายความว่าไม่สามารถเปิดเผยธุรกรรมแต่ละรายการได้ด้วยตัวเอง นอกจากนี้เช่นเดียวกับการใช้งานทั้งหมดของ erc-5564 ความสามารถในการตรวจสอบย้อนกลับจะไม่เสียหาย - เพียงแค่เชื่อมโยงไปยังผู้ใช้ - ซึ่งหมายความว่าประวัติการทําธุรกรรมของที่อยู่ซ่อนตัวแต่ละรายการจะถูกเปิดเผยต่อใครก็ตามที่มีคีย์การดู คุณลักษณะหนึ่งที่ไม่ค่อยมีใครรู้จักของ Fluidkey ที่ช่วยลดการแลกเปลี่ยนเหล่านี้คือความสามารถในการหมุนปุ่มดูซึ่งจะช่วยให้ผู้ใช้สามารถใช้คีย์การดูใหม่ทุกเดือนและแบ่งปันการเข้าถึงมุมมองไปยังเดือนที่เฉพาะเจาะจงกับบุคคลที่สามเท่านั้น

ประโยชน์ที่ดีอย่างหนึ่งของวิธีการของ Fluidkey คือที่อยู่ที่ซ่อนตัวนั้นไม่ได้ถูกสร้างขึ้นโดยผู้ส่ง แต่สร้างขึ้นโดย Fluidkey เองหลอกแบบสุ่มทุกครั้งที่มีการสอบถาม ENS สิ่งนี้เร็วกว่ามากเนื่องจากผู้ใช้ไม่ต้องสแกนผ่านเหตุการณ์การประกาศเพื่อระบุธุรกรรมที่พวกเขาเป็นผู้รับ นอกจากนี้ยังหมายความว่าผู้ส่งไม่จําเป็นต้องมีกระเป๋าเงินที่อยู่แบบซ่อนตัวเพื่อสร้างที่อยู่ซ่อนตัวสําหรับผู้รับ - พวกเขาเพียงแค่ส่งเงินไปยังที่อยู่เช่นเดียวกับที่อยู่อื่น ๆ และนั่นแหล่ะ นอกจากนี้ยังหมายความว่าไม่มีสัญญาการลงทะเบียนที่เกี่ยวข้องซึ่งเป็นเอกลักษณ์ของการออกแบบของ Fluidkey และเป็นข้อได้เปรียบที่สําคัญ

คุ้มค่าที่จะบอกว่า Fluidkey มุ่งมั่นที่จะเป็นเจ้าของเองอย่างสมบูรณ์ และพวกเขาได้เปิดตัวไลบรารี Stealth Account Kit ของพวกเขาเป็นโอเพนซอร์ส และยังมีอินเตอร์เฟซการกู้คืนที่พัฒนาอย่างอิสระหลายรายให้ใช้งานในกรณีที่ Fluidkey หายไปอย่างไม่คาดคิด ซึ่งหมายความว่าเงินจะไม่ถูกล็อคหรือติดอยู่

การนำเสนอที่อยู่

โดยใช้บัญชีสมาร์ทคอนแทร็กต์ในรูปแบบ counterfactually, Fluidkey สามารถแยกการจัดการของที่อยู่สำเภาแต่ละรายให้เป็นอัตโนมัติได้ นั่นหมายความว่าหากคุณต้องการโอนจำนวนเงินเฉพาะไปยังผู้รับที่แน่นอนจากยอดคงเหลือของคุณที่ต่างหาก stealth addresses, Fluidkey สามารถหาวิธีการใช้ส่วนผสมของที่อยู่เพื่อใช้เงินสำหรับการโอนได้อัตโนมัติโดยจัดการค่าแก๊สและการถ่ายโอนสัญญา, ทั้งหมดนี้เป็นภายในเครื่องหมายความบันเทิง Fluidkey ยังช่วยให้ผู้ใช้สามารถควบคุมการรวมที่อยู่โดยใช้คุณสมบัติที่เก๋ๆ ที่เรียกว่าป้ายชื่อ ซึ่งช่วยให้ผู้ใช้สามารถแท็กที่อยู่ในหมวดหมู่ต่างๆได้

การแก้ไข ENS

Fluidkey ต้องการผู้ใช้สร้างชื่อ ENS ที่เฉพาะเจาะจงสำหรับ Fluidkey ชื่อเหล่านี้จะมีรูปแบบที่แน่นอน คือ username.fkey.id และ username.fkey.eth ซึ่งหนึ่งเป็น URL เพื่อส่งเงินให้กับผู้อื่นผ่านอินเทอร์เฟซเว็บ และอีกอันเป็นชื่อ ENS มาตรฐานที่สามารถใช้กับกระเป๋าสตางค์ได้

การตั้งค่า ENS ใช้ENS ตัวแก้ไข offchain (aka erc-3668: อ่าน CCIP) เพื่อส่งคืนที่อยู่ที่ซ่อนเร้น ทุกครั้งที่มีการสอบถามตัวแก้ไขนอกเครือข่ายมันจะสร้างและส่งคืนที่อยู่ซ่อนตัวใหม่สําหรับชื่อ ENS ที่เกี่ยวข้อง นี่เป็นคุณสมบัติที่ดีเนื่องจากช่วยให้ผู้ใช้มีชื่อ ENS ที่มนุษย์อ่านได้เพียงชื่อเดียวในขณะที่ยังคงรักษาความเป็นส่วนตัวของที่อยู่ซ่อนตัวเนื่องจากที่อยู่ซ่อนตัวที่สร้างขึ้นไม่สามารถเชื่อมโยงกับชื่อ ENS ย้อนหลังได้

ต้นทุน

Fluidkey ใช้งานได้ฟรีและไม่เรียกเก็บค่าธรรมเนียม มีค่าใช้จ่ายในการปรับใช้สัญญาที่ปลอดภัยไปยังที่อยู่ทุกแห่งที่มีเงินเมื่อคุณต้องการใช้เงินเหล่านั้น อย่างไรก็ตามในขณะที่ค่อนข้างแพงบน mainnet ใน L2s มันค่อนข้างเล็กน้อยโดยปกติจะน้อยกว่า 1 เซ็นต์แม้ว่าจะรวมที่อยู่ซ่อนตัวหลายรายการไว้ในการถ่ายโอนครั้งเดียวก็ตาม

พวกเขายังสามารถรับการสนับสนุนแก๊สผ่านการติดตั้งที่ปลอดภัย - พวกเขาคำนวณว่าการใช้แก๊สจะเสียเท่าไร และเหลือจากยอดคงเหลือของผู้ใช้ แม้ว่าจะเป็นโทเค็น - ในกรณีนี้ผู้ถือสิทธิ์จะติดตั้ง Safe และโอนโทเค็นแทนผู้ใช้

Umbra Cash

Umbra เป็นการปรับใช้ eip-5564 + eip6538 โดย Scopeliftเมื่อผู้ใช้เข้าสู่แอป Umbra, พวกเขาจะผ่านขั้นตอนการตั้งค่าในนั้นพวกเขาทำการลงชื่อเข้าใช้ข้อความซึ่งได้มาจากส่วนที่ถูก เบียนข้อมูลการใช้จ่ายและแสดงออกของซึ่งมีที่อยู่เงียบๆ จากนั้นพวกเขาจะลงทะเบียนส่วนที่ถูกเงียบๆ นี้กับที่อยู่กระเป๋าเงินหลักของพวกเขาในทะเบียนบนเชื่อมโยงข้อมูล นี่คือส่วนที่แตกต่างจาก Fluidkey.

การใช้งาน erc-5564 ของ Umbra เป็นการใช้งานที่ใกล้เคียงกับข้อมูลจำเพาะ โดยที่พวกเขาไม่สามารถเข้าถึงกุญแจผู้ใช้ได้ สิ่งนี้หมายความว่า Umbra (หรือใครก็ตาม) ไม่สามารถเห็นเงินของผู้ใช้ได้ แต่สิ่งนี้หมายความว่าผู้ส่งจะต้องมีกระเป๋าเงินที่เข้ากันได้กับ erc-5564 (หรือแอป Umbra) เพื่อสร้าง stealth meta-address เพื่อส่งเงิน

เมื่อใครบางคนต้องการส่งเมื่อต้องการโอนเงินให้ผู้ใช้ พวกเขาจะใช้แอป Umbra โดยปกติ พื้นที่แอป Umbra จะค้นหา stealth meta-address ที่ลงทะเบียนกับชื่อ ENS / ที่อยู่กระเป๋าเงินและสร้างที่อยู่ stealth ผู้รับสามารถเข้าสู่แอป Umbra และสแกนหาเงินที่ถูกส่งไปยังที่อยู่ stealth ที่เป็นของพวกเขาตั้งแต่ครั้งล่าสุดที่พวกเขาเข้าสู่ระบบ ด้วยการแคชที่ฉลาด ดูเหมือนว่าจะใช้เวลาเพียง 10-15 วินาทีสำหรับการสแกนรายสัปดาห์ แม้ว่าผู้ใช้สามารถระบุช่วงบล็อกเพื่อจำกัดการสแกนเพิ่มอีกได้ ใน Umbra v2 จะรวมการใช้ viewtags ซึ่งจะทำให้กระบวนการเร็วขึ้นอีก

Relayer

หนึ่งในปัญหาของที่อยู่เงินล่องหนที่เราได้กล่าวถึงก่อนหน้านี้คือว่าในการที่ผู้รับจะใช้เงินที่ถูกส่งไปยังที่อยู่เงินล่องหน ที่อยู่นั้นจะต้องมี ETH หรือเหรียญ token ที่จำเป็นอื่น ๆ เพื่อจ่ายค่าธรรมเนียมการทำธุรกรรม บนเครือข่ายส่วนใหญ่ หากที่อยู่เงินล่องหนถูกส่ง ETH ในที่แรก ๆ นี้มักจะไม่ใช่ปัญหา อย่างไรก็ตาม หากที่อยู่เงินล่องหนถูกส่ง erc-20 token หรือ NFT การกระทำของการทำเงินกับที่อยู่ด้วย ETH เพื่อจ่ายค่าแก๊ส อาจทำให้ที่อยู่นี้เชื่อมโยงกับที่อยู่อื่น ๆ ของผู้ใช้ จนทำให้สิทธิส่วนตัวของพวกเขาถูกนำออก

เพื่อหลีกเลี่ยงสถานการณ์นี้ Umbra ใช้กลไกที่เกี่ยวข้องกับ relayer โดยเมื่อทรัพย์สินใด ๆ ที่ไม่ใช่ ETH ถูกส่งไปยังผู้ใช้ Umbra จริง ๆ มันจะถูกส่งไปยังสัญญาพิเศษแทนที่จะส่งโดยตรงไปยัง stealth address ผู้ใช้สามารถใช้เงินที่ส่งไปยัง stealth address โดยการส่ง meta-transaction (จากแอป Umbra) ไปยัง relayer ของ Umbra ซึ่งจะโอนเงินออกจากสัญญาฉลากในนามของผู้ใช้ relayer จะหักโทเคนบางส่วนเพื่อครอบคลุมค่าธรรมเนียมก๊าซ และเริ่มต้นสนับสนุนโทเคนจำนวนที่เฉพาะเจาะจงเท่านั้น

ค่าใช้จ่าย

สัญญา Umbra ยังใช้ค่าธรรมเนียมขนาดเล็กเมื่อโอนเงินในเครือข่ายที่มีค่าธรรมเนียมการทำธุรกรรมต่ำเพื่อป้องกันการสแปม หลักการคือการสแปมจะเพิ่มต้นทุนในการสแกนผ่านธุรกรรมเพื่อระบุธุรกรรมที่เกี่ยวข้อง ดังนั้นการดำเนินการนี้ถือว่าเป็นการแลกเปลี่ยนที่ยอมรับ

เครือข่ายที่สนับสนุน

Umbra ถูกติดตั้งบน Ethereum mainnet, รวมถึง Optimism, Polygon, Gnosis Chain และ Arbitrum ในปัจจุบัน

สัญญาทะเบียน Umbra มีการออกแบบที่น่าสนใจ วิธีการใช้ create2 และ deployer create2 มาตรฐาน และที่อยู่สัญญาฉลองเหมือนกันบนเครือข่ายใดก็ได้ นี่หมายความว่าหากสัญญาฉลองมีอยู่บนเครือข่ายที่กำหนดไว้แล้ว ลูกค้าก็สามารถมั่นใจได้ว่าเป็นสัญญาที่ถูกต้อง ลูกค้าสามารถกำหนดค่าเพื่อเพิ่มเครือข่าย และผู้ใดก็สามารถฉลองบนเครือข่ายใดก็ได้ พวกเขาได้ทำให้ bytecode เป็นแบบที่เป็นที่ยอมรับและสัญญาไม่มีเจ้าของซึ่งอนุญาตให้ฉลองสัญญาทะเบียนและประกาศบนเครือข่ายใดก็ได้โดยไม่จำเป็นต้องขออนุญาต

Umbra v2

Scopelift กำลังพัฒนาอยู่ในปัจจุบันเวอร์ชัน 2 ของ Umbra, ซึ่งเป็นการนำเสนอโครงสร้างหลักที่ให้สัญญาหลักถูกขยายเพื่อสนับสนุนมาตรฐานโทเคนใหม่หรือกรณีการใช้ที่ไม่ใช่การชำระเงิน โดยใช้โครงสร้างใหม่นี้ นักพัฒนาบุคคลที่สามสามารถสร้างโมดูลสำหรับมาตรฐานโทเคนใดก็ได้ เช่น erc-1155, erc-7621, การสนับสนุน paymasters สำหรับ erc-4337, หรืออย่างอื่นใดที่คุณสามารถคิดออกมา ขณะนี้สัญญาหลัก Umbra รองรับสองสถานการณ์ คือสำหรับ ETH และสำหรับ erc-20 เวอร์ชัน 2 จะสนับสนุนสถานการณ์ที่แตกต่างกันมากมาย

Labyrinth

เขาง่าย เป็นโปรโตคอลที่ไม่ได้ใช้ EIP-5564 + EIP6538 แต่ใช้การพิสูจน์ความรู้เป็นศูนย์เพื่อเพิ่มการไม่เปิดเผยตัวตนและความเป็นส่วนตัวให้กับธุรกรรม เอกสารไวท์เปเปอร์ของ Labyrinth อธิบายว่าเป็นมิดเดิลแวร์ "zkFi": "zkFi นําเสนอโซลูชันแบบแพ็คเกจที่ทําหน้าที่เป็นมิดเดิลแวร์ความเป็นส่วนตัวที่มีการปฏิบัติตามข้อกําหนดในตัว" การปฏิบัติตามข้อกําหนดในตัวหมายถึง "Selective De-Anonymization" ของ Labyrinth ซึ่งเป็นโซลูชันที่ซับซ้อนซึ่งช่วยให้ธุรกรรมบางอย่างสามารถยกเลิกการไม่เปิดเผยตัวตนไปยังผู้ที่ได้รับอนุญาตเฉพาะเช่นหน่วยงานทางกฎหมายเช่นตํารวจสากลเป็นต้นในขณะที่ยังคงความโปร่งใสและเปิดกว้าง

สัญญาอัจฉริยะหลักที่ Labyrinth ใช้ ได้แก่ กลุ่มธุรกรรมหลายธุรกรรมและหลายสินทรัพย์ซึ่งช่วยให้ผู้ใช้สามารถทําธุรกรรมหลายสินทรัพย์ในธุรกรรมเดียว ในการใช้สินทรัพย์ผู้ใช้จะสแกนเครือข่ายและดึงข้อมูลบันทึกย่อที่เข้ารหัสถอดรหัสบันทึกย่อและกรองสินทรัพย์ที่ต้องการใช้จ่าย ต่อจากนั้นผู้ใช้จะสร้าง ZKP ที่มีธุรกรรมและลายเซ็นจากคีย์การลงนามที่เกี่ยวข้องกับบันทึกย่อที่ต้องการใช้ธุรกรรม

ส่วนหนึ่งของสัญญาหลักของ Labrynth ประกอบด้วยสัญญาแปลงที่เชื่อมต่อกับสัญญาพร็อกซีโมดูลาร์ที่เป็นโปรกซี่เพื่อสัญญาภายนอก ดังนั้นตัวอย่างเช่น: หากผู้ใช้ต้องการใช้ Labyrinth เพื่อติดต่อกับ Uniswap ผู้ใช้จะสร้างธุรกรรมที่จะใช้สัญญาแปลงเพื่อเรียกใช้การทำธุรกรรมสำหรับกลุ่ม Uniswap ผ่านสัญญาโปรกซี่ของ Uniswap

โปรโตคอล zkFi ของ Labyrinth ใช้ "โน้ต" ในการติดตามยอดคงเหลือและการโอนเงิน โน้ตเป็นโครงสร้างข้อมูลที่อธิบายปริมาณของสินทรัพย์บางปริมาณและที่อยู่ที่เกี่ยวข้อง ไคลเอ็นต์จะเก็บข้อมูลที่จำเป็นในการสร้างโน้ตและใช้ข้อมูลนี้ในการใช้จ่ายสินทรัพย์ การสร้างส่วนที่เกี่ยวข้องกับโน้ต (แฮชของ ID สินทรัพย์ เจ้าของ และค่า) จะถูกเก็บไว้ในต้นไม้ Merkle บนเชื่อมโซ่ ในความเป็นจริง Labyrinth ใช้ต้นไม้ Merkle สองต้นไม้ หนึ่งสำหรับโน้ตและหนึ่งสำหรับที่อยู่ราก

โครงสร้างข้อมูลบันทึกมีดังต่อไปนี้:

  • assetId: รหัสประจำตัวสำหรับสินทรัพย์ (ETH, WBTC, MATIC, ฯลฯ) บันทึกนี้แทนค่าของ
  • value: ค่าหรือจำนวนที่บันทึกแทน
  • leafIndex: ดัชนีใบของต้นไม้เมอร์เคิลที่บันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึกบันทึก
  • การทำให้เป็นสายตา: ปัจจัยการทำให้เป็นสายตาที่สุ่ม
  • rootAddress: ที่อยู่รากของผู้ใช้ที่มีอำนาจในการใช้จ่าย
  • revoker: จุดคีย์สาธารณะของผู้เพิกถอนที่เลือก

คุณจะเห็นว่าโครงสร้างข้อมูลด้านบนไม่มีการอ้างอิงถึงเจ้าของสินทรัพย์เลย ซึ่งน่าแปลกใจเนื่องจากการสังเคราะห์ที่ถูกบันทึกไว้ในต้นไม้เมอร์เคิลของบันทึกเป็นการเข้ารหัสด้วย id ของสินทรัพย์ มูลค่า และเจ้าของ ในความเป็นจริงแล้ว เจ้าของถูกคำนวณจากที่อยู่ราก ผู้เพิกถอน และปัจจัยการบังคับให้มองไม่เห็น ดังนั้นสำหรับผู้สังเกตการณ์ภายนอก ผู้เป็นเจ้าของจริงๆคือที่อยู่ใหม่ที่ถูกสร้างขึ้นสำหรับทุกธุรกรรมใหม่

สระน้ำที่ปกป้อง

สิ่งที่น่าสนใจจริงๆเกี่ยวกับ Labyrinth ซึ่งแตกต่างจากโปรโตคอลที่อยู่แบบซ่อนตัวของวานิลลาเล็กน้อยคือกลุ่มสินทรัพย์นั้นแท้จริงแล้วเป็นพูลที่มีการป้องกันซึ่งใช้แนวคิดของบันทึกย่อเพื่อสร้างพูล UTXO ที่มีการป้องกันซึ่งให้ความลับล่วงหน้าในการทําธุรกรรม จําได้ว่าด้วยการใช้งาน eip-5564 เอนทิตีที่ผู้ใช้โอนเงินจะสามารถดูว่าเงินเหล่านั้นมาจากไหน กล่าวอีกนัยหนึ่งอลิซจ่ายเงินให้บ๊อบโดยใช้ที่อยู่ซ่อนตัวบ๊อบจ่ายชาร์ลีดังนั้นตอนนี้ชาร์ลีจะเห็นว่าบ็อบได้รับเงินจากอลิซในตอนแรกและอื่น ๆ นี่ไม่ใช่กรณีของสระน้ําที่มีเกราะป้องกันของ Labyrinth

เพื่อเข้าใจวิธีการทำงานของสระน้ำที่ปกป้องนี้ เราจำเป็นต้องมองวิธีการโอนเงินภายในโปรโตคอล:

ยอดคงเหลือของผู้ใช้ในสระน้ำเงินรักษาความปลอดภัยเป็นผลรวมของบันทึกของสินทรัพย์ที่เกี่ยวข้อง ในการใช้จ่ายบันทึกเหล่านั้นผู้ใช้ต้องเปิดเผย 'nullifiers' ของบันทึกเหล่านั้น Nullifier เป็นค่าที่ไม่ซ้ำกันสำหรับบันทึกแต่ละรายการและเมื่อบันทึกนั้นถูกใช้จ่าย nullifier จะถูกทำเครื่องหมายเพื่อป้องกันการใช้จ่ายซ้ำซ้อนและสร้างบันทึกใหม่จากบันทึกที่ใช้จ่ายนั้น บันทึกหลายรายการของสินทรัพย์เดียวกันสามารถรวมกันได้และสร้างบันทึกใหม่หลายรายการ nullifier ก็คือเพียงแค่ hash ของ (𝑙,𝑐,𝛿) โดยที่ 𝑙 คือดัชนีของการสัญญาณการของบันทึกในต้นไม้ของบันทึก และ 𝑐 คือการสัญญาณการและ 𝛿 คือองค์ประกอบที่สุ่มเองที่เรียกว่าตัวปิดเงาอีกต่อหนึ่ง

ผู้รับการโอนเงินแบบลับระบุการโอนเงินผ่านช่องทางเดียวกับ eip-5564 โดยพวกเขาฟังก์ชันกิจกรรมที่ถูกส่งออกจากสัญญาสำคัญและกำหนดว่าพวกเขาจะสามารถส่งเงินจากที่ใดก็ได้ ระบุการรับเงินผ่านการใช้งานแท็กมุมมองและการเก็บรักษาแคชและการซิงค์ข้อกำหนดโดยไม่ต้องรอเวลาในการใช้งานแอป

มีการวิจัยอยู่เรื่อยเพื่อทำให้กระบวนการค้นพบเงินที่ได้รับเร็วขึ้น ดูตัวอย่างเช่นข้อเสนอนี้จาก Aztec ได้คำขอเสนอราคา: โปรโตคอลการค้นพบบันทึก - Aztec.

เพื่อใช้เงิน ผู้ใช้ยังต้องสร้าง zk-proof โดยไม่เหมือนกับ erc-6654 implementations ซึ่งพื้นฐานก็คือที่อยู่ Ethereum ปกติ การสร้างพิสูจน์ต้องใช้วอลเล็ตที่เข้ากันได้ ประสิทธิภาพก็ดีพอ ใช้เวลาประมาณ 20 วินาทีหรือเล็กน้อยกว่าบนอุปกรณ์ Android ระดับกลาง

Bundler และ Converter

มีคุณสมบัติที่ดีสองสามอย่างที่ Labyrinth นําเสนอซึ่งช่วยแก้ปัญหาบางจุดของธุรกรรมการลักลอบ ธุรกรรมที่ส่งไปยังสัญญาหลักเขาวงกตจะถูกส่งเป็นการดําเนินงานของผู้ใช้ผ่าน erc-4337 bundlers การตั้งค่านี้ช่วยให้สามารถใช้บันทึกการใช้จ่ายโดยไม่ต้อง ETH หรือต้องใช้โทเค็นก๊าซสําหรับการทําธุรกรรมเนื่องจากผู้ใช้สามารถใช้ประโยชน์จาก erc-4337 paymaster เพื่อจ่ายก๊าซในนามของพวกเขาซึ่งจะเพิ่มความเป็นส่วนตัวอีกชั้นหนึ่ง ข้อยกเว้นเพียงอย่างเดียวคือเงินฝากเริ่มต้นซึ่งไม่ได้ส่งเป็น userop การใช้ er-4337 paymaster นี้ยังมีประโยชน์เพิ่มเติมของความสามารถในการชําระค่าก๊าซผ่านสินทรัพย์ที่กําลังโอนแม้ว่าจะเป็นโทเค็น erc-20 และสําหรับเขาวงกตนี้เปิดเผย API ออราเคิลราคาก๊าซ

คุณสมบัติอีกอย่างที่ Labyrinth มีคือสถาปัตยกรรมแบบโมดูลที่ช่วยให้สามารถใช้สัญญาแปลงเป็นพร็อกซีไปยังแอปพลิเคชันของบุคคลที่สามได้ ซึ่งช่วยให้ผู้ใช้ไม่เพียงแค่โอนเงินด้วยธุรกรรมเงียบๆ แต่ยังสามารถติดต่อสื่อสารกับแอปพลิเคชันของบุคคลที่สาม เช่น DEXs (เช่น Uniswap, Aave, Lido เป็นต้น) สัญญาพร็อกซี "แปลง" เหล่านี้ซึ่งสร้างฟังก์ชันที่รับเป็นจำนวนที่กำหนดของสินทรัพย์ และส่งออกเป็นจำนวนที่กำหนดของสินทรัพย์ โดยมีตัวตนของตัวตนย่อยอยู่ในสัญญาของบุคคลที่สาม

Compliance Solution

Labyrinth รับรองความปฏิบัติตามกฎระเบียบและการปฏิบัติตามกฎหมายผ่านกรอบที่เรียกว่า Selective De-Anonymization (SeDe)

โปรดจำไว้ว่าโครงสร้างข้อมูลของบันทึกมีฟิลด์ที่เรียกว่า “revoker” ซึ่ง revoker คือที่อยู่ขององค์กรที่เฉพาะเจาะจงที่สามารถเริ่มกระบวนการถอดความลับได้ ผู้ใช้ต้องเลือกอย่างน้อยหนึ่งรายการ revoker จากรายการที่กำหนดไว้ ผู้ถอดถอนไม่ได้รับผิดชอบเพียงอย่างเดียวในการระบุกิจกรรมที่อาจเป็นการกระทำที่ผิดกฎหมายหรือผิดกฎหมาย แต่สามารถตอบสนองต่อคำขอจากหน่วยงานการมีกฎหมาย

ผู้เพิกถอนไม่มีความสามารถฝ่ายเดียวในการยกเลิกการไม่เปิดเผยตัวตนของธุรกรรมโดยตรง แต่พวกเขามีหน้าที่รับผิดชอบในการเริ่มต้นคําขอยกเลิกการไม่เปิดเผยตัวตน คําขอเหล่านี้จะถูกโพสต์ต่อสาธารณะต่อผู้ปกครองซึ่งเป็นคณะกรรมการของหน่วยงานที่ดูแลความเป็นส่วนตัวและการปฏิบัติตามข้อกําหนด ผู้ปกครองต้องตอบกลับคําขอโดยการลงคะแนนว่าจะอนุญาตให้ยกเลิกการไม่เปิดเผยตัวตนของธุรกรรมหรือไม่ หากผู้ปกครองสามารถบรรลุองค์ประชุมและลงคะแนนเสียงเห็นชอบผู้เพิกถอนสามารถถอดรหัสข้อมูลธุรกรรมทําให้พวกเขาสามารถเชื่อมโยงธุรกรรมที่เป็นปัญหากับธุรกรรมก่อนหน้าจนกว่าห่วงโซ่การทําธุรกรรมจะถูกยกเลิกการระบุตัวตนอย่างสมบูรณ์

ระบบนี้สร้างชุดของการตรวจสอบและสมดุล เนื่องจากผู้ปกครองไม่สามารถตัดสินใจเปิดเผยข้อมูลการทำธุรกรรมแบบเดี่ยว และถึงแม้พวกเขาจะเร่งรัดกัน พวกเขาก็ไม่สามารถทำอะไรก็ได้โดยไม่มีผู้เพิกถอน และผู้เพิกถอนคนเดียวก็ไม่สามารถทำอะไรกับความเห็นของผู้ปกครองที่เป็นส่วนใหญ่

Railgun

RAILGUN เป็นระบบความเป็นส่วนตัวของธุรกรรมแบบซ่อนตัวที่ปรับใช้บน Ethereum, BSC, Polygon และ Arbitrum โปรโตคอลมีความคล้ายคลึงกันในบางวิธีกับเขาวงกตตราบเท่าที่มันขึ้นอยู่กับบันทึกย่อซึ่งเก็บไว้ในต้นไม้ merkle เป็นภาระผูกพันและสร้างชุด UTXO เช่น บันทึกสามารถใช้โดยการสร้างบันทึกใหม่สําหรับผู้รับรายอื่น ในการใช้จ่ายบันทึกย่อจะมีการเพิ่ม nullifier ลงในสถานะสําหรับบันทึกย่อนั้นเพื่อป้องกันการใช้จ่ายซ้ําซ้อน เฉพาะเจ้าของโน้ตเท่านั้นที่สามารถคํานวณค่า nullifier ซึ่งขึ้นอยู่กับแฮชของคีย์การใช้จ่ายและดัชนีของบันทึกย่อบนต้นไม้ merkle ซึ่งหมายความว่ามีเพียงเจ้าของบันทึกเท่านั้นที่สามารถใช้จ่ายได้ (และสามารถใช้จ่ายได้เพียงครั้งเดียว)

Stealth meta-addresses ใน Railgun ใช้คำนำหน้าของ "0zk" และเหมือนกับ eip-5564 คือการต่อข้อความของคีย์การดูแลและคีย์การใช้จ่ายสาธารณะ Railgun ใช้คีย์ Ed25519 บนเส้น曲 BabyJubJub แทน ECDSA & secp256k1 ในลักษณะเดียวกันกับ eip-5564 ผู้ใช้สแกนทุกเหตุการณ์ที่ถูกส่งออกจากสัญญา Railgun และใช้คีย์การดูแลของพวกเขาเพื่อกำหนดว่าเหตุการณ์ใดแทนการโอนเงินไปยังกระเป๋าเงินของพวกเขา

Railgun ใช้เครือข่ายของผู้ส่งสัญญาณ ซึ่งเป็นอุปกรณ์ส่งสัญญาณที่ยอมรับ meta-transactions จากผู้ใช้และส่งสัญญาณแทนผู้ใช้ไปยังบล็อกเชนที่เกี่ยวข้อง จ่ายค่าธรรมเนียมในการใช้ก๊าสแทนผู้ใช้ การจับคู่โดยตรงกับสัญญาณของ Railgun มาจากเครือข่ายของผู้ส่งสัญญาณนี้ ที่ปกป้องความไม่เปิดเผยของผู้ใช้สุดท้าย ธุรกรรมที่ถูกส่งจากผู้ใช้ไปยังผู้ส่งสัญญาณ ถูกเข้ารหัสเพื่อคีย์สาธารณะของผู้ส่งสัญญาณที่เฉพาะเจาะจงและสื่อสารโดยใช้โปรโตคอล Waku.

Railgun มีสถาปัตยกรรมแบบแยกส่วนซึ่งช่วยให้สามารถโต้ตอบกับสัญญาอัจฉริยะภายนอกทําให้สามารถทํางานนอกเหนือจากการถ่ายโอนที่เรียบง่าย มันทําสิ่งนี้ผ่านสัญญา AdaptRelay ซึ่งป้องกันและยกเลิกการป้องกันโทเค็นก่อนและหลังโต้ตอบกับสัญญาภายนอกเช่นโทเค็น unshield A แลกเปลี่ยนเป็นโทเค็น B ใน AMM บางตัวโทเค็นโล่ B กลับไปที่เจ้าของเดิม

ด้วยเวอร์ชัน 3 Railgun กำลังวางแผนที่จะใช้ eip-4337 ร่วมกับการสนับสนุนการทำธุรกรรมหลักสืบทอดวิชาการ เขาหวังว่าโดยการรักษา eip-4337 userop mempool ที่มีการกำหนดเองสำหรับ Railgun ให้แก่ผู้แก้ปัญหาที่อิสระสามารถเข้าร่วมในฐานะผู้กระจาย ขณะนี้พวกเขากำลังร่วมมือกับ Umbra ในการวิจัยเรื่องนี้และการระบุกรณีพิเศษและวิธีการจัดการด้วย ดูส่วน Railgun v3 ด้านล่างสำหรับรายละเอียดเพิ่มเติม

ค่าธรรมเนียม

โปรโตคอล Railgun มีค่าธรรมเนียม 0.25% สำหรับการฝากเงินและถอนเงิน ค่าธรรมเนียมเหล่านี้จะถูกส่งไปยังทุน DAO และค่าธรรมเนียมเหล่านี้จะถูกจ่ายให้ผู้ถือสิทธิ์ของโทเค็นการจัดการ RAIL ตลอดเวลา นอกจากค่าธรรมเนียมการฝากเงินและถอนเงิน อาจถูกใช้ค่าธรรมเนียมเพิ่มเติมโดยผู้กระจายสัญญาณ ซึ่งมักจะมีจำนวนประมาณ 10% ของค่าธรรมเนียมแก๊สสำหรับธุรกรรม on-chain จริง

การปกครอง

Railgun มีระบบการกํากับดูแลที่อนุญาตให้ส่งข้อเสนอทุกรูปแบบและไม่มีการเปลี่ยนแปลงสัญญาหลักใด ๆ (รวมถึงสัญญาคลังและการกํากับดูแล) ที่สามารถเกิดขึ้นได้หากไม่มีข้อเสนอ DAO ผิดปกติกรณีแยกของ Railgun มีการปกครองของตนเอง ตัวอย่างเช่น Railgun บน Ethereum, Polygon และ Binance Chain มีระบบการกํากับดูแลและโทเค็นแยกต่างหาก

SDK และ Cookbook

Railgun มี SDK ที่ครอบคลุมและเอกสารประกอบที่ดี ซึ่งนักพัฒนากระเป๋าเงินหรือ dapp สามารถนำไปใช้ในการสร้างความสามารถของที่อยู่ลับผ่านการสนับสนุนสำหรับ Railgun โดย Railgun ยังมีการบริการดูแลรักษาชุมชนcookbookด้วย “recipes” ซึ่งช่วยให้นักพัฒนา dapp สามารถให้โมดูลสำหรับ Railgun ที่ช่วยให้ผู้ใช้สามารถแอบและใช้งาน dapp ของตนโดยใช้ Railgun ได้ เช่น นักพัฒนาสามารถเขียน recipe สำหรับ DEX ซึ่งช่วยให้ผู้ใช้ที่มียอดคงเหลือโทเคนใน Railgun สามารถสลับโทเคนได้อย่างเป็นส่วนตัว

RailGun v3

การทําซ้ําครั้งต่อไปของ Railgun จะทําให้การทําธุรกรรมถูกลงประมาณ 50% — 60% การเปลี่ยนแปลงอื่น ๆ ในเวอร์ชัน 3 คือการย้ายไปรองรับ userops eip-4337 ผ่าน mempool เฉพาะ นอกจากนี้ v3 จะให้การสนับสนุนสถาปัตยกรรมตามเจตนาซึ่งจะช่วยให้นักแก้สามารถแข่งขันเพื่อการดําเนินการที่ดีที่สุดแม้ว่ารายละเอียดจะอยู่ในระดับสูงมากในขณะที่เขียน พวกเขากําลังทํางานกับ CowSwap เกี่ยวกับเรื่องนี้และวางแผนที่จะใช้ตะขอก่อนและหลังเพื่อให้ผู้แก้ปัญหาสามารถเข้าถึงเงินทุนได้

เชื่อมต่อ Railgun

เป็นไปได้ที่การเปลี่ยนแปลงที่น่าสนใจที่สุดที่เสนอขึ้นคือสิ่งที่เรียกว่า Railgun Connect ซึ่งถูกอธิบายว่าเป็นเครื่องมือที่คล้ายกับ WalletConnect เนื่องจากมันช่วยให้ที่อยู่ 0zk สามารถเชื่อมต่อกับฟรอนท์เอ็นด์ส่วนใหญ่สำหรับการใช้ส่วนตัวโดยไม่ต้องการ dapps เหล่านั้นจะต้องการการผสมรวมโดยเฉพาะกับ Railgun ผ่านโมดูลที่กำหนดเอง

Railgun Connect เป็นส่วนขยายเบราว์เซอร์และสิ่งที่ทําคือแยกสถานะของห่วงโซ่ในเครื่องโดยใช้ HardHat ภายใต้ประทุนและฉีดผู้ให้บริการ web3 ของตัวเองลงใน dapp ด้วยตําแหน่งข้อมูล RPC ของห่วงโซ่ HardHat เวอร์ชันท้องถิ่น จากนั้นช่วยให้คุณสามารถดําเนินการโต้ตอบกับสัญญา dapps ได้ตามปกติบันทึกธุรกรรมจากนั้นจัดกลุ่มและสร้างหลักฐาน snark และส่งสิ่งนี้ไปยังสัญญา Railgun จริงในห่วงโซ่จริง แม้ว่าคําอธิบายนี้จะเรียบง่ายกว่าเล็กน้อย แต่ก็สื่อถึงแนวคิดทั่วไป สิ่งนี้ช่วยให้คุณโต้ตอบกับ dapp แทบทุกชนิด (ด้วยเคสขอบบางตัวสําหรับ dapps ที่ทําการประมวลผลนอกเครือข่ายเพิ่มเติม) ข้อแม้คือการบันทึกสถานะของห่วงโซ่ในพื้นที่เป็นการดําเนินการที่หนักหน่วง แต่เมื่อเสร็จแล้วหมายความว่าคุณสามารถโต้ตอบกับ dapps โดยใช้ที่อยู่ซ่อนตัวของ Railgun โดยไม่เห็นความแตกต่างจากการใช้กระเป๋าเงินปกติ

สรุป

มีข้อเสนอที่น่าสนใจสำหรับการฝังที่อยู่ลับในโปรโตคอล Ethereum ตัวอย่างเช่น Inco ใช้แนวคิดของ ERC-20 "wrapper" ซึ่งห่อสัญญา ERC-20 ปกติและเข้ารหัสเครื่องชั่งทั้งหมด การถ่ายโอนและการอนุมัติทั้งหมดจะดําเนินการในสถานะที่เข้ารหัสผ่านการเข้ารหัสแบบ homomorphic อย่างสมบูรณ์ Inco อาศัย precompiles ซึ่งปัจจุบันมีอยู่ในเครือข่ายของตัวเองเท่านั้น แต่สักวันหนึ่งอาจเข้าสู่ Ethereum

มีข้อเสนออีกอย่างที่เรียกว่า EIP-7503: Zero-Knowledge Wormholesซึ่งเชื่อมโยงกับการออกแบบที่เรียกว่า “proof-of-burn” แต่ดูเหมือนว่าไม่ได้รับความสนใจมากนัก อาจเป็นเพราะต้องมีการอัปเดต EVM ซึ่งในที่นี้มันจริงๆ เพียงผลักดันการใช้งานระดับโทเค็น โดยใช้การออกแบบ erc-20 ที่รองรับ eip-7503 โดยเฉพาะ (หรือถ้า L2 ตัดสินใจเพิ่มการสนับสนุนให้กับรหัสคำสั่ง EVM ของพวกเขา)

Aztecเทคโนโลยีความเป็นส่วนตัวที่ซับซ้อนที่สุดอาจมีอยู่ในตอนนี้ แต่มันต้องการผู้ใช้ให้ส่งเงินเข้า Aztec เพื่อใช้งาน ซึ่งอาจจะไม่เป็นประสบการณ์ที่ยอมรับได้สำหรับผู้ใช้ส่วนใหญ่ อย่างไรก็ตาม หากความต้องการสำหรับความเป็นส่วนตัวของธุรกรรมพื้นฐานเพิ่มขึ้นในหมู่ผู้ใช้ Ethereum แล้ว Aztec อาจมีข้อเสนอมูลค่าที่เป็นเอกลักษณ์ที่ทำให้มันเป็น L2 ที่มีค่ามาก เมื่อ dapps และผู้ใช้ย้ายมาใช้แพลตฟอร์มที่ให้ความเป็นส่วนตัวให้พวกเขาโดยค่าเริ่มต้น

ในทางเดียวกัน,Intmax เป็น Ethereum L2 (ขึ้นอยู่กับการออกแบบพลาสม่า) ที่เน้นความเป็นส่วนตัวและยังมีแง่มุมที่สอดคล้องกับกฎระเบียบโดยการตรวจสอบความถูกต้องของกองทุนส่วนบุคคลผ่านหลักฐาน AML ที่ใช้ ZKP และกําหนดขีด จํากัด จํานวนธุรกรรม Intmax มีข้อ จํากัด ในแง่ของการให้ความเป็นส่วนตัวสําหรับการถ่ายโอนในขณะที่การดําเนินการสัญญาอัจฉริยะ EVM ไม่เป็นส่วนตัว อย่างไรก็ตามไม่เหมือนกับ Aztec สัญญาอัจฉริยะสามารถเขียนได้ใน Solidity ซึ่งนักพัฒนาบางคนอาจชอบ (ขึ้นอยู่กับกรณีการใช้งาน)

การสนับสนุนกระเป๋าเงิน

ในขณะที่เราเห็นการยอมรับโปรโตคอลที่อยู่แบบซ่อนตัวเพิ่มขึ้นซึ่งมีแนวโน้ม แต่ก็ยังมีความท้าทายหลายประการ ความท้าทายที่สําคัญที่สุดคือพวกเขาไม่ได้รับการสนับสนุนอย่างเต็มที่ในกระเป๋าเงิน Ethereum กระแสหลัก (ยังไม่ได้อยู่แล้ว) กระเป๋าเงินกระแสหลักอาจมีหลายทางเลือกหากพวกเขาจะให้การสนับสนุนที่อยู่แบบซ่อนตัว บางส่วนของตัวเลือกเหล่านี้รวมถึง:

  • พวกเขาจะให้การสนับสนุนที่มีความเห็นแนบแน่นสำหรับการดำเนินการเดียวเท่านั้นหรือจะสร้างและรักษาการรวมกันที่เป็นประเภทหนึ่งที่ครอบคลุมหลายๆ โปรโตคอล? สิ่งที่หลังนี้จะเป็นสิ่งที่แพงในเชิงพัฒนาและการบำรุงรักษา
  • จะมีการพิจารณากฎระเบียบหรือไม่ และต้องการที่จะเข้าข้างกับการเปิดเผยความไม่ตั้งชื่อแบบเลือกได้ในขั้นต่ำและกลไก (เช่นเดียวกับ Labyrinth หรือไม่)
  • ที่อยู่ซ่อนทัศนคติต้องมีองค์ประกอบบนเชน (ยกเว้น Fluidkey) ดังนั้นนี้หมายความว่าทุกเครือข่าย EVM จะต้องได้รับการสนับสนุนโดยชัดเจนโดยกระเป๋าเงิน (แม้ว่าการออกแบบ Umbra จะสะดวกสบายในการให้สิทธิในการใช้งานของทะเบียนโดยไม่จำเป็น)
  • ที่อยู่ซ่อนตัวทําให้การผสานรวมที่มีอยู่กับนักสํารวจบล็อก (เช่น Etherscan) มีความซับซ้อนมากขึ้น ตัวอย่างเช่น ปุ่ม "ดูบน Explorer" จะไม่ทํางานสําหรับที่อยู่เมตาแบบซ่อนตัว ซึ่งกระเป๋าเงินจะแสดงยอดคงเหลือรวม ปัญหานี้อาจมีอยู่สําหรับการถ่ายโอนเช่นกัน กรณีขอบต่างๆเช่นนี้จะต้องคิดเกี่ยวกับ
  • ขึ้นอยู่กับการใช้งานพื้นฐานผู้ใช้จะสามารถใช้ที่อยู่ซ่อนตัวได้อย่างมีประสิทธิภาพกับชุด dapps เฉพาะคือชุดที่รองรับโดยโปรโตคอลพื้นฐาน สิ่งนี้จะเป็นไปได้ด้วยสถาปัตยกรรมที่อยู่แบบซ่อนตัวแบบแยกส่วน อย่างไรก็ตามจะไม่รองรับ dapps ทั้งหมดและสิ่งนี้จะต้องมีการสื่อสารกับผู้ใช้อย่างใด มันค่อนข้างง่ายกว่าด้วย eip-5506 แต่ก็ยังมีภาวะแทรกซ้อนและเคสขอบและสิ่งนี้มักจะรั่วไหลไปยัง UX กระเป๋าเงิน

มีโอกาสในการปรับปรุงในการป้องกันการแย่ลงของความเป็นส่วนตัวที่ไม่ดีของผู้ใช้ดูได้ดี ดูกระดาษวิจัยนี้: การวิเคราะห์ความไม่สามารถระบุตัวของโครงการที่มีที่อยู่อนุญาต Umbra บน Ethereum" สําหรับวิธีที่ผู้เขียนประสบความสําเร็จในการยกเลิกการไม่เปิดเผยตัวตน 48.5% ของธุรกรรมการลักลอบบน Ethereum mainnet ฮิวริสติกส์ที่พวกเขาเคยทําเช่นนี้ไม่เกี่ยวข้องกับโปรโตคอลและอื่น ๆ เกี่ยวกับสุขอนามัยความเป็นส่วนตัวเช่นผู้ใช้ส่งเงินไปยังที่อยู่ซ่อนตัวที่พวกเขาควบคุมแล้วส่งเงินเหล่านั้นกลับไปยังที่อยู่ที่พวกเขาส่งมาในตอนแรกโดยเข้าใจผิดคิดว่าการตรวจสอบย้อนกลับนั้นเสียหาย โดยรวมแล้วผู้เขียนระบุฮิวริสติกที่แตกต่างกัน 6 แบบที่สามารถใช้เพื่อยกเลิกการไม่ระบุชื่อธุรกรรมที่อยู่แบบซ่อนตัวซึ่งส่วนใหญ่ขึ้นอยู่กับการไม่ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด อย่างไรก็ตามสิ่งเหล่านี้เป็นปัญหา UX ที่สําคัญที่ต้องได้รับการแก้ไข

โดยรวมฉันค่อนข้างมั่นใจใน stealth address และความเป็นส่วนตัวใน Ethereum โดยทั่วไป ฉันคิดว่าเราได้ทำความคืบหน้าอย่างน่าประหลาดใจและพบบางความท้าทายที่สามารถแก้ไขได้อย่างง่ายดาย ฉันมั่นใจว่ากระเป๋าเงินรุ่นใหญ่จะค้นพบวิธีการให้การสนับสนุนสำหรับ stealth address ในระดับที่ช่วยให้ผู้ใช้สามารถใช้งานได้โดยไม่มีความลำบากและความคิด โดยให้ระดับของความเป็นส่วนตัวที่ผู้ใช้คาดหวังและคุ้มค่า

ขอบคุณทีมงานทุกทีมที่ใช้เวลาและความพยายามในการศึกษาและสร้างโครงสร้างที่มีที่อยู่เงียบ รวมถึงสี่โปรโตคอลที่ฉันพูดถึงในโพสต์นี้ ความพยายามและความมุ่งมั่นของพวกเขาจะมีผลต่อ Ethereum อย่างมาก!

คำปฏิเสธ:

  1. บทความนี้ถูกคัดลอกมาจาก [ มีเดีย]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [ซิมอน บราวน์]. หากมีคำปฏิเสธเกี่ยวกับการเผยแพร่นี้กรุณาติดต่อ เกต เรียนทีมงานจะดูแลและจัดการให้โดยเร็ว
  2. คำชี้แจงความรับผิดชอบ: มุมมองและความเห็นที่แสดงในบทความนี้เป็นส่วนตัวของผู้เขียนเท่านั้นและไม่เป็นที่เกิดจากการให้คำแนะนำในการลงทุนใด ๆ
  3. ทีม Gate Learn ทำการแปลบทความเป็นภาษาอื่น ๆ หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนแบบบทความที่ถูกแปล นั้นถูกห้าม
เริ่มตอนนี้
สมัครและรับรางวัล
$100