BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Tại sao tôi vẫn có ETH trong ví nhưng giao dịch không thể được xác nhận?

区块律动BlockBeats
特邀专栏作者
Bài viết này có khoảng 2941 từ, đọc toàn bộ bài viết mất khoảng 5 phút
Tại sao bạn không thể sử dụng số tiền phí gas mặc định nhưng vẫn không thể giao dịch ngay lập tức?
Tóm tắt AI
Tại sao bạn không thể sử dụng số tiền phí gas mặc định nhưng vẫn không thể giao dịch ngay lập tức?

Lưu ý của biên tập viên: Bài viết này đến từChặn nhịp BlockBeats (ID: BlockBeats), được in lại bởi Odaily với sự cho phép.

Lưu ý của biên tập viên: Bài viết này đến từ

Chặn nhịp BlockBeats (ID: BlockBeats)

Chặn nhịp BlockBeats (ID: BlockBeats)

Khi Uniswap phân phối tiền cho hơn 200.000 địa chỉ người dùng, có lẽ nhiều người đã nghĩ: “Phí gas này quá cao”.

Ngày hôm đó là một ngày đáng nhớ trong lịch sử của Ethereum, đề xuất gas đạt tối đa 1000 GWEI, đây là điểm cao nhất trong lịch sử.

Vào buổi sáng chứng kiến ​​​​lịch sử và airdrop quốc gia, nhiều người đã gặp phải vấn đề về phí gas, phí gas đắt đỏ không còn là vấn đề nữa, vấn đề là giá trị tối đa mà phí gas đề xuất cho ví không thể được bán trong thời gian dự kiến . Metamask của mọi người cho thấy rằng tất cả họ đều đang chờ xử lý và thật khó chịu khi phải đi lòng vòng.

Tại sao bạn không thể sử dụng số tiền phí gas mặc định nhưng vẫn không thể giao dịch ngay lập tức? . Bài viết này sẽ giải thích chi tiết về cơ chế tỷ lệ giao dịch của Ethereum và các vấn đề gặp phải khi bắt đầu giao dịch trên Ethereum.

tiêu đề phụ

lý khí

Vấn đề này trước tiên phải bắt đầu với tài khoản Ethereum.

Có hai loại tài khoản trong mạng Ethereum, Tài khoản thuộc sở hữu bên ngoài và Tài khoản hợp đồng.

Tài khoản bên ngoài là tài khoản được sử dụng bởi người dùng, được kiểm soát bởi người giữ khóa riêng. Tài khoản hợp đồng đề cập đến một hợp đồng thông minh với logic ứng dụng, được kiểm soát bởi mã hợp đồng (thường thuộc sở hữu của bên dự án). Khi người dùng sử dụng các ứng dụng DeFi, họ đang sử dụng tài khoản của chính mình để tương tác với các hợp đồng thông minh của các dự án DeFi.

Nhiều tài khoản có thể tương tác theo ý muốn, chuyển khoản có thể được thực hiện giữa các ví và hợp đồng cũng có thể gọi lẫn nhau. Mỗi tương tác trên chuỗi cần tiêu tốn một lượng tính toán nhất định, lượng tính toán tiêu thụ được quyết định bởi độ khó tính toán, và Gas là đơn vị đo lượng tính toán. Ví dụ, thao tác cộng tương đối đơn giản và cần 3 Gas, trong khi thao tác chia tương đối phức tạp và cần 5 Gas.

Để tránh sự tập trung của tất cả các nút, chuỗi khối theo đuổi kiến ​​trúc phi tập trung sẽ giới hạn nghiêm ngặt dung lượng của từng khối đơn lẻ. Ví dụ: Giới hạn kích thước khối của Bitcoin và Giới hạn khối gas của Ethereum. Khi Rhythm BlockBeats viết bài báo, Giới hạn Gas khối của mỗi khối đơn lẻ trong Ethereum là khoảng 12.000.000 Gas, đây là giới hạn trên của tổng số tiền tính toán của mỗi khối. Trung bình, một khối được tạo ra cứ sau 15 giây. Khi nhu cầu giao dịch vượt quá dung lượng khối, người dùng cần cạnh tranh tài nguyên trong mỗi khối để giao dịch của họ được xác nhận trên chuỗi càng sớm càng tốt. Tại thời điểm này, người dùng sẽ đặt giá thầu Gas và các thợ mỏ sẽ ưu tiên giao dịch với Giá Gas cao vào các khối.

Thông thường người dùng cũng sẽ thấy rằng ví sẽ tăng tùy chọn điều chỉnh Gas Limit khi thực hiện chuyển khoản. Khác với Giới hạn Gas khối, Giới hạn Gas đề cập đến giới hạn trên của việc sử dụng Gas mà người dùng có thể chấp nhận cho một giao dịch. Bởi vì đôi khi có thể có sơ hở trong hợp đồng, một giao dịch sẽ được tính toán trong một vòng lặp vô tận. Nếu không có Gas Limit, giao dịch này sẽ tiêu tốn tất cả ETH trong ví của người dùng. Các khoản phí thường được tính bởi những người khai thác được thanh toán theo số tiền tính toán đã tiêu thụ khi thực sự thực hiện giao dịch (Gas được sử dụng bởi giao dịch) và ETH còn lại trong Giới hạn Gas sẽ được trả lại vào tài khoản của người dùng.

Vì vậy, chúng ta có thể kết luận rằng lượng ETH tiêu thụ (Ether Cost) = phí giao dịch (Gas Fee/Phí giao dịch) = lượng Gas tiêu thụ của mỗi giao dịch (Gas used by transaction) * Giá gas (Gas Price).

Sau khi hiểu rõ về cơ chế phí và các loại tài khoản của Ethereum, chúng ta hãy xem xét các vấn đề mà người dùng thường gặp phải khi giao dịch.

tiêu đề phụ

Giao dịch đang chờ xử lý/tăng tốc?

Bất cứ khi nào người dùng bắt đầu một giao dịch, giao dịch đó sẽ được đưa vào một nhóm giao dịch (Mempool). Như đã đề cập ở trên, các miner sẽ ưu tiên đóng gói các giao dịch có Gas Price cao nhất trong pool (bản chất tìm kiếm lợi nhuận của miner). Do đó, Giá gas do người dùng đặt sẽ xác định tốc độ đóng gói và thực hiện giao dịch. Khi mạng bị tắc nghẽn, do Giá gas tăng cao, giao dịch của người dùng có thể đang chờ xác nhận trong một thời gian dài. Để gửi các giao dịch đang chờ xử lý càng sớm càng tốt, người dùng có thể chọn trả thêm Giá xăng để tăng tốc độ giao dịch (Lưu ý nhịp điệu: được hiểu là phần thưởng cho người khai thác nhiều hơn để đạt được mục đích nhảy vào hàng đợi).

Khi người dùng muốn tăng tốc giao dịch, trong ví Ethereum, người dùng có thể chọn tùy chọn giao dịch được tăng tốc và sẽ phải trả phí Gas cao hơn. Sau khi người dùng đồng ý, nó tương đương với việc bắt đầu một giao dịch mới và giao dịch mới Tương tự như giá trị Nonce của giao dịch được xác nhận.

Do các quy định của mạng Ethereum, giá trị Nonce là liên tục và không thể nhảy, đồng thời giá trị Nonce của mỗi giao dịch tại cùng một địa chỉ không thể lặp lại, do đó, các thợ đào sẽ đóng gói giao dịch mới được tạo sau khi giao dịch mới được đóng gói và được xác nhận, Giá Gas thấp hơn trước đó Giao dịch sẽ bị hủy.

Nếu người dùng không muốn tăng tốc giao dịch, miễn là giao dịch vẫn được giải nén trong nhóm giao dịch, người dùng có thể chọn hủy giao dịch bất cứ lúc nào. Logic hủy giao dịch cũng giống như logic tăng tốc giao dịch, người dùng bắt đầu giao dịch với Gas Price cao hơn nhưng Nonce giống như giao dịch được xác nhận, nhưng số tiền giao dịch trở thành 0, vì vậy về bản chất, chi phí hủy bỏ giao dịch cũng giống như chi phí đẩy nhanh giao dịch.

Cần lưu ý rằng trước khi hoàn tất xác nhận giao dịch đang chờ xử lý, các giao dịch sau cần phải xếp hàng chờ đợi, vì vậy người dùng không nên thực hiện nhiều giao dịch liên tục do thời gian chờ đợi lâu.

tiêu đề phụ

Giao dịch không thành công (Fail)

Rhythm BlockBeats nhận thấy rằng lý do phổ biến nhất khiến giao dịch thất bại là Gas giao dịch đã cạn kiệt (Out of Gas). Điều đó có nghĩa là, tính toán của giao dịch này vượt quá Gas Limit do người dùng đặt. Nói chung, trong trường hợp này, trạng thái giao dịch sẽ được hiển thị là không thành công, cho biết rằng Gas đã hết và Gas đã thanh toán sẽ không được hoàn trả.

Một số người dùng có thể cho rằng điều này là không công bằng, nhưng về bản chất, những người khai thác đã tính toán công việc, nhưng gas không đủ sau một nửa tính toán, vì vậy những người khai thác chỉ có thể từ bỏ và tiếp tục làm việc, nhưng công việc trước đó cần phải được trả “lương” nên việc trước đó tiền xăng không được hoàn lại có lẽ là điều dễ hiểu. Trong trường hợp này, người dùng chỉ có thể thực hiện lại giao dịch và tăng Gas Limit của giao dịch này.

Một trường hợp giao dịch thất bại khác là khi người dùng bắt đầu chuyển giao dịch sang hợp đồng thông minh, nhưng một số lỗi ngăn cản việc thực hiện hợp đồng, giao dịch sẽ trả về Chỉ thị sai.

Ví dụ: khi người dùng tham gia vào chiến dịch gây quỹ cộng đồng, các trường hợp sau có thể xảy ra:

Hạn ngạch đã đầy;

hoặc người dùng không có trong danh sách trắng;

Hoặc mã thông báo đăng ký quá mức của người dùng, v.v.

Tại thời điểm này, Gas Limit do người dùng đặt sẽ cạn kiệt, dẫn đến giao dịch không thành công.

Tuy nhiên, sau hard fork Ethereum Byzantine, một toán tử mới Reverted (EIP-140) đã được thêm vào. Khi xảy ra lỗi trong hợp đồng và giao dịch không thành công, giao dịch sẽ không sử dụng hết Gas theo Giới hạn Gas đã đặt, hợp đồng sẽ ngừng thực hiện và hoàn trả phí Gas còn lại, đồng thời thông báo cho người dùng nguyên nhân gây ra lỗi.

Tất nhiên, nếu số lượng ETH trong ví của người dùng không đủ để trả phí Gas, giao dịch cũng sẽ bị coi là thất bại.

ETH
投资
钱包
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina
Mục lục bài viết
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android