คู่มือนี้อธิบายว่าเหรียญเพื่อความเป็นส่วนตัวคืออะไร บล็อกเชนทั่วไปเผยอะไรเกี่ยวกับการชำระเงินของคุณ และวิทยาการเข้ารหัสที่เหรียญเหล่านี้ใช้ซ่อนผู้ส่ง ผู้รับ และจำนวนเงิน ปิดท้ายด้วย Blocknet เป็นตัวอย่างและวิธีรับเหรียญส่วนตัวก้อนแรกด้วยการขุด
เหรียญเพื่อความเป็นส่วนตัวคืออะไร?
เหรียญเพื่อความเป็นส่วนตัว (privacy coin) คือคริปโตเคอร์เรนซีที่ออกแบบให้การชำระเงินไม่แสดงผู้ส่ง ผู้รับ หรือจำนวนเงินต่อสาธารณะ ใช้วิทยาการเข้ารหัส เช่นลายเซ็นแบบวง stealth address แบบใช้ครั้งเดียว และจำนวนเงินที่ซ่อน ทุกโหนดจึงยังตรวจการชำระเงินได้ ขณะที่ผู้อ่านบล็อกเชนรู้น้อยมากเกี่ยวกับมัน
คริปโตเคอร์เรนซีทุกชนิดมีบัญชีร่วมคือบล็อกเชน ซึ่งคอมพิวเตอร์อิสระจำนวนมากคัดลอกและตรวจสอบ ความเปิดเผยนี้ทำให้คนแปลกหน้าเห็นตรงกันได้ว่าใครเป็นเจ้าของอะไรโดยไม่มีธนาคารเป็นตัวกลาง คำถามที่ privacy coin ตอบคือบัญชีนั้นจำเป็นต้องแสดงรายละเอียดของแต่ละการชำระเงินมากเท่าไร
Bitcoin แสดงเกือบทั้งหมด whitepaper อธิบายแบบจำลองความเป็นส่วนตัวในบรรทัดเดียวว่า “สาธารณะเห็นได้ว่ามีคนส่งเงินจำนวนหนึ่งให้อีกคน แต่ไม่มีข้อมูลเชื่อมธุรกรรมกับบุคคลใด” ไม่มีชื่อ แต่ที่อยู่และจำนวนเงินเป็นสาธารณะ privacy coin ไปไกลกว่านั้น โดยเก็บรายละเอียดการชำระเงินแต่ละครั้งออกจากบันทึกสาธารณะ ขณะที่ยังพิสูจน์ว่าทำตามกฎ
บล็อกเชนสาธารณะเปิดเผยอะไรเกี่ยวกับคุณ?
บนเชนโปร่งใสอย่าง Bitcoin ใครรู้ที่อยู่หนึ่งของคุณก็ค้นใน block explorer และดูได้ว่า:
- ยอดคงเหลือเท่าไร ละเอียดถึงหน่วยสุดท้าย
- ทุกเงินเข้าและออก พร้อมจำนวนเงินและวันที่
- เงินไปที่ไหนต่อ เพราะแต่ละการชำระเงินระบุที่อยู่ต้นทางและปลายทาง
ชื่อคุณไม่ได้เขียนอยู่ แต่ที่อยู่มักไม่ขาดการเชื่อมโยงนาน การจ่ายร้านค้า ถอนจากตลาดแลกเปลี่ยน หรือโพสต์ที่อยู่รับบริจาคผูกที่อยู่กับคุณ และจากนั้นอ่านประวัติทั้งหมดได้ คล้ายพิมพ์รายการบัญชีธนาคารบนป้ายประกาศสาธารณะโดยใช้เลขบัญชีแทนชื่อ ทุกคนที่คุณจ่ายให้เห็นสิ่งที่คุณถือ และทุกคนที่จ่ายให้คุณติดตามได้ว่าคุณทำอะไรกับเงิน
privacy coin ออกแบบให้ป้ายประกาศแสดงเพียงว่ามีการชำระเงินที่ถูกต้องเกิดขึ้น
privacy coin ซ่อนผู้ส่ง ผู้รับ และจำนวนเงินอย่างไร?
privacy coin จำนวนมากรวมสามเทคนิค ลายเซ็นแบบวงซ่อนผู้ส่งโดยรวมเหรียญจริงกับเอาต์พุตหลอก stealth address แบบใช้ครั้งเดียวซ่อนผู้รับโดยให้ที่อยู่ใหม่แก่ทุกการชำระเงิน และ commitment พร้อม range proof ซ่อนจำนวนเงินพร้อมพิสูจน์ว่าถูกต้อง หลายเหรียญยังปกป้องระดับเครือข่ายให้ต้นทางธุรกรรมยังคงซ่อนอยู่
แต่ละเทคนิคครอบคลุมส่วนหนึ่งของการชำระเงิน นี่คือการทำงานด้วยคำอธิบายง่ายๆ
ลายเซ็นแบบวงซ่อนว่าใครจ่าย
ลายเซ็นแบบวง ให้คุณลงนามในนามกลุ่มโดยไม่เผยว่าสมาชิกใดลงนาม Ron Rivest, Adi Shamir และ Yael Tauman อธิบายแนวคิดในปี 2001 และการออกแบบ CryptoNote ปี 2013 นำมาใช้กับคริปโต เมื่อใช้จ่าย กระเป๋าเงินเลือกเอาต์พุตอื่นจากเชนเป็นตัวหลอกแล้วลงนามแทนทั้งกลุ่ม ทุกคนตรวจได้ว่ามีหนึ่งรายการถูกใช้ แต่ลายเซ็นไม่บอกว่ารายการใด
privacy coin ใช้ลายเซ็นแบบวงที่เชื่อมโยงได้ ซึ่งเพิ่ม key image เป็นแท็กเฉพาะเหรียญจริงที่ใช้จ่ายโดยไม่เผยว่าเป็นสมาชิกใดในวง หาก key image เดิมปรากฏสองครั้ง เครือข่ายปฏิเสธครั้งที่สอง เหรียญส่วนตัวจึงยังใช้ซ้ำไม่ได้ Monero และ Blocknet ใช้รุ่นกะทัดรัดชื่อ CLSAG
stealth address ซ่อนว่าใครรับเงิน
ด้วยระบบ stealth address ที่อยู่ที่คุณแชร์ไม่เคยปรากฏบนเชน ที่อยู่มีคีย์สาธารณะสองคีย์ คือ view key และ spend key ในแต่ละการชำระเงิน กระเป๋าเงินผู้ส่งผสมคีย์เหล่านั้นกับค่าสุ่มใหม่และสร้างที่อยู่ที่ใช้เพียงครั้งเดียว ฝั่งคุณ view key ส่วนตัวให้กระเป๋าเงินสแกนเชนและระบุเอาต์พุตที่ส่งถึงคุณ และ spend key ส่วนตัวให้คุณใช้จ่ายได้
หากสิบคนจ่ายเข้าที่อยู่บนเว็บไซต์คุณ เชนแสดงสิบที่อยู่ใช้ครั้งเดียวแยกกันโดยไม่มีความเชื่อมโยงให้เห็น จึงไม่มีใครรวมยอดที่คุณได้รับได้
commitment และ range proof ซ่อนจำนวนเงิน
จำนวนเงินเก็บเป็น Pedersen commitment ซึ่งผูกกับตัวเลขโดยไม่แสดง commitment บวกกันได้ ทุกโหนดจึงยืนยันได้ว่าสิ่งที่เข้าธุรกรรมตรงกับสิ่งที่ออก รวมค่าธรรมเนียม โดยไม่เห็นตัวเลขใด จากนั้น range proof แสดงว่าไม่มีจำนวนเงินที่ซ่อนเป็นลบ จึงไม่มีใครสร้างเหรียญขึ้นจากความว่างเปล่า Bulletproofs ที่ Bünz และคณะเผยแพร่ในปี 2018 ทำให้หลักฐานเหล่านี้เล็กลงมาก
ความเป็นส่วนตัวระดับเครือข่ายซ่อนจุดเริ่มการชำระเงิน
แม้ธุรกรรมเป็นส่วนตัวสมบูรณ์ก็อาจตามถึงคอมพิวเตอร์ที่กระจายมันได้ ด้วยการดูว่าโหนดใดประกาศก่อน Dandelion++ ที่เผยแพร่ในปี 2018 รับมือโดยส่งธุรกรรมใหม่เงียบๆ จากพีร์หนึ่งไปอีกพีร์ตาม “stem” ก่อน แล้วค่อยให้กระจายทั่วเครือข่ายจากจุดสุ่มที่ไกลออกไป
privacy coin บางเหรียญใช้อีกแนวทาง Zcash ที่เปิดตัวปี 2016 ใช้หลักฐานแบบ zero-knowledge ชื่อ zk-SNARKs ที่อยู่แบบ shielded ซ่อนผู้ส่ง ผู้รับ และจำนวนเงิน และหลักฐานแสดงว่าธุรกรรมถูกต้องโดยไม่เปิดเผยสิ่งเหล่านั้น
ทำไมความเป็นส่วนตัวโดยค่าเริ่มต้นจึงสำคัญ?
เมื่อความเป็นส่วนตัวเป็นคุณสมบัติที่ต้องเปิด ธุรกรรมที่ใช้จะเป็นกลุ่มเล็กกว่า และกลุ่มเล็กศึกษาง่ายกว่า เมื่อทุกธุรกรรมสร้างแบบเดียวกัน การชำระเงินส่วนตัวดูเหมือนทุกการชำระเงินอื่นบนเชน และไม่มีใครต้องจำว่าให้เปิดการปกป้อง
ความเป็นส่วนตัวโดยค่าเริ่มต้นยังทำให้ทุกเหรียญใช้แทนกันได้ เรียกว่า fungibility บนเชนโปร่งใส เหรียญพาประวัติทั้งหมดติดมาด้วย และเหรียญสองเหรียญที่มีมูลค่าเท่ากันอาจถูกปฏิบัติต่างกันเพราะเคยผ่านที่ใดมา เมื่อไม่มีเหรียญใดมีอดีตให้เห็น เหรียญหนึ่งก็ดีเท่ากับอีกเหรียญ ซึ่งเป็นสิ่งที่คนคาดหวังจากเงิน
เหตุผลในชีวิตประจำวันเข้าใจง่าย ธุรกิจไม่อยากให้คู่แข่งอ่านยอดจ่ายซัพพลายเออร์ พนักงานไม่อยากให้ทุกร้านกาแฟที่ซื้อเห็นเงินเดือน ผู้บริจาคเพื่อบางเรื่องอาจอยากเก็บไว้ส่วนตัว เงินสดและบัญชีธนาคารทั่วไปให้ความเป็นส่วนตัวเช่นนี้อยู่แล้ว และ privacy coin นำมาสู่การชำระเงินดิจิทัล
Blocknet เป็นตัวอย่างของ privacy coin
Blocknet เป็นเหรียญเพื่อความเป็นส่วนตัวที่ใช้ลายเซ็นแบบวง stealth address จำนวนเงินที่ซ่อน และความเป็นส่วนตัวเครือข่ายกับทุกการชำระเงิน รูปแบบธุรกรรมไม่มีโหมดโปร่งใส:
- ผู้ส่ง: ทุกอินพุตลงนามด้วยวง CLSAG ขนาด 16 เอาต์พุตพอดี คือตัวจริงหนึ่งและตัวหลอก 15 รายการ ฉันทามติปฏิเสธขนาดอื่น
- ผู้รับ: ทุกการชำระเงินไปยัง stealth address แบบใช้ครั้งเดียว
- จำนวนเงิน: เก็บเป็น Pedersen commitment พร้อม range proof แบบ Bulletproofs 64 บิต
- เครือข่าย: ธุรกรรมเดินทางด้วย Dandelion++ เปลี่ยนเส้นทาง stem ทุก 10 นาที
- เมโม: แต่ละเอาต์พุตมีพื้นที่ข้อความเข้ารหัสสูงสุด 124 ไบต์ อ่านได้เฉพาะผู้ส่งและผู้รับ และเติมให้มีขนาดคงที่ 128 ไบต์ การชำระเงินที่มีข้อความจึงเหมือนกับที่ไม่มี
Blocknet ยังให้จ่ายเงินด้วยชื่อ ชื่อสั้น Blocknet ID เช่น @alice แทนที่อยู่ยาวกว่า 90 ตัวอักษร และเงินที่จ่ายให้ชื่อยังไปยัง stealth address ใหม่ ชื่อสาธารณะจึงไม่เผยรายรับของเจ้าของ อ่านแต่ละชั้นโดยละเอียดที่วิธีที่ Blocknet รักษาความเป็นส่วนตัวของการชำระเงิน และดูภาพรวมที่ Blocknet คืออะไร?
การอัปเกรด Faraday ที่ Blocknet วางแผนจะขยายกลุ่มที่แต่ละการใช้จ่ายซ่อนอยู่ ตามถ้อยคำของ blocknetcrypto.com: “ปัจจุบันการใช้จ่ายซ่อนอยู่ใน 16 เอาต์พุต หลัง Faraday จะซ่อนอยู่ในทุกเอาต์พุตบนเชน”
รับ privacy coin ได้อย่างไร?
คุณรับได้ด้วยการขุด Proof of Work ของ Blocknet คือ Argon2id ซึ่งต้องมีหน่วยความจำประมาณ 2 GB ต่อแฮช CPU และ RAM ทั่วไปในเดสก์ท็อป แล็ปท็อป และเซิร์ฟเวอร์จึงทำหน้าที่ขุด ยอดจ่ายจากพูลถึงคุณเหมือนการชำระเงิน Blocknet อื่น บน stealth address แบบใช้ครั้งเดียวพร้อมจำนวนเงินที่ซ่อน
- รับกระเป๋าเงิน คู่มือกระเป๋าเงิน Blocknet สำหรับขุด แสดงวิธีสร้าง สำรอง seed และคัดลอกที่อยู่
- ดาวน์โหลด seine โปรแกรมขุด Blocknet ฟรีแบบโอเพนซอร์สสำหรับ Windows, macOS และ Linux อยู่ในส่วนดาวน์โหลด ขุดด้วย CPU และบน Windows กับ Linux ใช้การ์ดจอ NVIDIA ทุกใบพร้อมกัน พร้อมปรับจูนตัวเองระหว่างทำงาน
- เริ่มขุดบน bntpool.com วางที่อยู่หรือ
@nameใช้พูลเริ่มต้น แล้วเงินจ่ายถึงกระเป๋าเงินอย่างเป็นส่วนตัว วิธีขุด Blocknet แสดงแต่ละขั้นตอน
คำถามที่พบบ่อย
เหรียญเพื่อความเป็นส่วนตัวต่างจาก Bitcoin อย่างไร?
Bitcoin บันทึกทุกที่อยู่และจำนวนเงินแบบเปิดเผย ใครก็ตามจึงตามเหรียญจากที่อยู่หนึ่งไปอีกที่อยู่และอ่านยอดคงเหลือได้ เหรียญเพื่อความเป็นส่วนตัวใช้วิทยาการเข้ารหัส เช่นลายเซ็นแบบวง ที่อยู่ใช้ครั้งเดียว และจำนวนเงินที่ซ่อน ทำให้เชนยังพิสูจน์ได้ว่าทุกการชำระเงินถูกต้อง แต่คนนอกเห็นน้อยมากว่าใครจ่ายให้ใครหรือเท่าไร
ทุก privacy coin บังคับใช้ความเป็นส่วนตัวหรือไม่?
ไม่ การออกแบบต่างกัน บางเหรียญอย่าง Monero และ Blocknet ใช้ความเป็นส่วนตัวกับทุกธุรกรรม จึงไม่มีโหมดสาธารณะเลย Zcash มีที่อยู่แบบ shielded ที่ซ่อนผู้ส่ง ผู้รับ และจำนวนเงินด้วยหลักฐานแบบ zero-knowledge ควบคู่กับที่อยู่โปร่งใสที่ทำงานคล้ายที่อยู่ Bitcoin ผู้ใช้ย้ายเงินระหว่างสองแบบได้
เครือข่ายตรวจการชำระเงินที่มองไม่เห็นได้อย่างไร?
วิทยาการเข้ารหัสให้โหนดตรวจการชำระเงินโดยไม่อ่านรายละเอียด ลายเซ็นแบบวงพิสูจน์ว่าเอาต์พุตหนึ่งในหลายรายการถูกใช้ key image ป้องกันการใช้เหรียญเดิมซ้ำ และ commitment ของจำนวนเงินบวกกันได้ โหนดจึงยืนยันว่าอินพุตเท่ากับเอาต์พุตบวกค่าธรรมเนียม range proof แสดงว่าไม่มีจำนวนเงินที่ซ่อนเป็นลบ
ขุด privacy coin บนคอมพิวเตอร์ทั่วไปได้หรือไม่?
ได้ หากเหรียญใช้ Proof of Work แบบ memory-hard Blocknet ใช้ Argon2id ซึ่งต้องมีหน่วยความจำประมาณ 2 GB ต่อแฮช เดสก์ท็อป แล็ปท็อป และเซิร์ฟเวอร์ทั่วไปจึงขุดได้ ดาวน์โหลด seine ระบุที่อยู่ Blocknet หรือ @name แล้วโปรแกรมขุดบนพูล bntpool.com ด้วย CPU และการ์ดจอ NVIDIA ของคุณ