Trang chủ Kiến Thức Crypto Bạn không cần Ether để chuyển các Token

Bạn không cần Ether để chuyển các Token

Bài viết này giới thiệu một token mới (tiêu chuẩn) không yêu cầu người giữ token giữ Ether để quản lý token của họ. Gần đây, một token như vậy đã được phát hành tại startup tiền mã hóa DreamTeam.

Token ERC20

Nếu bạn nghĩ rằng token ERC20 là thứ gì đó mới mẻ và khủng khiếp, hãy suy nghĩ lại. Thế giới của chúng ta đã tràn ngập các token rồi:

  • Đơn vị tiền tệ của các quốc gia khác nhau là các token. Để mua một cái gì đó, chẳng hạn như ở Ukraine, bạn cần Ucraina Hryvnias.
  • Sau đó, bạn trao đổi những “token” này cho một loại “token” khác, những thứ có thể cấp cho bạn quyền sử dụng các phương tiện công cộng hoặc đi vào rạp chiếu phim yêu thích chẳng hạn.
  • Bất kỳ hình thức vé giảm giá nào đều có thể được coi là token. Bạn có thể sử dụng vé giảm giá ở những địa điểm cụ thể và giao dịch chúng cho các “token” khác.
  • Bất kỳ đồ vật nào tương tự như những con tem đều có thể được coi là token!

Tất nhiên, chúng ta càng có nhiều token, việc quản lý tất cả chúng càng trở nên khó khăn hơn. Nhưng cuối cùng, mọi thứ sẽ luôn được so sánh với token ổn định nhất (hiện tại là USD hoặc EUR).

Để chuyển các token ERC20 thông thường, chủ sở hữu token phải có số dư Ether. Điều này dẫn đến sự bất tiện lớn cho người dùng: ngoài các token họ muốn, họ cũng cần phải có được Ether ở đâu đó.

Quản lý hai tài sản mã hóa thay vì một tạo ra nhiều vấn đề hơn cho cả người dùng và chủ sở hữu ứng dụng.

Sự cần thiết của Ether

Sự cần thiết của Ether để chuyển token không chỉ là về cách Ethereum được tạo ra. Để giữ cho bất kỳ mạng phi tập trung nào (các blockchain của ngày hôm nay) hoạt động trơn tru, nó đòi hỏi sự hỗ trợ và điều này không được cung cấp miễn phí. Việc thanh toán thường xuất hiện dưới dạng một loại phí tiền tệ hoặc điện toán. Nếu mọi người thực hiện các giao dịch mà không phải trả phí mạng, mạng sẽ bị spam với hàng triệu giao dịch và cuối cùng, chạm đến công suất tối đa.

Trong Ethereum, bạn phải trả phí bằng Ether cho bất kỳ thay đổi trạng thái mạng nào. Phí trong Ether được trả cho mỗi giao dịch, bao gồm phí chuyển Ether, triển khai hợp đồng thông minh và thực hiện các chức năng hợp đồng thông minh.

Xem xét rằng Ethereum hiện tại tạo ra gần 90% các ICO và giao dịch sử dụng token ERC20 nên sự bất tiện về việc giữ Ether khiến cho các dự án này thu hẹp lại chỉ trong phạm vi những người dùng đủ kinh nghiệm về Ethereum.

Triết lý Web3

Nếu bạn đã từng học về phần kỹ thuật của Ethereum, có thể bạn đã nhìn thấy web3. Web3 có xu hướng không chỉ là một thư viện JavaScript cho Ethereum. Đó là về cách bạn tương tác với một mạng phi tập trung như Ethereum.

Trong thế giới web3 phi tập trung lý tưởng, mỗi cá nhân có khóa riêng của họ được sử dụng để tương tác với mạng thay cho họ. Không ai có thể giao dịch trên mạng thay mặt cho ai đó nếu không biết khóa riêng của họ. Xét trong Ethereum và các nền tảng mã hóa khác, ví của bạn (Metamask, Exodus, Trezor,…) giữ khóa riêng này cho bạn và do đó chỉ bạn mới có thể thực hiện các giao dịch thay mặt cho tài khoản của bạn (địa chỉ công khai) trên mạng này.

Mật mã học

Địa chỉ công khai hoặc địa chỉ tài khoản của bạn được tạo bằng cách băm khóa riêng. Không thể biết khóa riêng từ địa chỉ công cộng, đó là một trong những thuộc tính tuyệt vời của hàm băm. Điều này có nghĩa là bạn có thể chia sẻ địa chỉ công cộng của mình một cách an toàn. Để chứng minh rằng bạn sở hữu khóa riêng tư, bạn chỉ cần đặt chữ ký điện tử của mình vào bất kỳ dữ liệu được yêu cầu nào.

Trong Ethereum, khi bạn chuẩn bị thực hiện một giao dịch, hãy gửi một số Ether hoặc token, bạn phải ký dữ liệu giao dịch, gửi cả dữ liệu và chữ ký tương ứng vào mạng. Vì chỉ chủ sở hữu khóa riêng có thể tạo chữ ký hợp lệ, nên không ai khác có thể giả mạo chữ ký cũng như thay đổi dữ liệu đã ký và giao dịch trên mạng thay mặt cho địa chỉ công khai của bạn.

Có một vấn đề với các giao dịch không thu phí Ether. Trong Ethereum, theo thiết kế, phí giao dịch được trừ vào tài khoản tạo chữ ký. Về mặt lý thuyết, chúng ta có thể đặt mức phí này thành 0, bằng cách đặt giá gas thành 0. Nhưng thực tế, hiện tại phí giao dịch là động lực duy nhất để những người khai thác đưa giao dịch của bạn vào khối tiếp theo, vì vậy bạn phải đặt nó thành số tiền hợp lý. Hoặc, cách khác, bạn phải liên hệ trực tiếp với các thợ mỏ hàng đầu và yêu cầu họ luôn đưa giao dịch của bạn vào các khối của họ (ắt hẳn là điều này sẽ chẳng xảy ra).

Tuy nhiên, hãy nghĩ về nó theo cách này: chúng ta luôn phải trả phí giao dịch bằng Ether. Tuy nhiên, nó có thực sự quan trọng là tìm ra người chi trả lệ phí này hay không? Ví dụ: chúng tôi có thể viết một hợp đồng thông minh sẽ thực hiện một số hành động nhất định, bất kể tài khoản nào đã thực hiện giao dịch. Hơn nữa, chúng ta có thể sử dụng mật mã khóa công khai trong bản thân hợp đồng thông minh để tạo ra nhiều cơ hội rộng mở hơn để quản lý tài sản.

Token tương thích ERC20 có thể được chuyển mà không cần có số dư Ether

Bằng cách có khả năng chứng minh rằng bạn là chủ sở hữu tài khoản (địa chỉ), hãy thiết kế một hợp đồng thông minh với token tương thích ERC20, cho phép chuyển token của ai đó bằng chữ ký hợp lệ của họ trên dữ liệu chuyển giao (đối số của hàm truyền). Trong trường hợp này, người gửi token không cần Ether. Tuy nhiên, chúng ta vẫn cần một số xác nhận từ người gửi token về ý định gửi token của họ, vì vậy chúng ta phải nhắc người gửi token về chữ ký của họ, đó là một hoạt động miễn phí.

Dưới đây là cách hoạt động của tính năng này:

  • Người gửi Token ký các đối số cho hàm chuyển (người nhận, số tiền). Có rất nhiều cách người gửi token có thể tạo chữ ký. Bây giờ, giả sử rằng việc ký chỉ là một cửa sổ bật lên, trong đó người gửi Token nhấp vào “Ký”.
  • Người gửi Token cung cấp chữ ký của họ với dữ liệu đã ký tương ứng cho một Transaction Publisher, một tài khoản có một số Ether và có thể thực hiện các giao dịch trên mạng Ethereum.
  • Transaction Publisher thực hiện một chức năng đặc biệt trong hợp đồng có tên là transferViaSignature. Hàm này lấy dữ liệu truyền cùng với chữ ký của người gửi token.
  • Hợp đồng thông minh xác nhận xem chữ ký có hợp lệ hay không và chuyển token.

Tuyệt vời! Bây giờ, người gửi token không cần phải đi đến một sàn giao dịch và mua Ether. Tuy nhiên, thiết kế này chưa bao gồm các vấn đề sau:

  • Transaction Publisher luôn chi tiêu Ether và không bao giờ được thưởng cho công việc của mình.
  • Không có gì ngăn cản Transaction Publisher sử dụng cùng một chữ ký nhiều lần.
  • Không có quyền kiểm soát đối với người gửi token khi chữ ký hết hạn cũng như các tùy chọn để hủy chữ ký.
  • Khi Transaction Publisher gửi giao dịch đến mạng, mọi người sẽ thấy chữ ký. Theo cách này, bất kỳ ai cũng có thể gửi cùng một giao dịch với giá gas cao hơn. Do đó, giao dịch sẽ được xuất bản từ một Transaction Publisher khác.

Chúng ta chỉ có thể khắc phục vấn đề đầu tiên bằng cách thúc đẩy các Transaction Publisher theo một cách nào đó. Transaction Publisher có thể yêu cầu một số loại phí để bù đắp cho Ether đã chi tiêu. Trong nhiều trường hợp, người gửi token chỉ có một loại token, do đó việc trao phần thưởng cho Transaction Publisher là rất hợp lý.

Để khiến cho chữ ký trở thành duy nhất và giải quyết vấn đề số 2, người gửi token cũng phải ký một số loại “mã chữ ký định danh” ngoài các tham số hàm truyền. Mã hợp đồng thông minh sau đó có thể lưu trữ số nhận dạng chữ ký và kiểm tra xem chữ ký đó đã được sử dụng chưa. Ngoài ra, chúng ta có thể ghi nhớ chữ ký đã sử dụng và không cho phép sử dụng cùng một chữ ký hai lần.

Để cung cấp cho người gửi Token nhiều quyền kiểm soát hơn về thời gian và cách thức chữ ký có thể được sử dụng và giải quyết vấn đề số 3, chúng ta có thể giới thiệu thêm một tham số mà người gửi token phải ký, một thời hạn. Thông số này sẽ được xác nhận bởi một hợp đồng thông minh và đảm bảo rằng chữ ký hết hạn vào một thời điểm nào đó trong tương lai.

Và cuối cùng, để giải quyết vấn đề số 4, khi một giao dịch có thể được khai thác bởi một Transaction Publisher khác, chúng ta cũng phải bao gồm địa chỉ của Transaction Publishervào chữ ký của người gửi token. Hoặc, thanh lịch hơn, hãy gọi đó là người nhận phí. Bất kể ai đã gửi giao dịch, phí giao dịch sẽ được chuyển đến địa chỉ nhận.

Chúng ta đã thảo luận về việc chuyển token đơn giản thông qua chữ ký. Tuy nhiên, tiêu chuẩn ERC20 cũng có hai chức năng khác: phê duyệt và transferFrom. Các chức năng này có thể được thực hiện bằng cách tương tự, trả một khoản phí nhỏ bằng token cho Transaction Publisher. Trong trường hợp transferFrom, có nghĩa là lấy phí trực tiếp từ số tiền được phép thì hầu như chỉ được sử dụng khi rút tiền vào tài khoản cá nhân.

Bây giờ, chúng ta hãy nói về một cái gì đó phức tạp hơn: tiêu chuẩn chữ ký.

Tiêu chuẩn chữ ký

Tại thời điểm viết bài viết này, chưa có một tiêu chuẩn chữ ký nào được thiết lập bởi cộng đồng, và đây là một vấn đề. Để xác minh chữ ký trên một hợp đồng thông minh, chắc chắn là chúng ta cần biết thuật toán về cách chữ ký được tạo ra. Hiện tại, theo như tôi biết, có ít nhất 4 tiêu chuẩn chữ ký khác nhau được hỗ trợ bởi các khách hàng khác nhau (ví):

  1. eth.sign, ký dữ liệu hiện thời. Được hỗ trợ bởi Metamask.
  2. eth.personal.sign, ban đầu được triển khai trong Geth, bổ sung thêm tiền tố “\ x19Ethereum Signed Message: \ n” và độ dài byte dữ liệu trong ASCII. Được hỗ trợ bởi Metamask, Mist và một số ví khác như Trust.
  3. “Fixed” eth.personal.sign, được thêm tiền tố “\ x19Ethereum Signed Message: \ n” và độ dài byte dữ liệu trong HEX. Thực hiện trong Trezor và Ledger (và có thể trong ví phần mềm/phần cứng khác).
  4. SignTypedData, ban đầu được đề xuất trong EIP712 bởi Leonid Logvinov của 0x. Được hỗ trợ bởi Metamask.

Hãy để tôi chỉ cho bạn một ví dụ nhanh. Khi sử dụng eth.personal.sign, trong một pop-up hiện lên, bạn sẽ thấy những dòng chữ không thể đọc được, một trải nghiệm người dụng thực sự tệ.

Mặc dù dòng chữ này có thể là một chuỗi HEX có thể đọc được nhưng người dùng vẫn không hiểu rõ là họ đang “ký” lên đâu. Tiêu chuẩn chữ ký SignTypedData giải quyết điều này và làm cho pop-up chữ ký dễ đọc hơn cho người dùng trong khi vẫn duy trì cùng một mức độ bảo mật:

Mặc dù tùy chọn sẵn có tốt nhất từ ​​các tùy chọn ở trên rõ ràng là SignTypedData nhưng nó vẫn chưa được áp dụng rộng rãi. Tuy nhiên, như bạn có thể đã nhận thấy từ bức ảnh chụp màn hình, số tiền cần chuyển và phí được hiển thị bằng chữ số thập phân, đây là giới hạn tiêu chuẩn chữ ký. Token của chúng tôi có 6 chữ số thập phân. Hãy tưởng tượng sẽ khó khăn hơn bao nhiêu cho người dùng để kiểm tra số tiền trong trường hợp 18 chữ số thập phân.

Dữ liệu có thể đọc được mà bạn ký

Trong token DREAM của chúng tôi, chúng tôi đã thành công trong việc thực hiện tất cả các tiêu chuẩn hiện có, tại thời điểm phát triển (và viết bài này). Chúng tôi đã thực hiện một chức năng riêng biệt trong một hợp đồng thông minh thực hiện xác thực chữ ký, cùng với việc xác thực dấu thời gian hết hạn chữ ký. Bạn được tự do xem qua các ý tưởng triển khai của chúng tôi và thảo luận về những gì có thể được thêm vào hoặc cải thiện.

Một số thống kê về tiêu thụ gas sử dụng chuyển khoản thông qua tiêu chuẩn chữ ký:

  • eth.personal.sign: ~ 79.5k gas (94.5k gas khi chuyển lần đầu)
  • eth.personal.sign trên chuỗi HEX: ~ 123k gas (~ 138.3k gas khi chuyển lần đầu)
  • signTypedData: ~ 79.8k gas (~ 94.8k gas khi chuyển lần đầu)
  • Chuyển token sử dụng Ether: ~ 36.8k gas (~ 51.8k gas khi chuyển lần đầu)

Như bạn có thể thấy, việc truyền các token thông qua một chữ ký tiêu thụ gas nhiều hơn khoảng 2 lần so với việc chuyển các token bằng Ether. Tuy nhiên, rất đang để cho phép các tính năng tuyệt vời như vậy trong các hợp đồng thông minh.

Phần kết luận

Để khởi chạy một ứng dụng thành công ngày hôm nay, bạn phải làm cho giao diện người dùng của nó dễ dàng và đơn giản nhất có thể. Các tập đoàn và startup hiện đại dành hàng triệu đô la để thiết kế giao diện dễ sử dụng và hoàn thiện trải nghiệm người dùng. Khi nói đến các ứng dụng Ethereum sử dụng token ERC20 tiêu chuẩn, trải nghiệm người dùng có thể rất tệ và làm cho ứng dụng thua lỗ, tất cả vì cần phải trả phí bằng Ether.

Giải pháp được đề xuất trong bài viết này giúp loại bỏ việc người dùng cần phải trả phí bằng Ether trong khi vẫn duy trì cùng mức độ bảo mật.

Mặc dù giải pháp được đề xuất yêu cầu viết các hợp đồng thông minh token ERC20 hỗ trợ một số hành động thông qua chữ ký nhưng người ta có thể áp dụng giải pháp cho các token ERC20 hiện có, bằng cách sử dụng một chiến lược tương tự như ví đa chữ ký: cho mỗi tài khoản không giữ Ether. Nói chung, sự khác biệt duy nhất ở đây sẽ là chi phí triển khai ban đầu cho mỗi tài khoản mới.

Theo: TapchiBitcoin.vn/hackernoon

MỚI CẬP NHẬT

Jito

Jito trở thành giao thức lớn nhất trên Solana với 1,4 tỷ đô la...

Dự án cơ sở hạ tầng MEV và staking thanh khoản Jito đã trở thành giao thức lớn nhất trên Solana, với tổng giá...

Tỷ lệ thống trị của Bitcoin giảm, tâm lý rơi vào “sợ hãi” –...

Thị phần của Bitcoin đã giảm nhẹ khiến các nhà phân tích suy đoán rằng nó có thể đã đạt đỉnh khi các trader...

AltLayer giới thiệu token reALT trong giai đoạn thứ hai của chương trình staking

Nền tảng rollup AltLayer đã triển khai giai đoạn thứ hai của chương trình staking, giới thiệu token ALT được restake (reALT). AltLayer là một...

[QC] Pepe thể hiện xu hướng tăng mạnh!  Dogeverse huy động được hơn 12...

Mùa tăng trưởng của meme coin đang dần trở lại khi Pepe đã cho thấy mức tăng 6% trong ngày hôm nay, mạnh...

Tin vắn Crypto 02/05: Bitcoin nhấp nháy tín hiệu phục hồi mạnh mẽ cùng...

Từ nhận định Bitcoin xuất hiện hai tín hiệu phục hồi tiềm năng đến Ripple tái cân bằng nguồn cung lưu hành XRP. Sau...

Tương lai của Solana sẽ dựa vào 4 nền tảng quan trọng này

CEO Vibhu Norby của Drip Haus đã cung cấp thông tin phản ánh chi tiết về quỹ đạo của Solana, cùng với những hiểu...
Chuyên gia chia sẻ cái nhìn sâu sắc về Memecoin Milei Moneda ($MEDA) mới

[QC] Chuyên gia chia sẻ cái nhìn sâu sắc về Memecoin Milei Moneda ($MEDA)...

  Milei Moneda ($MEDA) là lựa chọn đầu tư tiền điện tử tốt nhất, chuẩn bị ra mắt vào ngày 21 tháng 5 năm 2024. NEAR...
stablecoin

Khối lượng stablecoin vẫn tăng khi FDUSD đạt mức cao kỷ lục, trong khi...

Khối lượng stablecoin được chốt bằng USD hàng tháng trong tháng 4 giảm so với tháng trước mặc dù First Digital USD (FDUSD) vượt...

BONK lật FLOKI để leo lên vị trí thứ 5 khi các memecoin hệ...

Trong bối cảnh memecoin đang có màn comeback ấn tượng, phần lớn trong top 10 token lớn nhất hệ Solana tính theo vốn hóa...

Giao dịch Solana và Bitcoin NFT đạt kỷ lục trong tuần trước

Thị trường NFT của Bitcoin và Solana đã đạt kỷ lục về số lượng trader hoạt động hàng ngày (DAT) vào tuần trước. Trong...
tiền điện tử

Các nhà đầu tư vào dự án tiền điện tử yêu thích của chủ...

Với thị trường tiền điện tử đang suy thoái, danh mục đầu tư của các nhà đầu tư tiền điện tử cũng bị ảnh...

Khả năng lập trình Bitcoin theo phong cách Ethereum có thể xuất hiện sau...

Ngày càng có nhiều dự án tìm cách khai phá tiềm năng của blockchain Bitcoin để triển khai những chức năng mà trước đó...
dự đoán tăng gấp 30 lần cho đợt presale mới của Rebel Satoshi

[QC] Các nhà phân tích nhấn mạnh vào dự đoán tăng gấp 30 lần...

  Sau sự hợp tác gần đây với Kado Money, các nhà phân tích dự báo Bonk (BONK) sẽ tăng lên 0,000035 USD trước cuối...

Memecoin dường như đang trở lại

Pump.fun đã ghi nhận doanh thu 521.150 đô la vào ngày 24/4, thiết lập ngày có doanh thu cao thứ hai từ trước đến...

MicroStrategy đang xây dựng ‘ID phi tập trung’ trên Bitcoin

Sau khi triển khai chiến lược tập trung vào BTC nhiều năm qua, mới đây, đồng sáng lập kiêm Chủ tịch điều hành MicroStrategy...

BlackRock IBIT lần đầu tiên bị thoái vốn kể từ khi ra mắt khi...

Sau chuỗi kỷ lục 71 ngày chứng kiến dòng vốn vào liên tiếp, iShares Bitcoin Trust (IBIT) của BlackRock đã chứng kiến 5 ngày...