Trang chủ Tạp chí Tin tức Ethereum (ETH) Cách sửa đổi hoặc hủy giao dịch Ethereum đang chờ xử lý

Cách sửa đổi hoặc hủy giao dịch Ethereum đang chờ xử lý

lúc 15:00
314
SHARE

Ethereum là một nền tảng phần mềm dựa trên blockchain mã nguồn mở với hàng nghìn ứng dụng phi tập trung (dApp) cung cấp năng lượng cho tiền điện tử gốc của nó, có thể được gửi và nhận trên toàn cầu mà không có bất kỳ sự can thiệp nào của bên thứ ba.

Được lên ý tưởng lần đầu tiên vào năm 2013 bởi lập trình viên người Canada gốc Nga Vitalik Buterin, Ethereum được thiết kế như một nền tảng cho các dApp tự thực thi, vĩnh viễn và bất biến với các trường hợp sử dụng khác nhau, từ tài chính đến game và nghệ thuật.

DApp thường được gọi là hợp đồng thông minh, là giao thức giao dịch Ethereum tự động thực hiện các chức năng và hành động nhất định như xử lý giao dịch với các điều kiện và thỏa thuận được xác định trước. Gửi một giao dịch, hủy nó hoặc giải quyết một giao dịch Ethereum đang chờ xử lý là những hành động liên quan đến hoạt động của các hợp đồng thông minh.

Giao dịch Ethereum là gì?

Các giao dịch là các hướng dẫn được ký bằng mật mã từ các tài khoản.

Mạng Ethereum hỗ trợ hai loại giao dịch chính: Giao dịch triển khai hợp đồng, loại giao dịch không có người nhận và giao dịch thông thường, loại giao dịch đơn giản nhất được sử dụng để chuyển Ether từ ví này sang ví khác.

Một giao dịch ETH thông thường, được gửi bao gồm số nhận dạng của người gửi hoặc chữ ký được tạo khi khóa cá nhân (private key) của người gửi ký vào giao dịch và xác nhận rằng người gửi đã cho phép giao dịch cụ thể. Địa chỉ nhận, số lượng Ether để chuyển từ người gửi sang người nhận, thông tin về phí giao dịch Ethereum và một trường tùy chọn để bao gồm dữ liệu tùy ý đều là một phần của giao dịch Ethereum thông thường được gửi.

Các giao dịch Ethereum phải được khai thác để trở nên hợp lệ và yêu cầu một khoản phí từ người gửi.

Các thợ đào Ethereum xác minh các giao dịch hợp pháp để nhận phần thưởng cho công việc của họ trong việc tạo Ether mới. Khi một thợ đào giải được một câu đố mật mã (toán học), một giao dịch được coi là đã được xác thực. Ethereum, giống như Bitcoin, có hệ thống bằng chứng công việc (PoW) để ngăn chặn các cuộc tấn công mạng từ một cá nhân hoặc một nhóm.

Nghĩa vụ người dùng phải trả phí giao dịch khi sử dụng blockchain bảo vệ mạng Ethereum khỏi các tác vụ tính toán cẩu thả hoặc độc hại, chẳng hạn như người dùng gửi một lượng lớn các giao dịch không có mục đích vào blockchain.

Vòng đời giao dịch Ethereum

Một giao dịch Ethereum trải qua một loạt trạng thái, bắt đầu từ trạng thái không xác định cho đến khi nó được xác nhận trong một khối.

Không xác định (Unknown): Trạng thái không xác định đề cập đến một giao dịch mà mạng chưa thấy hoặc chưa xử lý.

Đang chờ xử lý (Pending): Khi một giao dịch ở trạng thái chờ xử lý, nó đang chờ những thợ đào chọn và xử lý nó – một quá trình được gọi là giao dịch gộp, còn được gọi là “mempool”. Bởi vì các thợ đào ưu tiên giá gas cao hơn, các giao dịch với gas thấp hơn có thể bị chậm lại trong giai đoạn chờ xử lý trong một thời gian dài. Các giao dịch gas thấp nhất có thể không bao giờ được chọn, khiến chúng bị “mắc kẹt” trong trạng thái chờ xử lý vĩnh viễn.

Trong khối (In block): Khi một thợ đào chọn thành công một giao dịch và khai thác nó trong một khối, nó sẽ chuyển sang trạng thái trong khối. Các giao dịch trong khối được gọi là giao dịch đã khai thác. Nếu khối được chia nhỏ, một giao dịch trong khối có thể trở lại trạng thái đang chờ xử lý. Khi một giao dịch đã khai thác (tức là một giao dịch ở trạng thái trong khối) bị mạng đảo ngược, nó được gọi là giao dịch bị chia tách (forked transaction).

Đã thay thế (Replaced): Khi một trong các trường hợp sau xảy ra, một giao dịch có thể được chuyển từ trạng thái đang chờ xử lý sang trạng thái được thay thế:

  • Một giao dịch mới với cùng một Nonce từ cùng một người gửi sẽ chuyển sang trạng thái trong khối
  • Một giao dịch khác với cùng một Nonce và giá gas cao hơn 12% bước vào giai đoạn chờ xử lý, lần này là từ cùng một người gửi.

Xác nhận giao dịch Ethereum

Xác nhận giao dịch Ethereum là số khối được tạo kể từ khối đầu tiên bao gồm giao dịch này.

Một giao dịch Ethereum đang chờ xử lý cần nhận được một số xác nhận nhất định. Phí gas càng cao thì sự chắc chắn rằng mạng Ethereum đã xử lý và công nhận giao dịch càng lớn.

Các khối gần đây có thể được tái cấu trúc, tạo ấn tượng rằng quá trình xử lý giao dịch đã thất bại. Mặc dù vậy, giao dịch có thể được bao gồm trong một khối khác và vẫn có hiệu lực. Xác suất tái cấu trúc giảm với mỗi khối được khai thác sau đó, nghĩa là, càng nhiều xác nhận, giao dịch càng trở nên bất biến.

Phí giao dịch Ethereum

Phí giao dịch là một khoản khuyến khích do người dùng trả để chặn các thợ đào. Nó được sử dụng để gửi một giao dịch cụ thể trong blockchain Ethereum.

Phí giao dịch trong chuỗi khối Ethereum còn được gọi là phí gas, vì chúng có liên quan đến gas, một cơ chế định giá được sử dụng trên mạng Ethereum đề cập đến việc tính toán cần thiết để xử lý giao dịch của thợ đào. Các nhiệm vụ tính toán của một giao dịch được đo bằng chi phí gas.

Mặt khác, mỗi đơn vị gas có giá gas được tính bằng Ether. Mặc dù mức độ phức tạp của một giao dịch cụ thể quyết định chi phí gas, nhưng người dùng có thể đặt giá và giới hạn gas của riêng họ hoặc số lượng đơn vị gas tối đa được tiêu thụ bởi giao dịch.

Một Nonce là gì?

Nonce là từ viết tắt của “số chỉ được sử dụng một lần”, đề cập đến tổng số giao dịch được xác nhận được gửi từ địa chỉ Ethereum nhất định.

Ví Ethereum có thể phát nhiều giao dịch từ một tài khoản mà không có nhiều độ trễ giữa các tài khoản khác, có nghĩa là tính toán Nonce được coi là cơ chế cần thiết để xác định giao dịch nào được xử lý trước. Thông thường, các ứng dụng ví Ethereum phụ trách quản lý Nonce cho người dùng.

Làm cách nào để hủy giao dịch Ethereum?

Có hai phương pháp chính để hủy giao dịch Ethereum đang chờ xử lý: hủy trong ứng dụng (App) hoặc đặt Nonce tùy chỉnh.

Thông thường, các giao dịch Ethereum đang chờ xử lý trong nhiều giờ hoặc bị mắc kẹt khi người dùng gửi với phí gas thấp. Do đó, người dùng thường thấy cần thiết phải thay đổi các giao dịch Ethereum.

Khi giải quyết vấn đề này, người dùng cần nhớ rằng chỉ có thể thử hủy nếu giao dịch vẫn đang chờ xử lý trên mạng. Bước đầu tiên họ cần thực hiện là xác minh trong trình khám phá khối xem liệu giao dịch có còn đang chờ xử lý hay không. Chủ yếu, để dán mã băm (hash) giao dịch, còn được gọi là ID giao dịch Ethereum và nếu trình khám phá khối cho biết “đang chờ xử lý”, người dùng vẫn có thể cố gắng hủy nó.

Cách dễ nhất để hủy giao dịch Ethereum bị mắc kẹt là hủy trong App, yêu cầu người dùng thoát ứng dụng ví Ethereum và đóng trình duyệt của họ, mở lại và đăng nhập lại.

Nếu các bước này không giải quyết được vấn đề, bạn cần phải thực hiện đặt Nonce tùy chỉnh.

Hủy giao dịch Ethereum đang chờ xử lý bằng cách đặt Nonce tùy chỉnh có nghĩa là tạo giao dịch 0 ETH với giá gas cao tới địa chỉ của chính người dùng để ngăn giao dịch trước đó bị kẹt. Trước khi gửi giao dịch thứ hai này, người dùng cần lưu ý các Nonce đang được sử dụng bởi giao dịch đang chờ xử lý ban đầu và sau đó sử dụng lại Nonce mà họ đã lưu ý.

Nếu người dùng có nhiều giao dịch Ethereum đang chờ xử lý, tốt nhất là nên bắt đầu với giao dịch cũ nhất hoặc giá trị Nonce thấp nhất.

Làm thế nào để tăng tốc giao dịch Ethereum?

Người dùng có thể tăng tốc một giao dịch Ethereum chậm bằng cách thêm gas vào nó. Bước này có thể khuyến khích các thợ đào Ethereum ưu tiên nó.

Nếu người dùng Ethereum đặt giá gas quá thấp, những người dùng khác sẽ có cơ hội trả giá cao hơn giá thầu ban đầu này và giao dịch sẽ vẫn đang chờ xử lý. Khi giao dịch bị kẹt, mạng không xác nhận bất kỳ giao dịch mới nào từ cùng một địa chỉ ví cho đến khi thợ đào xác nhận giao dịch đầu tiên.

Trong tình huống này, người dùng có thể chọn đợi cho đến khi nhà mạng sẵn sàng xử lý giao dịch ở mức giá đã đặt hoặc gửi lại giao dịch ban đầu nhưng với phí gas cao hơn. Nhấp vào nút “tăng tốc – speed up” trong ví Ethreum của họ sẽ cho phép giao dịch được xử lý nhanh hơn.

Nếu bước trước đó không hoạt động, người dùng có thể chuyển đến tab nâng cao để đặt giá gas theo cách thủ công.

Sau cùng, người dùng nên tìm kiếm giao dịch trên blockchain Explorer (cho phép người dùng tra cứu các thông tin về hoạt động diễn ra trên một mạng lưới blockchain nhất định) bằng cách đăng hàm băm của nó để xem liệu nó có được xử lý thành công hay không. Nếu giao dịch không hiển thị ngay lập tức, họ sẽ cần đợi vài phút và làm mới trang.

Các giao dịch Ethereum có thể bị đảo ngược không?

Ví Ethereum không thể đảo ngược các giao dịch Ethereum đã hoàn thành.

Khi người dùng Ethereum vô tình gửi tiền đến sai địa chỉ hoặc gửi sai số lượng Ether, họ có thể hủy giao dịch trong khi vẫn đang chờ xử lý. Khi giao dịch được xác nhận và hiển thị là “thành công”, nghĩa là nó đã được thêm vào khối tiếp theo, nó không thể bị đảo ngược. Blockchain Ethereum được thiết kế là bất biến, vì vậy dữ liệu đã nhập vào các khối là không thể thay đổi được. Biết được điều này, điều cần thiết là đảm bảo rằng các chi tiết giao dịch là chính xác trước khi nhấp vào nút gửi.

Cuối cùng, điều đáng chú ý là nhiều startup blockchain đã phát triển các cơ chế cho phép người dùng đảo ngược các giao dịch Ethereum.

Tham gia Telegram của Tạp Chí Bitcoin để theo dõi tin tức và bình luận về bài viết này: https://t.me/tapchibitcoinvn

Ông Giáo

Theo Cointelegraph

Theo dõi trang Twitter | Theo dõi kênh Telegram | Theo dõi trang Facebook

MỚI CẬP NHẬT