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

chính sách của Hoa Kỳ có thể khiến các nhà đầu tư crypto sợ hãi

Coin Center cảnh báo chính sách quản lý của Mỹ có thể khiến các...

Nhóm vận động phi lợi nhuận Coin Center vừa đưa ra cảnh báo rằng, mặc dù chiến thắng của Donald Trump có thể mang...

Thủ tướng Phạm Minh Chính báo hiệu đã đến lúc quản lý Bitcoin tại...

Hôm nay, Quốc hội đã tiến hành thảo luận về hai dự thảo luật quan trọng: Dự thảo Luật quản lý và đầu tư...

Ethereum vs Solana: Altcoin nào sẽ dẫn đầu trong chu kỳ này?

Sự thống trị của Ethereum trong không gian DeFi khiến nó trở thành lựa chọn hàng đầu cho các dự án ổn định và...

Tin vắn Crypto 23/11: Bitcoin có khả năng chạm mốc $180.000 vào năm 2026...

Từ nhận định Bitcoin có khả năng cán mốc $180.000 vào năm 2026 đến Aptos công bố kế hoạch tích hợp dịch vụ thanh...

Dòng chảy ra ròng 4,5 tỷ USD tạo nên động lực tăng giá cho...

Dữ liệu từ IntoTheBlock tiết lộ rằng đã có dòng tiền trị giá 4,5 tỷ USD rút khỏi các sàn giao dịch trong bảy...
Cơ quan quản lý Hoa Kỳ xuất bản Hướng dẫn về tiền điện tử

Cơ quan quản lý Hoa Kỳ xuất bản hướng dẫn về tiền điện tử...

Cơ quan Quản lý Công nghiệp Tài chính Hoa Kỳ (FINRA) đã công bố một hướng dẫn toàn diện dành cho các nhà đầu...
ca-voi-mua-altcoin

Cá voi đã tích lũy 3 altcoin này trong tuần qua

Xu hướng tăng của thị trường được kích hoạt bởi chiến thắng của Donald Trump trong cuộc bầu cử tổng thống Mỹ ngày 5...
Bộ trưởng dịch vụ tài chính Ấn Độ bày tỏ sự hoài nghi về tiền điện tử

Bộ trưởng DFS Ấn Độ bày tỏ sự hoài nghi sâu sắc về tiền...

Mới đây, tại Hội nghị SBI Banking & Economics Conclave, M. Nagaraju, Bộ trưởng Bộ Dịch vụ Tài chính (DFS) của Ấn Độ, đã...

Giá Bitcoin có thể tăng lên tới 140.000 USD, quỹ đầu tư sử dụng...

Intelligent Alpha là một quỹ đầu tư trị giá 30 triệu USD, nơi trí tuệ nhân tạo (AI) hoàn toàn đảm nhận vai trò...

Ví Phantom vượt Coinbase trong bảng xếp hạng Apple App Store nhờ cơn sốt memecoin

Sự thay đổi trong xu hướng ưa chuộng của người dùng đối với các ứng dụng tiền điện tử đã tạo ra bất ngờ...
sol-tang-gia

Giá Solana (SOL) đạt ATH mới, mục tiêu tiếp theo ở đâu?

Solana (SOL) đã tăng vọt lên mức cao kỷ lục $264,50 vào ngày 23/11, được thúc đẩy bởi đà tăng của Bitcoin (BTC) tiến...
Lạm phát Ethereum tăng vọt giữa những thay đổi của Dencun

Ethereum đang trải qua giai đoạn lạm phát dài nhất từ trước đến nay

Ethereum đang trải qua giai đoạn lạm phát dài nhất từ trước đến nay, với hơn 350.000 ETH (trị giá khoảng 1,1 tỷ USD)...

Những dự án này sẽ mở khóa 475 triệu USD vào tuần tới

Vào thứ Sáu, dữ liệu từ Tokenomist tiết lộ rằng thị trường tiền điện tử sẽ trải qua một đợt gia tăng nguồn cung...

Cộng đồng crypto hoảng sợ sau lời bình “Bitcoin là người chiến thắng” của...

Jim Cramer, người dẫn chương trình Mad Money, đã gây bất ngờ lớn cho cộng đồng đầu tư Bitcoin vào thứ Sáu, khi đưa...

Sui đang phát triển vượt bậc và cạnh tranh với Aptos để trở thành...

Hệ sinh thái blockchain Sui đã ghi nhận sự tăng trưởng ấn tượng trong thời gian gần đây, với sự gia tăng mạnh mẽ...

Giá Coin hôm nay 23/11: Bitcoin tiếp tục lập ATH mới sát $100.000, altcoin...

Bitcoin đang tiến gần đến mốc $100.000, được thúc đẩy bởi kỳ vọng về các quy định thân thiện của Hoa Kỳ và sự...