# สถาปัตยกรรมกระเป๋าเงิน

> <mark style="color:สีเหลือง;">**สรุปย่อ**</mark>  เราสร้างกระเป๋าเงินสองแบบสำหรับเชน EVM: กระเป๋าเงินผู้ลงนาม (EOA) และกระเป๋าเงินสมาร์ทคอนแทร็ค (SCW). เงินของคุณจะถูกเก็บไว้ใน SCW. กระเป๋าเงินผู้ลงนามอนุญาตธุรกรรมของ SCW และได้รับการป้องกันด้วยความปลอดภัยระดับองค์กรจากเทคโนโลยี MPC. ทั้งสองกระเป๋าเป็นแบบไม่ดูแลโดยบุคคลที่สามอย่างเต็มรูปแบบ.
>
> สำหรับผู้ใช้ Solana เราสร้างกระเป๋า MPC แบบไม่ดูแลเพียงกระเป๋าเดียว ซึ่งไม่มีส่วนประกอบสมาร์ทคอนแทร็ค (เพราะ Solana ยังไม่รองรับ SCW). หลักการด้านความปลอดภัยเหมือนกัน.

### Ethereum และเชน EVM (Base, BNB Chain, Arbitrum)

โดยสรุป กระเป๋า Ethereum แบบ "ดั้งเดิม" เป็นเพียงคู่กุญแจส่วนตัว/สาธารณะ กุญแจส่วนตัวใช้ลงนามธุรกรรม; กุญแจสาธารณะคือที่อยู่กระเป๋าของคุณ.

กระเป๋าแบบดั้งเดิมเหล่านี้เรียกว่า บัญชีที่ถูกควบคุมภายนอก (Externally Owned Accounts หรือ EOAs). มีเพียง EOA เท่านั้นที่สามารถลงนามธุรกรรมโดยตรงบนบล็อกเชน EVM ได้.

กระเป๋าเงินสมาร์ทคอนแทร็ค (SCWs) เป็นสมาร์ทคอนแทร็คบนเชนที่ *ดู* เหมือนกระเป๋าเงิน แต่ไม่สามารถลงนามธุรกรรมได้ เพื่อตอบโจทย์นี้ SCW จะมอบหมายการลงนามให้กับกระเป๋า EOA คู่กัน.

เมื่อคุณตั้งค่ากระเป๋า EVM ใน goodcryptoX เราจะสร้าง:

* **กระเป๋าเงิน 1** (`ผู้ลงนาม`) — กระเป๋า EOA แบบดั้งเดิม ซึ่งใช้ลงนามธุรกรรมให้กับกระเป๋าเงินสมาร์ทคอนแทร็คของคุณ.
* **กระเป๋าเงิน 2** (`กระเป๋า`) — กระเป๋าเงินสมาร์ทคอนแทร็ค (Kernel) ที่ถูกปรับใช้โดย ZeroDev. กระเป๋านี้เก็บเงินของคุณ.

กระเป๋า EOA (กระเป๋า 1) ถูกสร้างและปกป้องโดย [web3auth](https://web3auth.io/customers.html) - หนึ่งในผู้นำด้านโครงสร้างพื้นฐานกระเป๋าเว็บ3 ซึ่งขับเคลื่อน Trust wallet และอีกหลายแห่ง. &#x20;

กระเป๋านี้มีคีย์ส่วนตัว แต่คีย์ถูกแยกและเข้ารหัสข้ามสองฝ่ายอิสระ:

* ชาร์ด 1: ถูกเข้ารหัสและผูกกับบัญชี goodcryptoX ของคุณ
* ชาร์ด 2: ถูกเก็บโดย Web3Auth

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

กระเป๋าเงินสมาร์ทคอนแทร็คของคุณ (กระเป๋า 2) ถูกปรับใช้โดยใช้ [ZeroDev](https://www.zerodev.app/), อิงตามสมาร์ทคอนแทร็ค Kernel — ปัจจุบันเป็นการใช้งาน SCW ที่ประหยัดค่าแก๊สมากที่สุดและปลอดภัย.

SCW ไม่มีคีย์ส่วนตัว มันถูกควบคุมทั้งหมดโดยกระเป๋าผู้ลงนามของคุณ.

ผลลัพธ์ที่ได้:

* คุณไม่จำเป็นต้องจัดการหรือดูคีย์ส่วนตัวเลย
* ระบบเป็นแบบไม่ดูแลโดยบุคคลที่สามอย่างเต็มที่

เพื่อเปิดใช้งานการเทรดขั้นสูง เราออก **คีย์เซสชัน**: คีย์สิทธิจำกัดที่สามารถดำเนินการสวอปผ่าน 1inch ในนามของคุณเท่านั้น คีย์เหล่านี้ถูกลงนามครั้งเดียวโดยกระเป๋าของคุณ เข้ารหัส และใช้บนเซิร์ฟเวอร์เพื่อทำงานอัตโนมัติการเทรด.

มีเพียงการสวอปเท่านั้นที่ใช้คีย์เซสชัน การโอนเงินจะต้องการการลงนามโดยตรงจากกระเป๋าเสมอ.

SCW ของคุณจะถูกปรับใช้เมื่อมีธุรกรรมขาออกครั้งแรก (การโอนหรือการสวอป) จนกว่าจะมีการปรับใช้ ที่อยู่จะปรากฏเหมือน EOA ปกติบน explorers ธุรกรรมแรกจะมีค่าก๊าซเพิ่มเล็กน้อยเพื่อครอบคลุมการปรับใช้.

**รหัสผ่านกระเป๋า**

ในตอนแรก กระเป๋าผู้ลงนามของคุณเป็นกระเป๋า MPC แบบ 2/2: goodcryptoX และ web3Auth แต่ละฝ่ายถือชาร์ด เพื่อให้เป็นแบบไม่ดูแลอย่างเต็มที่ คุณสามารถตั้ง [รหัสผ่านกระเป๋า](https://docs.goodcrypto.app/goodcryptox-th/wallets/built-in-wallet/wallet-password), แปลงกระเป๋าผู้ลงนามของคุณเป็น MPC แบบ 2/3:

* ชาร์ด 1: ผูกกับบัญชี goodcryptoX ของคุณ — ถูกเข้ารหัสและจัดเก็บโดยโครงสร้างพื้นฐานของเรา
* ชาร์ด 2: รหัสผ่านกระเป๋าที่คุณตั้ง
* ปัจจัย 3: สร้างจากรหัสผ่านและจัดเก็บบนอุปกรณ์ของคุณ เพื่อให้คุณไม่ต้องป้อนรหัสผ่านทุกครั้งที่เปิดแอป

นี่ช่วยให้แน่ใจว่าไม่มีบุคคลที่สามใด ๆ จะเข้าถึงคีย์ส่วนตัวของคุณได้ — แม้แต่ในทางทฤษฎี.

ซึ่งหมายความด้วยว่า หากคุณสูญเสียทั้งรหัสผ่านและอุปกรณ์ กระเป๋าจะไม่สามารถเข้าถึงได้ ใช้เฉพาะถ้าคุณเข้าใจความเสี่ยง.

**การเปลี่ยนแปลงที่จะเกิดขึ้น**

เรากำลังย้ายไปยัง **สถาปัตยกรรมกระเป๋าเดี่ยว** บน EVM โดยใช้ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702):

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

สิ่งนี้จะทำให้การตั้งค่าง่ายขึ้นในขณะที่ยังคงรักษาความปลอดภัยในระดับ MPC ไว้เหมือนเดิม.

คุณยังจะสามารถนำ EOA ของคุณเอง (เช่น MetaMask) มาใช้เป็นผู้ลงนามแทนกระเป๋าที่สร้างโดย goodcryptoX ได้ด้วย.

***

### กระเป๋าเงิน Solana

บน Solana กระเป๋าเงินสมาร์ทคอนแทร็คยังไม่ได้รับการสนับสนุน ดังนั้นเราจึงสร้างกระเป๋าเดียวที่ได้รับการปกป้องโดย MPC (เทียบเท่า EOA).

กระเป๋าถูกสร้างโดยใช้การตั้งค่า MPC เดียวกัน:

* ปัจจัย 1: ผูกกับบัญชี goodcryptoX ของคุณ
* ปัจจัย 2: ถูกเก็บโดย web3Auth

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

คุณสามารถตั้งรหัสผ่านกระเป๋าเพื่อแปลงกระเป๋า Solana ของคุณเป็น MPC แบบ 2/3 ได้ตามต้องการ ข้อดีและความเสี่ยงเหมือนกับบนเชน EVM.

ต่างจาก EVM คีย์ส่วนตัวของกระเป๋า Solana ของคุณสามารถส่งออกได้โดยตรงจากแอปโดยใช้ `ตัวเลือกส่งออกคีย์` ในแท็บกระเป๋า.
