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

Runes thêm gia vị cho bữa tiệc halving, khơi dậy mùa mới cho Bitcoin...

Halving năm 2024 là một sự kiện lớn trong thế giới tiền điện tử. Tuy nhiên, năm nay, giao thức Runes – và cuộc...

Michael Saylor kiếm được 370 triệu USD từ việc bán cổ phiếu MicroStrategy khi...

Trong bối cảnh giá Bitcoin tăng vọt 46% từ đầu năm đến nay, bò BTC Michael Saylor đã bán 370.000 cổ phiếu MicroStrategy một...

Lý do giá IMX vẫn tăng 3% dù ImmutableX mở khóa 69 triệu đô...

ImmutableX (IMX), được xếp hạng trong số 15 giải pháp Ethereum Layer 2 hàng đầu theo vốn hóa thị trường, đã tăng gần 3%...

Nhà phát triển Bitcoin Ordinals chia sẻ mẹo khai thác Runes trong thời gian...

Nhà phát triển Bitcoin Ordinals sẽ sớm ra mắt giao thức mới, được gọi là Runes, có kế hoạch cạnh tranh với tiêu chuẩn...

Telegram có kế hoạch token hóa sticker và hỗ trợ chức năng blockchain trên...

Mới đây, trong bối cảnh TON tăng trưởng vượt bậc, Pavel Durov đã vạch ra kế hoạch cho ứng dụng nhắn tin Telegram nhằm...
Tho dao Bitcoin

Benchmark: Các thợ đào Bitcoin được định vị tốt hơn cho halving lần này

Khi halving lần thứ tư của Bitcoin chỉ còn chưa đầy một ngày, nhà môi giới Benchmark cho biết thợ đào là nhóm bị...

Cách tiếp cận halving Bitcoin lần thứ tư với tư cách là một nhà...

Sự sụt giảm gần đây của Bitcoin (BTC) mang đến cơ hội cho các nhà đầu tư mua dip khi halving Bitcoin lần thứ...

Tether mở rộng USDT và XAUT sang mạng The Open Network khi TON tăng...

Trong bối cảnh thị trường biến động khi sự kiện halving chuẩn bị diễn ra, Tether, công ty đứng sau stablecoin lớn nhất thế...
Fed

32% trader Polymarket cược rằng Fed Hoa Kỳ không cắt giảm lãi suất trong...

Những người đặt cược trên trang web cá cược dựa vào blockchain Polymarket hiện nhận thấy 32% khả năng Cục Dự trữ Liên bang...

[QC] ICO Đồng Meme Coin Dogeverse Huy Động Được 6 triệu USD Sau Khi...

 Đồng Meme coin đa chuỗi mới, Dogeverse đã huy động được 6 triệu USD trong đợt presale và gần đây đã vượt qua được...

Runes có thể sẽ được hỗ trợ sau cơn sốt BRC-20 và Ordinals

Với mọi sự chú ý đổ dồn vào sự kiện halving, Bitcoin đang là trung tâm trên thị trường. Tiền điện tử tiên phong...

Tin vắn Crypto 19/04: Bitcoin đang chuẩn bị cho động thái lớn sau halving...

Từ nhận định Bitcoin có thể sắp diễn ra động thái lớn sau halving đến Tập đoàn SBI công bố kế hoạch phát hành...

Đây là lý do tại sao Bitcoin sẽ không dừng ở mức 100 nghìn...

Khi nói về các chính sách tiền tệ được thực hiện bởi chính phủ Hoa Kỳ cũng như các gã khổng lồ kinh tế...
Casino Tiền Điện Tử Mega Dice Ra Mắt Chương Trình Presale

[QC] Casino Tiền Điện Tử Mega Dice Ra Mắt Chương Trình Presale, Cán Mốc...

 Mega Dice, một dự án casino tiền điện tử trực tuyến đang phát triển cực kỳ nhanh chóng và đang làm mưa làm gió...

Halving chỉ còn 87 block: Bitcoin phục hồi lên gần 65.000 USD

Trong bối cảnh căng thẳng địa chính trị leo thang ở Trung Đông, Bitcoin đã đưa giới đầu tư đi tàu lượn siêu tốc...
bitcoin

Nhà sáng lập Skybridge: Bitcoin có thể tăng vọt lên 200.000 đô la sau...

Trong một cuộc phỏng vấn gần đây về tương lai của Bitcoin, Anthony Scaramucci, nhà sáng lập và đối tác quản lý của Skybridge...