Espresso-sys : ปรับแต่งความเป็นส่วนตัวของทรัพย์สินบน Ethereum และ EVM ของคุณได้ง่ายๆ

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

แน่นอนว่าการเกิดขึ้นของ Ethereum และ smart contract นั้นได้นำเอาแนวคิดและความเป็นไปได้มากมายมาสู่โลกของเรา ไม่ว่าจะเป็นการถือกำเนิดขึ้นของ DeFi (Decentralized Finance) หรือ dApps (Decentralized Applications) หรือ NFTs (Non-Fungible Tokens) และอื่นๆอีกมากมาย

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

นักพัฒนาและนักวิทยาศาสตร์หลายคนแก้ปัญหานี้ด้วยการสร้างเชนใหม่ขึ้นมาบ้าง บ้างก็ใช้ระบบ consensus แบบใหม่ บ้างก็มีการนำเอาเทคโนโลยีอื่นๆมาประยุกต์ใช้ ซึ่งหนึ่งในวิธีที่กำลังเป็นที่นิยมในปัจจุบันก็คือ ZK-rollups

ZK-rollups คืออะไร ?

ZK-rollups หรือ Zero-Knowledge rollups นั้นเป็นหนึ่งในวิธีแก้ปัญหาที่มักจะถูกนำมาใช้โดยเชนที่เป็น layer 2 ซึ่งหลักการของมันคือการรวบรวมหลายๆธุรกรรมเอาไว้เป็นธุรกรรมเดียว และสร้าง zero-knowledge proof ไว้ใช้สำหรับการตรวจสอบและยืนยันความถูกต้องของธุรกรรมเหล่านั้น ซึ่งการใช้ข้อมูลเพียงแค่บางส่วนจากทั้งหมดในการตรวจสอบความถูกต้องนั้นได้ทำให้ขนาดของข้อมูลเล็กลง การคำนวนและความยุ่งยากในการตรวจสอบก็ลดลง ส่งผลให้ความเร็วในการทำธุรกรรมนั้นเร็วขึ้นเป็นอย่างมาก อีกทั้งค่าธรรมเนียมเองก็ลดลงอย่างเห็นได้ชัด

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

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

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

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

และด้วยปัญหาเหล่านี้เองทำให้โปรเจคขนาดใหญ่อย่าง Espresso ถือกำเนิดขึ้น

Espresso เป็นโปรเจค layer 1 blockchain ที่ถูกสร้างขึ้นโดยมีการผนวกรวม ZK-Rollup เอาไว้ตั้งแต่ขั้นตอนของการออกแบบ ทำให้สามารถทำธุรกรรมได้อย่างรวดเร็วและมีค่าธรรมเนียมที่ถูก อีกทั้งการผนวกรวมที่ว่านี้นั้นคือการผนวกเข้าไปเป็นส่วนหนึ่งของ consensus ทำให้ ZK-Rollup นั้นสามารถทำงานร่วมกับ Espresso ได้อย่างสมบูรณ์และเป็นธรรมชาติ หรืออีกนัยหนึ่งก็สามารถนับได้ว่ามันเป็น Decentralized ZK-Rollups ทำให้สามารถใช้งาน ZK-Rollups ได้โดยที่ไม่ต้องเจอกับข้อเสียเหมือนดังวิธีอื่นๆในปัจจุบัน

นอกจากนี้ทาง Espresso ยังได้พัฒนา Configurable Asset Privacy (CAP) protocol ขึ้นมาด้วย โดยมีความสามารถในการเพิ่ม custom privacy ให้แก่ digital assets ต่างๆ โดย application ตัวแรกของ CAP ก็คือ CAPE (Configurable Asset Privacy for Ethereum) ซึ่งเป็น smart contract application ที่สามารถทำงานได้บนทุก blockchain ที่เป็น EVM และแน่นอนว่าต้องรวมถึงตัว Espresso เองด้วย

CAPE นั้นทำให้ผู้ใช้สามารถสร้างสินทรัพย์ขึ้นมาใหม่โดยที่ไม่ต้องอิงกับสินทรัพย์อื่นๆที่มีอยู่เดิมก็ได้ (domestic CAPE assets) หรือจะสร้างโดยการอิงกับสินทรัพย์ที่มีอยู่แล้ว (ERC-20s และ ERC-721s) ก็ทำได้เช่นกัน (wrapping) โดยในขั้นตอนการสร้างนั้นผู้สร้างจะกำหนดค่า viewing policies ของสินทรัพย์ได้ โดยสามารถกำหนดได้ว่าต้องการให้กลุ่มคนที่กำหนดสามารถอ่านและตรวจสอบข้อมูลอะไรได้บ้าง เช่น

  • ที่อยู่ของผู้ส่งและผู้รับ
  • จำนวนสินทรัพย์ที่ทำการส่ง ได้รับ หรือถือครอง
  • ประเภทของสินทรัพย์ที่ทำการส่ง ได้รับ หรือถือครอง

และนอกจากนี้ยังสามารถกำหนดได้ว่าต้องการให้ใครบ้างที่สามารถระงับการทำธุรกรรมได้ผ่านทาง freezing policies

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

หรือก็คือด้วยการมาถึงของ CAPE จะทำให้สินทรัพย์ที่เป็น ERC-20 และ ERC-721 ที่มีอยู่เดิมนั้นสามารถเพิ่มคุณสมบัติเรื่องความเป็นส่วนตัวในการทำธุรกรรมได้ทันทีผ่านการ wrapping และเมื่อไม่ต้องการความสามารถของ CAPE แล้วก็สามารถ unwrapped กลับมาเป็น asset เดิมเมื่อใดก็ได้ และนอกจากนี้อันที่จริงแล้ว CAPE ยังรองรับไปถึง credential Issuer ต่างๆอีกด้วย ซึ่งนี่จะทำให้ผู้ใช้สามารถใช้ CAPE ได้ในขอบเขตที่กว้างขึ้นเป็นอย่างมาก (เช่น การใช้งานสำหรับ Permissioned DeFi)

ลักษณะการทำงานของ CAPE นั้นจะคล้ายกับ UTxO (Unspent Transaction Output) model ที่มีการใช้ outputs เดิม (หรือ records) เพื่อสร้าง outputs ใหม่ออกมา (UTxO) โดยผู้ใช้จะเป็นเจ้าของ records เหล่านี้ ในแต่ละ record จะมีข้อมูลเกี่ยวกับประเภทของสินทรัพย์ จำนวน และที่อยู่ของเจ้าของ โดย CAPE จะสร้าง commitments ที่สัมพันธ์กับ record เหล่านี้ขึ้นมา ซึ่ง commitments นั้นจะมีลักษณะเป็นข้อมูลขนาดเล็กและไม่สื่อถึงตัว record ที่เกี่ยวข้อง และจะถูกบันทึกเอาไว้ใน Records Merkel Tree ของ CAPE

ส่วน CAPE Wallet นั้นจะทำหน้าที่ในการสร้าง transaction ก่อนที่จะส่งต่อให้กับ Relayer เป็นผู้นำไปส่งให้กับ CAPE Smart Contract เพื่อยืนยันความถูกต้องของข้อมูลและบันทึกลงบน Ethereum ซึ่งการที่ Relayer เป็นผู้จ่ายค่าธรรมเนียมและเรียกใช้ CAPE Smart Contract นี้ทำให้คนอื่นไม่สามารถรู้ถึงตัวผู้ทำธุรกรรมได้ และนอกจากนี้ CAPE Wallet ยังทำหน้าที่ในการจัดเก็บข้อมูลที่เกี่ยวกับสินทรัพย์ของผู้ใช้ไว้อีกด้วย ทำให้ผู้ใช้สามารถรับรู้เมื่อมีการได้รับสินทรัพย์ใหม่เข้ามา

ในขั้นตอนการสร้างธุรกรรมนั้น ผู้ทำธุรกรรมจะต้องใช้ private key ของตัวเองในการ consume records ที่ยังไม่ถูกใช้งานของตัวเองเพื่อสร้าง records ใหม่ออกมา ซึ่งแต่ละธุรกรรมจะประกอบไปด้วย record commitments, list of nullifiers (ใช้เพื่อระบุ records ที่ถูกใช้โดยที่ไม่เปิดเผยข้อมูลของ records นั้นๆ), zero-knowledge proof เพื่อใช้ยืนยันความถูกต้องของการคำนวนในธุรกรรม, และ owner memos ที่จะบันทึกข้อมูลบางส่วนของธุรกรรม เช่น ประเภทและจำนวนของสินทรัพย์ ซึ่ง owner memo นี้จะถูกเข้ารหัสด้วย encrypted public key (ได้มาจาก CAPE Address Book ที่ทำหน้าที่ในการ map address เป็น encrypted public key) ของเจ้าของใหม่ของ record นั้นๆ ทำให้เจ้าของ record สามารถ decrypt เพื่ออ่านข้อมูลใหม่ที่ได้รับมาได้

ในส่วนของ owner memos นั้น นอกจากจะสามารถอ่านได้โดยตัวเจ้าของเองแล้ว ผู้ที่ถือครอง viewing key ก็สามารถอ่านได้เช่นกัน ซึ่งทำให้เขาสามารถตรวจสอบการใช้งานของธุรกรรมต่างๆได้ (เท่าที่ asset viewing policies กำหนด ซึ่งอาจจะเห็นทั้งหมด เห็นเพียงบางส่วน หรือไม่เห็นเลย)

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

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


มีกิจกรรมสุดพิเศษที่ชื่อว่า Knowledge bounty Series เพื่อยกระดับ Contributor ให้มี Skill ด้าน IT มากขึ้น เช่น สอนการ run node ของทุกๆโปรเจค รวมถึงอธิบายหลักการทำงานของโปรเจคที่น่าสนใจ ออกมาในรูปแบบที่เข้าใจง่าย

ซึ่ง EspressoSYS ทาง CDAO ก็ได้มี Knowledge Bounty ออกมาแล้ว 2 tasks ด้วยกัน [กำลังจะมี task อื่นๆ เพิ่มเข้ามา]

1.Creating Privacy Infrastructure For Web 3.0 (ฺBeginner)

2.Test Cli EspressoSYS-Wallet (There are Tutorial + Script)

Tutorial

1.Linux - VPS / VM version :

2.Window version :


Learn more about EspressoSYS here.

1.Twitter :

2.Discord :

3.Website :


Follow ContributionDAO at :

WebSite: www.contributiondao.com

Facebook: https://www.facebook.com/contributiondao

Discord: https://discord.gg/contributiondao

Twitter: https://twitter.com/contributedao

Telegram: https://t.me/thaitalent

Github: https://github.com/Contribution-DAO

Youtube :

Subscribe to ContributionDAO
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.