Skip to main content

Hiểu trạng thái global của Cardano

Ngày 2 tháng 05 năm 2024 - Chia sẻ bài viết này trên Twitter | FacebookTelegram

Lịch sử của Blockchain có thể được xem là trạng thái global của nó. Tuy nhiên, để xác thực các giao dịch mới, một node chỉ yêu cầu một phần lịch sử này. Với mỗi khối được thêm vào, blockchain sẽ mở rộng, khiến việc xác thực các giao dịch mới trở nên kém hiệu quả trong bối cảnh không ngừng phát triển. Trong bài viết này, chúng tôi sẽ làm sáng tỏ cách một trạng thái global, được sử dụng để xác thực các giao dịch mới và xây dựng các khối mới, được hình thành từ lịch sử của Blockchain.

Blockchain là lịch sử giao dịch

Một Blockchain có thể được xem như một lịch sử giao dịch. Mỗi khối trong chuỗi chứa một danh sách các giao dịch và với việc bổ sung từng khối mới, lịch sử của blockchain (và do đó là trạng thái global) sẽ thay đổi.

Trong hình bên dưới, bạn có thể thấy mối tương quan giữa các khối mới được thêm vào blockchain và sự thay đổi trạng thái global. Mỗi khối mới được thêm vào đại diện cho một quá trình chuyển đổi trạng thái.

Cơ chế đồng thuận của mạng là một cơ chế quan trọng để đảm bảo tất cả các node (phần lớn các node trung thực) trong mạng đều đồng ý về trạng thái hiện tại của Blockchain. Cơ chế đồng thuận cho phép mạng chuyển đổi an toàn từ trạng thái này sang trạng thái khác. Nói cách khác, trước khi một khối mới có thể được thêm vào blockchain, tất cả các node phải đồng ý về tính hợp lệ của nó.

Để blockchain hoạt động chính xác, trạng thái global trên tất cả các node của mạng phân tán phải giống nhau. Tính nhất quán này là cần thiết để đảm bảo tính toàn vẹn và bảo mật của Blockchain và tạo điều kiện thuận lợi cho những thay đổi trạng thái hơn nữa.

Việc chuyển sang trạng thái mới trên tất cả các node mạng không xảy ra ngay lập tức. Đó là một quá trình tiến bộ do độ trễ mạng, mặc dù là một quá trình ngắn. Trong mạng Cardano, quá trình chuyển đổi sang trạng thái mới được bắt đầu tại node tạo khối mới và kết thúc khi tất cả các node mạng đã nhận được khối này. Nếu khối hợp lệ và do đó được tất cả các node chấp nhận, thì quá trình chuyển đổi trạng thái đã diễn ra, kèm theo sự thay đổi trạng thái global.

Thật vậy, sự thay đổi trạng thái global không chỉ phản ánh sự thay đổi trong lịch sử của Blockchain. Bối cảnh để xác nhận các biến đổi khối tiếp theo cũng vậy. Bối cảnh này không phải là lịch sử đầy đủ của Blockchain, bao gồm tất cả các giao dịch riêng lẻ. Thay vào đó, nó là một tập hợp con của lịch sử này, cụ thể là tập hợp UTXO chưa sử dụng hoặc cũng là tập hợp UTXO.

Trong hình, bạn có thể thấy mỗi khối được thêm vào blockchain sẽ thay đổi tập hợp UTXO chưa sử dụng như thế nào (trạng thái global để xác thực một khối mới). Bộ UTXO đã trải qua 5 thay đổi liên tiếp ngay từ đầu (TRẠNG THÁI 0), khi 5 khối mới được thêm vào.

Mỗi node trong mạng phân tán hoạt động độc lập, duy trì phiên bản Blockchain duy nhất và một tập hợp UTXO hoạt động. Bất cứ khi nào một node nhận được một ứng cử viên cho một khối mới được đề xuất thêm vào phần cuối của blockchain, nó phải trải qua quá trình xác thực. Đầu vào cho quá trình xác thực này là khối mới và bộ UTXO chưa sử dụng. Cùng với các tham số khác được gói gọn trong tiêu đề khối, node này được yêu cầu phải xác thực tất cả các giao dịch trong khối. Kết quả của việc xác thực này là quyết định độc lập của node về việc có nên kết hợp khối đó vào phiên bản Blockchain cục bộ của nó hay không. Quy trình giống hệt nhau này được thực hiện trên tất cả các node trong mạng.

Trong hình, bạn có thể thấy quá trình xác thực BLOCK 6 mới, được cho là phần bổ sung sau BLOCK 5, diễn ra như thế nào. Đầu vào để xác thực là một khối mới và một tập hợp UTXO chưa sử dụng. Đầu ra của quá trình xác thực là quyết định của người xác thực xem khối mới có hợp lệ hay không (và sẽ được thêm vào phiên bản cục bộ của Blockchain) hay không hợp lệ.

Bộ UTXO

Mỗi khi một node thêm một khối mới vào phiên bản Blockchain cục bộ của nó, phiên bản cục bộ của bộ UTXO cũng thay đổi.

Bộ UTXO bao gồm tất cả các UTXO đã được tạo làm đầu ra giao dịch và có thể được chi tiêu trong các giao dịch trong tương lai. Do đó, nó chỉ đại diện cho một phần nhỏ trong số tất cả UTXO có trong toàn bộ lịch sử của blockchain Cardano.

Hãy giải thích ngắn gọn về UTXO trong bối cảnh trạng thái global.

UTXO là các đối tượng độc lập và bất biến, chỉ có thể được sử dụng một lần. Khi chúng được chi tiêu, chúng phải được chi tiêu hoàn toàn. UTXO là đồ vật dùng một lần.

Khi UTXO được tạo làm đầu ra của giao dịch, nó sẽ không thay đổi cho đến khi được chi tiêu trong một giao dịch mới. Khi được chi tiêu, nó sẽ được tiêu thụ hoàn toàn và UTXO mới được tạo làm đầu ra của giao dịch mới.

Khi một giao dịch được gửi, nó đề cập đến một hoặc nhiều UTXO làm đầu vào, dự định sẽ được chi tiêu.

Khi một UTXO đầu vào được sử dụng, nó sẽ dẫn đến việc tạo ra một UTXO mới hoặc có thể là nhiều UTXO mới. Giá trị tích lũy của UTXO đầu vào trong một giao dịch phải bằng tổng giá trị của tất cả UTXO đầu ra.

Về giao dịch, công việc của người xác thực là kiểm tra xem:

  • Tất cả UTXO đầu vào thực sự là một phần của bộ UTXO hiện tại, tức là chúng chưa được sử dụng và tồn tại trong sổ cái.
  • Tổng giá trị UTXO đầu vào lớn hơn hoặc bằng tổng giá trị UTXO đầu ra, đảm bảo duy trì giá trị.
  • Giao dịch được chủ sở hữu UTXO đầu vào ký chính xác, đảm bảo chỉ những chủ sở hữu hợp pháp mới có thể chi tiêu UTXO.

Lịch sử của Blockchain có thể được coi là biểu đồ của tất cả UTXO, cả đã chi tiêu và chưa chi tiêu. Biểu đồ này cung cấp lịch sử đầy đủ, có thể kiểm tra được của tất cả các giao dịch đã từng xảy ra trên Blockchain.

Trong hình ảnh bên dưới, bạn có thể thấy UTXO được sử dụng như thế nào trong các giao dịch. UTXO đầu ra (màu xanh lá cây) trở thành UTXO đầu vào (màu đỏ) trong các giao dịch mới. Tất cả UTXO chưa được chi tiêu (màu xanh) đại diện cho tập hợp con của trạng thái global cần thiết để xác thực các giao dịch mới. Tất cả các UTXO màu xanh lam đều có thể trở thành đầu vào giao dịch, tức là được chi tiêu. UTXO xanh đã được chi tiêu nên không thể chi tiêu lại.

Trạng thái hiện tại của Blockchain, cần thiết để xác thực một khối mới (giao dịch mới trong khối mới), có thể được mô tả bằng tập hợp tất cả UTXO chưa được sử dụng. Chúng được tích hợp vào bộ UTXO.

Do đó, để xác thực các giao dịch mới, không cần thiết phải biết toàn bộ lịch sử của Blockchain (hoặc có nó trong bộ nhớ hoạt động). Thay vào đó, chỉ cần tập hợp các UTXO chưa được sử dụng (tất cả các UTXO màu xanh lam) chưa sử dụng. Tuy nhiên, để có được một bộ UTXO hoạt động thường liên quan đến việc xử lý toàn bộ lịch sử của blockchain, bắt đầu từ khối Genesis.

Cần lưu ý là tập hợp UTXO chưa sử dụng cũng bao gồm những UTXO đã được tạo trong quá khứ, nghĩa là ở các trạng thái trước đó.

Ở mỗi trạng thái trong hình, một khối được tạo ra. Ở trạng thái mới N+5, bộ UTXO chứa UTXO từ các trạng thái N+2, N+3 và N+4 sẽ được sử dụng để xác thực giao dịch. Trong khối mới được tạo ở trạng thái N+5, có giao dịch 14 đang cố gắng chi UTXO từ giao dịch 10 và giao dịch 15 đang cố gắng chi UTXO từ giao dịch 11.

Ở trạng thái N+5, một khối mới đã được thêm vào blockchain. Do đó, các UTXO mới cũng đã được tạo và chúng được chèn vào tập hợp các UTXO chưa sử dụng. Trong cùng một quá trình chuyển đổi trạng thái, tất cả các UTXO đã tiêu thụ đã bị xóa khỏi bộ UTXO chưa sử dụng.

Trong hình, bạn có thể thấy bộ UTXO, được tạo thành từ tất cả các UTXO chưa được sử dụng bất kể sự chuyển đổi giữa các trạng thái.

Người dùng liên tục gửi các giao dịch mới, một số trong đó có thể được gửi đồng thời. Mục tiêu của mạng là xử lý tất cả các giao dịch, nghĩa là nó nhằm mục đích kết hợp các giao dịch hợp lệ vào blockchain. Việc bổ sung một khối mới vào Blockchain biểu thị sự thay đổi trong trạng thái global.

Các giao dịch mới tham chiếu UTXO từ bộ UTXO. Các UTXO từ bộ này đóng vai trò là đầu vào cho tất cả các giao dịch và thể hiện một phần thay đổi sẽ xảy ra khi một khối mới được thêm vào blockchain. Tất cả UTXO là đầu vào của giao dịch trong khối mới được thêm vào sẽ bị xóa khỏi bộ UTXO.

Mỗi giao dịch trong khối mới được thêm vào bao gồm một hoặc nhiều UTXO mới được tích hợp vào bộ UTXO. Đó là một phần khác của sự thay đổi.

Khi một khối mới được thêm vào blockchain, node này sẽ đồng thời loại bỏ các UTXO đã sử dụng khỏi bộ UTXO và đưa các UTXO mới được tạo vào đó.

Hình ảnh mô tả sự biến đổi trong bộ UTXO. Ở TRẠNG THÁI 0, bạn quan sát thấy sáu giao dịch sẽ được tích hợp vào khối tiếp theo. UTXO màu đỏ là những UTXO đóng vai trò là đầu vào giao dịch, nghĩa là chúng sẽ được chi tiêu. Các UTXO màu xanh lá cây là những thứ sẽ được tạo. TRẠNG THÁI 1 biểu thị trạng thái sau khi thêm khối mới. Các UTXO màu đỏ đã bị xóa khỏi bộ UTXO và các UTXO màu xanh lá cây đã được thêm vào. Do đó, tất cả UTXO trong bộ UTXO đều có thể chi tiêu được. Hãy coi các UTXO màu xanh lá cây mới được thêm vào là màu xanh lam.

Các giao dịch trong hình đề cập đến khối được xây dựng và gửi lên mạng ở TRẠNG THÁI 0. Ở TRẠNG THÁI 1, nó đã được thêm vào blockchain. Một khối mới đã được tạo ở TRẠNG THÁI 1, khối này không được hiển thị trong hình. Bạn có thể tưởng tượng các giao dịch mới tham chiếu UTXO trong bộ UTXO.

Lời kết

Thật vậy, mỗi UTXO chỉ có thể được chi tiêu một lần, một quy tắc cơ bản giúp ngăn chặn các cuộc tấn công chi tiêu gấp đôi. Khi UTXO đã được sử dụng, nó không thể được sử dụng lại làm đầu vào cho giao dịch khác. Trong quá trình xác thực khối, người xác thực có thể dễ dàng xác nhận rằng tất cả đầu vào UTXO là duy nhất và tồn tại trong bộ UTXO. Kiến trúc của mô hình UTXO, kết hợp với quy trình xác thực giao dịch, đơn giản hóa nhiệm vụ của trình xác thực khối nhằm xác định và ngăn chặn các cuộc tấn công chi tiêu gấp đôi tiềm ẩn. Đây là một trong những tính năng bảo mật chính của công nghệ Blockchain.

Bộ UTXO, bao gồm các đối tượng sử dụng một lần, mang lại lợi thế vì nó tạo điều kiện cho mức độ song song hóa cao trong mạng. Việc xác thực các giao dịch là độc lập với nhau, phản ánh mức tiêu thụ UTXO độc lập. Một lợi ích khác là khả năng xác thực các giao dịch cục bộ trước khi gửi, đảm bảo chúng cũng sẽ vượt qua quá trình xác thực mạng. Cả việc xác thực cục bộ và mạng đều phụ thuộc vào cùng một UTXO đầu vào. Trong khoảng thời gian giữa xác thực cục bộ và xác thực mạng, trước khi giao dịch được đưa vào khối, UTXO đầu vào không thay đổi. Và không có lý do gì khiến giao dịch thất bại.

Nguồn bài viết tại đây


Picture

Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới