Gửi và nhận Ethereum với SSP

·8 phút đọc·Bởi SSP Editorial Team
Ảnh bìa SSP Academy: Gửi và nhận Ethereum với SSP

Gửi và nhận Ethereum với SSP

Chuyển ETH vào và ra khỏi một ví tự lưu ký là một trong những việc đầu tiên bạn sẽ làm sau khi thiết lập SSP cho Ethereum. Việc này đơn giản một khi bạn hiểu mô hình tài khoản và cách multisig 2-of-2 của SSP khớp vào một giao dịch Ethereum thông thường. Hướng dẫn này đi qua việc nhận ETH, gửi ETH và điều thực sự diễn ra ở hậu trường khi bạn ký bằng hai thiết bị.

Nếu ETH trong SSP còn hoàn toàn mới với bạn, hãy bắt đầu với Ethereum trong SSP để có bức tranh tổng quan, rồi quay lại đây để xem quy trình gửi và nhận thực hành.

Tóm tắt nhanh về mô hình tài khoản

Bên dưới, Ethereum không hoạt động giống Bitcoin. Trên Bitcoin, ví của bạn xoay xở với nhiều đầu ra chưa chi tiêu và tạo địa chỉ tiền thối mới sau mỗi lần chi. Trên Ethereum, tài khoản của bạn là một địa chỉ duy nhất chỉ đơn giản giữ một số dư. Khi bạn nhận ETH, số dư tăng lên. Khi bạn gửi, nó giảm xuống. Không có địa chỉ tiền thối và không có việc chọn đầu ra để phải bận tâm.

Điều này quan trọng với tự lưu ký theo hai cách thực tế. Thứ nhất, bạn dùng lại cùng một địa chỉ vô thời hạn, nên chỉ có một địa chỉ để sao lưu, xác minh và chia sẻ. Thứ hai, mọi giao dịch phải được sắp thứ tự, điều mà Ethereum xử lý bằng một bộ đếm gọi là nonce — sẽ nói thêm bên dưới.

Trong SSP, địa chỉ duy nhất này là tài khoản multisig 2-of-2 của bạn. Trên các chuỗi EVM, nó là một tài khoản hợp đồng thông minh ERC-4337, nên hai khóa vẫn kiểm soát mọi lần chi dù trên chuỗi nó trông như một địa chỉ bình thường.

Nhận ETH

Nhận là nửa an toàn hơn, vì không có gì rời khỏi ví của bạn. Bạn đưa địa chỉ cho người gửi và chờ mạng xác nhận.

Địa chỉ 0x của bạn

Địa chỉ nhận Ethereum của bạn bắt đầu bằng 0x theo sau là 40 ký tự thập lục phân. SSP hiển thị nó dưới dạng văn bản và dưới dạng mã có thể quét để người gửi sao chép chính xác. Vì Ethereum dùng lại một địa chỉ, bạn không cần địa chỉ mới cho mỗi khoản thanh toán.

Xác minh địa chỉ trên cả hai thiết bị

Tự lưu ký đặt việc xác minh địa chỉ vào tay bạn. Phần mềm độc hại tráo một địa chỉ đã sao chép thành địa chỉ của kẻ tấn công là rủi ro có thật trên toàn ngành, vì vậy hãy xác nhận địa chỉ bạn sắp chia sẻ thực sự là của bạn. SSP cho thấy tài khoản trên cả tiện ích mở rộng và SSP Key, nên hãy nhìn các ký tự đầu và cuối trên mỗi thiết bị và đảm bảo chúng khớp nhau. Thói quen tương tự áp dụng khi nhận Bitcoin vào SSP: hãy xác minh trên phần cứng bạn kiểm soát, chứ không chỉ trên một trang web ai đó gửi cho bạn.

Một địa chỉ cho cả ETH và token ERC-20

Cùng một địa chỉ 0x nhận cả ETH lẫn token ERC-20, vì token nằm trong các hợp đồng ghi có vào địa chỉ của bạn. Bạn không cần một địa chỉ riêng cho mỗi token. Điều bạn cần là chắc chắn người gửi đang dùng đúng mạng.

Chọn đúng mạng

Đây là cách phổ biến nhất khiến người ta mất tiền trên các chuỗi EVM. Một địa chỉ tồn tại trên mạng chính Ethereum cũng tồn tại trên Polygon, Base và các chuỗi EVM khác, nhưng số dư trên một chuỗi không phải là số dư trên chuỗi khác. Nếu ai đó gửi ETH qua sai mạng, nó không đến chuỗi bạn đang theo dõi. Trước khi chia sẻ địa chỉ, hãy thống nhất mạng chính xác với người gửi và xác nhận SSP đang đặt ở cùng chuỗi đó. Bài 3 trình bày chi tiết cách dùng SSP trên Polygon, Base và các chuỗi EVM khác.

Gửi ETH: quy trình đồng ký 2-of-2

Gửi là lúc thiết kế multisig của SSP lộ ra. Một ví một khóa ký một lần rồi phát đi. SSP cần cả hai khóa của bạn, nên quy trình có thêm một bước phê duyệt — và bước đó chính là toàn bộ ý nghĩa của mô hình bảo mật.

Đây là hình dạng của một lần gửi, được giữ ở mức chung vì nhãn chính xác có thể thay đổi:

  1. Trong tiện ích mở rộng SSP Wallet, chọn gửi, nhập địa chỉ người nhận và số tiền, rồi xem lại phí.
  2. Tiện ích mở rộng dựng giao dịch và áp chữ ký đầu tiên bằng khóa 1.
  3. SSP Key trên điện thoại của bạn nhận một thông báo đẩy. Tại đó bạn xem lại cùng các chi tiết và đồng ký bằng khóa 2.
  4. Với cả hai chữ ký được kết hợp, giao dịch được phát đi tới mạng.

Vì không thiết bị nào một mình có thể chuyển tiền, kẻ tấn công chỉ chiếm được trình duyệt của bạn vẫn không thể gửi. Họ còn cần điện thoại của bạn để phê duyệt. Trên các chuỗi EVM, SSP kết hợp hai chữ ký thành một bằng tổng hợp Schnorr, nên thứ lên chuỗi là một thao tác trừu tượng hóa tài khoản duy nhất chứ không phải hai chữ ký riêng. Cơ chế sâu hơn được trình bày trong multisig EVM theo lối trừu tượng hóa tài khoản.

Thói quen đồng ký, về tinh thần, giống hệt việc gửi Bitcoin với SSP; chỉ khác định dạng giao dịch bên dưới.

Vòng đời của giao dịch

Hình dung một lần gửi như một chuỗi ngắn sẽ hữu ích:

  • Dựng — tiện ích mở rộng lắp ráp giao dịch: người nhận, số tiền, thiết lập gas và nonce kế tiếp.
  • — khóa 1 ký trong tiện ích mở rộng.
  • Đồng ký — khóa 2 ký trong SSP Key sau khi bạn phê duyệt thông báo đẩy.
  • Đã gửi / đang chờ — giao dịch kết hợp được phát đi và nằm trong mempool chờ được đưa vào một khối.
  • Đã xác nhận — một trình xác thực đưa nó vào một khối. Mỗi khối tiếp theo bổ sung xác nhận và khiến việc đảo ngược khó hơn.

Một giao dịch chỉ là cuối cùng khi đã được xác nhận trên chuỗi. Trước đó nó đang chờ và, trong một số trường hợp, có thể được thay thế. Bạn có thể theo dõi tiến trình của bất kỳ giao dịch nào trên một trình khám phá khối công khai như Etherscan bằng cách dán mã băm giao dịch vào.

Hiểu về nonce

Nonce là một bộ đếm theo từng tài khoản nhằm sắp thứ tự các giao dịch của bạn. Giao dịch đầu tiên dùng nonce 0, giao dịch tiếp theo dùng 1, và cứ thế. Mạng xử lý chúng nghiêm ngặt theo thứ tự.

Việc sắp thứ tự này có một hệ quả thực tế. Nếu một giao dịch bị kẹt ở trạng thái đang chờ — thường vì giá gas của nó quá thấp so với điều kiện hiện tại — mọi giao dịch sau đó bị chặn lại phía sau, vì mạng sẽ không nhảy tới một nonce cao hơn. Cách khắc phục là thay thế giao dịch bị kẹt: bạn gửi lại một giao dịch với cùng nonce nhưng phí cao hơn, cho phép các trình xác thực chọn phiên bản mới. Các ví thường trình bày điều này như một thao tác "tăng tốc" hoặc "thay thế". SSP vẫn yêu cầu đồng ký 2-of-2 cho một lần thay thế, vì đó là một giao dịch mới.

Bạn hiếm khi đụng vào nonce bằng tay — SSP điền giúp bạn — nhưng biết rằng nó tồn tại giải thích vì sao một giao dịch đang chờ có thể giữ chân những giao dịch phía sau.

Gas, ở mức tổng quan

Mọi giao dịch Ethereum đều tốn gas, trả bằng ETH. Điều này đúng ngay cả khi bạn chuyển một token ERC-20: token đi nhờ trên một giao dịch Ethereum, và giao dịch đó cần ETH để chi trả cho việc tính toán. Quy tắc thực tế là luôn giữ một ít số dư ETH để có thể trả gas, nếu không một lần gửi có thể thất bại vì thiếu gas dù số dư token của bạn vẫn ổn.

Cách định giá gas theo EIP-1559 chia thành một phí cơ sở do mạng đặt ra và một khoản tip ưu tiên bạn thêm vào để được đưa vào nhanh hơn. Ở đây chúng tôi giữ ngắn gọn; để có bức tranh đầy đủ — phí cơ sở, tip, vì sao phí tăng vọt và cách chọn chúng khi tự lưu ký — hãy đọc phí gas trên Ethereum, giải thích cho người dùng tự lưu ký.

ETH so với token ERC-20

ETH là tài sản gốc của Ethereum và là thứ dùng để trả gas. Token ERC-20 là những tài sản riêng được định nghĩa bởi các hợp đồng thông minh theo dõi số dư gắn với địa chỉ của bạn. Gửi một token về kỹ thuật là một tương tác hợp đồng hơn là một lần chuyển giá trị thuần, nhưng trong SSP nó theo cùng quy trình dựng, ký, đồng ký, phát đi.

Một số thao tác token cần một lần phê duyệt (approval) trước khi một hợp đồng khác có thể chuyển token thay mặt bạn — phổ biến trong swap và DeFi. Phê duyệt là một chủ đề riêng và nằm ngoài phạm vi ở đây; chỉ cần biết rằng một lời nhắc yêu cầu phê duyệt chi tiêu là phần bình thường của các tương tác token, và cùng cơ chế đồng ký 2-of-2 bảo vệ nó.

Lưu ý thực tế trước khi gửi

  • Đúng mạng. Xác nhận chuỗi khớp với điều người nhận mong đợi. ETH trên Base không phải ETH trên mạng chính Ethereum.
  • Định dạng địa chỉ. Địa chỉ Ethereum là 0x cộng 40 ký tự thập lục phân. Hãy dán, đừng bao giờ gõ lại, và xác minh phần đầu và phần cuối trên cả hai thiết bị.
  • Tên ENS. Một số ví cho phép gửi tới một tên dễ đọc như name.eth thay vì một địa chỉ thô. Hãy xem nó như mọi địa chỉ: xác nhận nó phân giải tới đúng người nhận bạn mong đợi trước khi phê duyệt.
  • Giữ ETH cho gas. Một số dư chỉ gồm token không thể tự trả gas của nó. Hãy giữ một ít ETH.

Để biết chi tiết ở mức giao thức về cách cấu trúc các giao dịch Ethereum, tài liệu giao dịch Ethereum chính thức là một nguồn tham khảo vững chắc.

Khép lại

Nhận ETH trong SSP là chuyện chia sẻ địa chỉ 0x đã xác minh của bạn trên đúng mạng. Gửi thêm một bước có chủ đích — bước đồng ký SSP Key — biến một điểm hỏng đơn lẻ thành hai. Hãy giữ sẵn một ít ETH cho gas, để mắt tới nonce khi một giao dịch khựng lại, và xác nhận mạng mỗi lần, thì việc luân chuyển ETH hằng ngày trong SSP trở thành thói quen. Từ đây, bài viết về phí gas là phần đọc tiếp theo tự nhiên.

Chia sẻ bài viết này

Bài viết liên quan