Mua Crypto
Thị trường
Spot
FuturesBTC
Tiết kiệm
Trung tâm sự kiện
Trung tâm thưởng
Xem thêm
Lễ hội 0 phí
State Machine: State machine trong crypto là gì?State machine là hệ thống chuyển từ trạng thái hợp lệ này sang trạng thái hợp lệ khác khi nhận đầu vào và áp dụng một bộ quy tắc cố định.Trong tiền mã hóa, state machiState Machine: State machine trong crypto là gì?State machine là hệ thống chuyển từ trạng thái hợp lệ này sang trạng thái hợp lệ khác khi nhận đầu vào và áp dụng một bộ quy tắc cố định.Trong tiền mã hóa, state machi

State Machine

2026/10/13 17:02
#Advanced
Humanity
H$0.05485-6.97%
Gravity
G$0.003736-5.05%
PX
PX$0.0115+3.60%
o1.exchange
O$0.4073-6.41%
MemeCore
M$0.87883+18.15%

State machine trong crypto là gì?

State machine là hệ thống chuyển từ trạng thái hợp lệ này sang trạng thái hợp lệ khác khi nhận đầu vào và áp dụng một bộ quy tắc cố định.

Trong tiền mã hóa, state machine là mô hình cốt lõi giải thích cách blockchain cập nhật số dư, tài khoản, hợp đồng thông minh, UTXO, bản ghi validator và dữ liệu on-chain khác.

State là điều kiện hiện tại của blockchain. Input thường là giao dịch, block, message hoặc lệnh gọi hợp đồng thông minh. Transition function là logic giao thức quyết định input có hợp lệ hay không và state phải thay đổi thế nào.

Nếu cùng input hợp lệ được áp dụng cho cùng trạng thái ban đầu, mọi node trung thực phải đạt cùng trạng thái kết thúc. Hành vi xác định này giúp hàng nghìn máy tính độc lập đồng thuận về một blockchain dùng chung mà không phải tin cơ sở dữ liệu tập trung.

Whitepaper Ethereum chính thức mô tả trạng thái Ethereum gồm các tài khoản và mô tả chuyển đổi trạng thái là việc chuyển giá trị và thông tin giữa các tài khoản.

Nói đơn giản, blockchain state machine là bộ máy quy tắc biến dữ liệu blockchain cũ kết hợp giao dịch mới thành trạng thái blockchain mới.

Vì sao state machine quan trọng trong blockchain?

State machine quan trọng vì blockchain là hệ thống dùng chung phải tạo cùng kết quả trên nhiều máy tính khác nhau.

Blockchain không thể dựa vào máy chủ của một công ty để quyết định số dư hoặc giá trị hợp đồng nào là chính xác. Thay vào đó, mạng cần quy tắc mà mọi node có thể chạy độc lập.

Khi block được đề xuất, node xác minh giao dịch trong block và áp dụng quy tắc giao thức. Nếu giao dịch của block dẫn đến trạng thái mới hợp lệ, block có thể được chấp nhận. Nếu giao dịch vi phạm quy tắc, node trung thực từ chối block.

Đây là cách blockchain duy trì tính toàn vẹn ngay cả khi nhiều người tham gia không biết hoặc không tin nhau.

State machine cũng giúp người dùng hiểu vì sao chỉ lịch sử blockchain là chưa đủ. Giao dịch ghi điều người dùng cố thực hiện, nhưng state machine quyết định những giao dịch đó thực sự thay đổi gì. Kết quả cuối cùng là trạng thái mới mà mọi node trung thực có thể tái tạo.

State, input và transition function

Mỗi blockchain state machine có ba phần cơ bản: state, input và transition function.

State là tập dữ liệu hiện tại blockchain cần để xử lý hành động mới. Trong blockchain dựa trên tài khoản, state có thể gồm số dư tài khoản, nonce, mã hợp đồng và dữ liệu lưu trữ hợp đồng. Trong blockchain dựa trên UTXO, state có thể gồm tập các đầu ra giao dịch chưa sử dụng vẫn có thể chi tiêu.

Input là hành động mới được gửi đến hệ thống. Trong hầu hết mạng crypto, input phổ biến nhất là giao dịch đã ký.

Transition function là bộ quy tắc kiểm tra input và cập nhật state. Ví dụ, giao dịch chỉ có thể hợp lệ nếu chữ ký đúng, người gửi đủ số dư, nonce đúng và phí được thanh toán.

Nếu mọi quy tắc đều đạt, state machine áp dụng giao dịch và tạo state mới. Nếu bất kỳ quy tắc bắt buộc nào thất bại, chuyển đổi trạng thái bị từ chối hoặc giao dịch thất bại theo quy tắc giao thức.

Blockchain là state machine được sao chép

Blockchain thường được mô tả là replicated state machine vì nhiều node duy trì bản sao cùng state và áp dụng cùng giao dịch theo cùng thứ tự.

Replication nghĩa là nhiều máy tính nắm giữ và cập nhật hệ thống thay vì một máy chủ trung tâm. State machine nghĩa là các máy tính này tuân theo cùng quy tắc chuyển đổi xác định.

Thứ tự giao dịch quan trọng vì áp dụng cùng giao dịch theo thứ tự khác có thể tạo kết quả khác. Cơ chế đồng thuận giúp mạng đồng ý về thứ tự block và giao dịch. Khi thứ tự đã được đồng thuận, mỗi node có thể thực thi giao dịch và tính trạng thái mới.

Tài liệu CometBFT chính thức mô tả CometBFT là phần mềm thực hiện sao chép state machine Byzantine Fault Tolerant cho state machine hữu hạn xác định.

Mô tả này thể hiện ý tưởng chung đằng sau nhiều hệ thống blockchain: đồng thuận thống nhất input đã được sắp thứ tự, còn state machine áp dụng các input đó để tạo state tiếp theo. Blockchain chỉ hoạt động khi cả hai phần đều chính xác.

Tính xác định trong crypto state machine

Tính xác định nghĩa là cùng input áp dụng cho cùng state luôn tạo cùng output. Crypto state machine phải xác định vì node độc lập cần đạt cùng kết quả.

Nếu node này tính kết quả khác node trung thực khác, mạng có thể bị chia tách hoặc từ chối block. Đây là lý do hợp đồng thông minh không thể phụ thuộc vào số ngẫu nhiên thông thường từ máy tính cục bộ.

Đây cũng là lý do blockchain xác định quy tắc chính xác cho tính gas, chữ ký, số học, cập nhật storage và thứ tự giao dịch. Ngay cả khác biệt nhỏ trong thực thi cũng có thể nguy hiểm nếu làm thay đổi state root cuối cùng hoặc kết quả sổ cái.

Tính xác định đặc biệt quan trọng với nền tảng hợp đồng thông minh vì mã hợp đồng có thể xử lý lượng giá trị lớn. Hàm hợp đồng phải tạo cùng kết quả cho mọi validator thực thi nó trong cùng điều kiện.

Điều này khiến lập trình blockchain chặt chẽ hơn lập trình web thông thường. State machine chỉ đáng tin cậy khi quy tắc chuyển đổi có thể dự đoán và tái tạo.

Ethereum là state machine

Ethereum là một trong các ví dụ rõ nhất về blockchain state machine. Whitepaper Ethereum mô tả Ethereum có state gồm tài khoản; mỗi tài khoản chứa nonce, balance, mã hợp đồng và dữ liệu lưu trữ.

Giao dịch kích hoạt chuyển đổi trạng thái bằng cách di chuyển giá trị, tạo hợp đồng, gọi hợp đồng hoặc thay đổi dữ liệu lưu trữ hợp đồng.

Ethereum Virtual Machine, hay EVM, là môi trường thực thi xử lý mã hợp đồng thông minh.

Tài liệu EVM Ethereum chính thức mô tả EVM là môi trường ảo phi tập trung thực thi mã một cách nhất quán và an toàn trên tất cả node Ethereum.

Điều này nghĩa là EVM là một phần của cơ chế chuyển đổi trạng thái Ethereum. Khi giao dịch gọi hợp đồng thông minh, EVM thực thi chỉ dẫn hợp đồng và tính các thay đổi state kết quả.

Các thay đổi này có thể gồm cập nhật số dư, ghi storage, log, tạo hợp đồng và tiêu thụ gas. Nếu mọi node thực thi cùng giao dịch từ cùng trạng thái ban đầu, mọi node trung thực phải đạt cùng trạng thái kết thúc.

Đây là lý do Ethereum hỗ trợ ứng dụng có thể lập trình mà không cần máy chủ ứng dụng trung tâm.

Ethereum world state

Ethereum world state là trạng thái toàn cục hiện tại của tất cả tài khoản Ethereum. Nó gồm tài khoản sở hữu bên ngoài được kiểm soát bằng khóa riêng tư và tài khoản hợp đồng được kiểm soát bằng mã.

Tài liệu Merkle Patricia Trie Ethereum chính thức giải thích Ethereum có một state trie toàn cục được cập nhật mỗi khi client xử lý block.

State trie này tạo state root cam kết với world state hiện tại. State root được lưu trong block header. Nếu một số dư tài khoản hoặc giá trị lưu trữ hợp đồng thay đổi, state root kết quả cũng phải thay đổi.

Điều này cung cấp cho Ethereum dấu vân tay mật mã gọn nhẹ của toàn bộ state sau mỗi block. State machine cập nhật world state, còn state root giúp node xác minh rằng họ đồng thuận về kết quả.

Thiết kế này kết nối thực thi, lưu trữ và đồng thuận. Nếu không có world state dùng chung, hợp đồng thông minh Ethereum sẽ không có môi trường chung để đọc và ghi.

Bitcoin là state machine

Bitcoin cũng là state machine nhưng dùng mô hình state khác Ethereum. Bitcoin không dùng hệ thống tài khoản toàn cục như Ethereum.

Thay vào đó, Bitcoin dùng mô hình UTXO, trong đó trạng thái có thể chi tiêu hiện tại là tập đầu ra giao dịch chưa sử dụng.

Hướng dẫn giao dịch dành cho nhà phát triển Bitcoin chính thức giải thích giao dịch chi tiêu đầu ra giao dịch chưa sử dụng và tạo đầu ra mới.

Giao dịch Bitcoin chỉ hợp lệ nếu chi tiêu UTXO tồn tại chưa bị chi tiêu. Khi giao dịch hợp lệ được chấp nhận, UTXO đã tiêu thụ bị loại khỏi tập có thể chi tiêu và đầu ra mới của giao dịch trở thành UTXO mới.

Vì vậy, transition function của Bitcoin cập nhật tập UTXO. State machine Bitcoin ít tổng quát hơn mô hình hợp đồng thông minh Ethereum nhưng vẫn là hệ thống xác định cập nhật trạng thái sở hữu.

Ý tưởng chính giống nhau: giao dịch hợp lệ đưa hệ thống từ trạng thái hợp lệ này sang trạng thái hợp lệ tiếp theo.

Mô hình tài khoản và state machine UTXO

Mô hình tài khoản và mô hình UTXO là hai cách khác nhau để thiết kế blockchain state machine.

Trong mô hình tài khoản, state chứa tài khoản và số dư. Giao dịch từ người dùng này đến người dùng khác thường làm giảm số dư người gửi và tăng số dư người nhận. Nền tảng hợp đồng thông minh thường dùng thiết kế dựa trên tài khoản vì hợp đồng cần dữ liệu lưu trữ bền vững và cập nhật trạng thái trực tiếp.

Trong mô hình UTXO, state chứa đầu ra chưa sử dụng thay vì số dư tài khoản. Giao dịch tiêu thụ đầu ra cũ và tạo đầu ra mới. Ví có thể hiển thị số dư đơn giản, nhưng số dư đó thường được tính từ các đầu ra người dùng có thể chi tiêu.

Mô hình tài khoản có thể trực quan hơn với nhà phát triển ứng dụng. Mô hình UTXO có thể khiến một số dạng xác thực song song và theo dõi coin tự nhiên hơn. Cả hai đều là state machine vì đều xác định state hợp lệ và chuyển đổi state hợp lệ.

Hợp đồng thông minh và state machine

Hợp đồng thông minh là chương trình chạy bên trong blockchain state machine. Hợp đồng có thể lưu dữ liệu, thực thi quy tắc, nhận tài sản, gửi tài sản và tương tác với hợp đồng khác.

Khi người dùng gọi hợp đồng thông minh, blockchain không chỉ ghi message. Mạng thực thi mã hợp đồng và cập nhật state theo kết quả.

Ví dụ, hợp đồng chuyển token có thể giảm số dư token của người dùng này và tăng số dư token của người dùng khác trong storage của hợp đồng. Hợp đồng lending có thể cập nhật số dư tài sản thế chấp, số dư nợ, chỉ số lãi suất và trạng thái thanh lý.

Hợp đồng sàn giao dịch phi tập trung có thể cập nhật dự trữ pool thanh khoản và vị thế người dùng. Tất cả các hành động này đều là chuyển đổi trạng thái.

Vì hợp đồng thông minh có thể nắm giữ giá trị thực, logic chuyển đổi trạng thái phải xác định, bảo mật và được kiểm thử cẩn thận. Lỗi trong quy tắc chuyển đổi trạng thái của hợp đồng có thể gây mất tiền hoặc làm ứng dụng hoạt động sai.

State machine và cơ chế đồng thuận

State machine không giống cơ chế đồng thuận. State machine xác định state thay đổi thế nào khi giao dịch được áp dụng. Đồng thuận xác định mạng đồng ý giao dịch và block nào sẽ được áp dụng.

Blockchain cần cả hai. Nếu mạng có state machine hợp lệ nhưng không có đồng thuận, node có thể áp dụng thứ tự giao dịch khác nhau và đạt các state khác nhau. Nếu mạng có đồng thuận nhưng state machine lỗi, node có thể đồng ý về block tạo kết quả không an toàn hoặc không chính xác.

Đồng thuận chọn luồng input đã sắp thứ tự. State machine thực thi luồng input đó. State cuối cùng chỉ chính xác khi cả quy tắc sắp thứ tự lẫn quy tắc thực thi đều chính xác.

Sự khác biệt này giúp người dùng hiểu vì sao blockchain có cả quy tắc validator và quy tắc thực thi.

State transition function

State transition function là quy tắc chính thức ánh xạ state cũ và input sang state mới. Theo ký hiệu đơn giản, state mới bằng transition function áp dụng cho state cũ và giao dịch.

Trong mạng crypto, hàm này kiểm tra chữ ký, số dư, nonce, phí, gas limit, mã hợp đồng và các quy tắc riêng của giao thức. Nếu input hợp lệ, hàm tạo state mới hợp lệ. Nếu input không hợp lệ, hàm từ chối hoặc đánh dấu thực thi thất bại theo quy tắc mạng.

State transition function Ethereum có thể gồm thực thi EVM, tính gas, cập nhật storage và event log. State transition function Bitcoin kiểm tra input chi tiêu UTXO hợp lệ và output tuân theo quy tắc script, giá trị.

Blockchain khác có thể xác định chuyển đổi trạng thái thông qua module, pallet, Move object, resource hoặc logic riêng của ứng dụng. Transition function là trung tâm của state machine và là lý do blockchain có thể tiến về phía trước mà không cần người vận hành thủ công cập nhật số dư.

State machine replication

State machine replication là quá trình chạy cùng state machine xác định trên nhiều máy để chúng luôn đồng bộ. Trong hệ thống blockchain, điều này nghĩa là nhiều node xử lý cùng giao dịch có thứ tự và tính cùng kết quả.

Mô hình này hữu ích vì mang lại khả năng chịu lỗi. Nếu một node ngoại tuyến, node khác vẫn nắm giữ và cập nhật state. Nếu một node nói dối, node khác có thể từ chối kết quả không hợp lệ. Nếu người dùng muốn xác minh hệ thống, họ có thể chạy node và tự kiểm tra chuyển đổi trạng thái.

CometBFT là ví dụ mạnh cho ý tưởng này vì tài liệu của nó nêu rõ việc sao chép state machine BFT cho state machine hữu hạn xác định.

Nhiều thiết kế appchain và blockchain mô-đun tách đồng thuận khỏi logic ứng dụng theo ý tưởng này. Lớp đồng thuận sắp xếp giao dịch, còn application state machine xác định ý nghĩa của giao dịch. Sự tách biệt này giúp nhà phát triển xây dựng ứng dụng blockchain tùy chỉnh trong khi dựa vào bộ máy đồng thuận để sao chép.

State machine dành riêng cho ứng dụng

Blockchain dành riêng cho ứng dụng là blockchain được xây cho một ứng dụng hoặc trường hợp sử dụng cụ thể. Trong thiết kế này, state machine có thể được tùy chỉnh quanh quy tắc của ứng dụng.

Chain thanh toán có thể xác định số dư và chuyển khoản đơn giản. Chain sàn giao dịch phi tập trung có thể xác định sổ lệnh, pool thanh khoản và quy tắc khớp lệnh. Chain game có thể xác định người chơi, vật phẩm, trận đấu và phần thưởng. Chain quản trị có thể xác định đề xuất, phiếu bầu, ủy quyền và quy tắc kho bạc.

Điều này khác nền tảng hợp đồng thông minh đa mục đích, nơi nhiều ứng dụng dùng chung một môi trường thực thi. State machine dành riêng cho ứng dụng có thể hiệu quả hơn vì không cần hỗ trợ mọi trường hợp sử dụng có thể có.

Chúng cũng có thể dễ suy luận hơn vì quy tắc tập trung. Sự đánh đổi là chúng có thể có composability tổng quát thấp hơn nền tảng hợp đồng thông minh dùng chung.

State machine và virtual machine

Virtual machine blockchain là môi trường thực thi chạy mã bên trong state machine. EVM là ví dụ nổi tiếng nhất. Hệ sinh thái blockchain khác dùng virtual machine hoặc môi trường thực thi khác.

Virtual machine xác định cách diễn giải chỉ dẫn, cách hoạt động của bộ nhớ, cách truy cập storage, cách tính phí gas và cách xử lý lỗi. State machine dùng virtual machine để xử lý giao dịch có thể lập trình.

Ví dụ, khi Ethereum thực thi lệnh gọi hợp đồng thông minh, EVM chạy bytecode và tạo thay đổi state. Virtual machine phải xác định để mọi node tính cùng kết quả.

Virtual machine không phải toàn bộ blockchain nhưng là phần then chốt của execution layer. Blockchain state machine gồm virtual machine, quy tắc tài khoản, phí, giao dịch và cập nhật state. Hiểu mối quan hệ này giúp nhà phát triển thấy vì sao môi trường thực thi có ý nghĩa then chốt với đồng thuận.

State machine và gas

Gas là hệ thống định giá được nhiều blockchain hợp đồng thông minh dùng để giới hạn và tính phí thực thi.

Tài liệu gas Ethereum chính thức giải thích gas là đơn vị đo lượng nỗ lực tính toán cần thiết để thực thi thao tác trên Ethereum.

Gas là một phần của state machine vì thực thi giao dịch tiêu thụ tài nguyên. Nếu không có gas limit, giao dịch có thể chạy vô hạn hoặc tiêu thụ quá nhiều tính toán.

Gas khiến tính toán có thể đo lường và ngăn người dùng buộc mọi node thực hiện công việc không giới hạn miễn phí. Gas cũng ảnh hưởng chuyển đổi trạng thái vì giao dịch có thể thất bại nếu hết gas.

Ngay cả khi thực thi thất bại, phí vẫn có thể được thanh toán vì node đã tiêu tốn tài nguyên để thử thực thi. Nhà phát triển hợp đồng thông minh phải hiểu gas vì chuyển đổi trạng thái kém hiệu quả có thể tốn kém cho người dùng.

Người dùng phải hiểu gas vì phí giao dịch là một phần chi phí thay đổi trạng thái blockchain. Gas cho thấy state machine phải quản lý cả tính đúng đắn lẫn việc sử dụng tài nguyên.

State machine và state root

Nhiều blockchain dùng cam kết mật mã để tóm tắt state sau mỗi block. Trong Ethereum, state root cam kết với world state sau khi giao dịch được thực thi.

State root không phải chính state mà là cam kết gọn nhẹ dựa trên hash đối với state. Nếu node xử lý cùng block và tính cùng state root, họ có bằng chứng rằng mình đồng thuận về state kết quả.

Nếu node tính state root khác, có vấn đề với block, việc thực thi hoặc triển khai client. State root cũng hỗ trợ proof chứng minh giá trị cụ thể tồn tại trong state đã được cam kết.

Điều này quan trọng cho light client, bridge, kiểm toán viên và hệ thống cross-chain. State machine cập nhật dữ liệu, còn state root giúp chứng minh dữ liệu đã cập nhật là gì. Đây là cách blockchain kết nối kết quả thực thi với xác minh mật mã.

State machine và node

Node là máy tính thực chạy phần mềm blockchain và duy trì state machine.

Phần giới thiệu kỹ thuật Ethereum chính thức giải thích rằng node lưu trạng thái EVM và giao tiếp với nhau để lan truyền thay đổi trạng thái.

Full node xác minh block bằng cách thực thi giao dịch và kiểm tra state kết quả có hợp lệ không. Validator hoặc nhà sản xuất block có thể đề xuất block mới, nhưng node khác vẫn cần xác minh chúng.

Việc xác minh độc lập này là một trong các lý do chính blockchain có thể giảm yêu cầu tin cậy. Người dùng chạy node riêng không cần tin máy chủ bên thứ ba về state hiện tại. Họ có thể tự tính state từ block đã được chấp nhận.

Tuy nhiên, chạy node cần phần cứng, băng thông, lưu trữ và bảo trì. Tăng trưởng state có thể khiến node khó chạy hơn theo thời gian. Vì vậy, thiết kế state machine ảnh hưởng đến phi tập trung cũng như thực thi.

State machine và finality

Finality nghĩa là chuyển đổi trạng thái được xem là đã hoàn tất và rất khó hoặc không thể đảo ngược theo các giả định của giao thức.

Trước finality, giao dịch có thể đã nằm trong block nhưng vẫn đối mặt rủi ro tái tổ chức. Sau finality, người dùng có thể tin tưởng mạnh hơn rằng chuyển đổi trạng thái sẽ vẫn thuộc canonical chain.

Các blockchain khác nhau định nghĩa finality khác nhau. Một số chain có finality xác suất, trong đó mức tin cậy tăng khi thêm block. Một số chain có finality kinh tế hoặc kiểu BFT, trong đó validator cam kết block theo quy tắc slashing hoặc đồng thuận.

Finality quan trọng vì state machine có thể tạm thời có các lịch sử cạnh tranh trong fork. Đồng thuận giải quyết lịch sử nào trở thành canonical. Với tài chính, người dùng không chỉ quan tâm chuyển đổi trạng thái đã xảy ra mà còn liệu nó có tiếp tục được chấp nhận hay không.

State machine và fork

Fork có thể xảy ra khi node khác nhau tạm thời hoặc vĩnh viễn theo các lịch sử block khác nhau. Nếu hai lịch sử có giao dịch khác nhau, chúng có thể tạo state khác nhau.

Quy tắc đồng thuận quyết định chain nào là canonical theo giao thức. Fork tạm thời có thể xảy ra tự nhiên trên mạng phi tập trung. Fork vĩnh viễn có thể xảy ra khi cộng đồng hoặc client phần mềm chủ động theo quy tắc giao thức khác.

Fork state machine nghiêm trọng vì có thể tạo hai phiên bản riêng về số dư, hợp đồng và lịch sử sổ cái. Nếu hai mạng chia sẻ lịch sử đến thời điểm fork, chúng chia sẻ cùng state ban đầu tại thời điểm đó. Sau fork, thứ tự giao dịch hoặc quy tắc khác có thể tạo state khác.

Đây là lý do nâng cấp giao thức phải được phối hợp cẩn thận. Mọi người tham gia trung thực muốn ở lại cùng mạng phải chạy quy tắc chuyển đổi trạng thái tương thích.

State machine và lỗi hợp đồng thông minh

Lỗi hợp đồng thông minh nguy hiểm vì hợp đồng là một phần của blockchain state machine. Lỗi có thể xác định chuyển đổi trạng thái ngoài ý muốn.

Ví dụ, hợp đồng có thể cho phép kẻ tấn công rút nhiều tiền hơn dự kiến, cập nhật số dư sai thứ tự hoặc không kiểm tra quyền trước khi thay đổi state. Hợp đồng có thể cho phép reentrancy, lỗi số học hoặc hành vi nâng cấp không an toàn.

Khi giao dịch được chấp nhận, thay đổi state kết quả có thể khó hoặc không thể đảo ngược nếu không có sự phối hợp xã hội đặc biệt. Vì vậy, kiểm toán hợp đồng thông minh, kiểm thử, xác minh chính thức và thiết kế cẩn thận rất quan trọng.

Blockchain state machine sẽ thực thi trung thực logic hợp đồng hợp lệ ngay cả khi logic đó gây hại về mặt kinh tế. Do đó, tính đúng đắn của mã là một phần của an toàn trạng thái.

State machine và oracle

Oracle cung cấp dữ liệu bên ngoài cho ứng dụng blockchain. Oracle quan trọng vì blockchain state machine không thể tự biết trực tiếp sự kiện off-chain.

Ví dụ, hợp đồng lending có thể cần giá token, thị trường dự đoán có thể cần kết quả sự kiện, hệ thống tài sản tổng hợp có thể cần chỉ số tham chiếu.

Oracle gửi dữ liệu trở thành input cho state machine. Nếu dữ liệu oracle sai, bị trì hoãn, bị thao túng hoặc không sẵn có, chuyển đổi trạng thái kết quả có thể sai.

Vì vậy, thiết kế oracle rất quan trọng với ứng dụng phụ thuộc thông tin thực tế. State machine xác định chỉ có thể xử lý xác định dữ liệu nhận được. Nó không thể bảo đảm dữ liệu off-chain đúng trừ khi hệ thống oracle đáng tin cậy và an toàn.

State machine và state bloat

State bloat xảy ra khi trạng thái blockchain hoạt động tăng quá lớn. Mỗi tài khoản, storage slot, hợp đồng, lệnh, vị thế và mục dữ liệu có thể làm tăng state node phải duy trì.

State lớn hơn có thể tăng yêu cầu lưu trữ node, thời gian đồng bộ, khối lượng cơ sở dữ liệu và chi phí phần cứng. Nếu ít người có thể chạy node hơn, tính phi tập trung có thể bị ảnh hưởng.

Đây là lý do nhiều blockchain tính phí hoặc yêu cầu ký quỹ cho dữ liệu lưu trữ bền vững. State bloat là vấn đề state machine vì mỗi chuyển đổi trạng thái có thể thêm, sửa hoặc xóa dữ liệu.

State machine được thiết kế tốt nên hạn chế tăng trưởng state vô ích trong khi vẫn hỗ trợ ứng dụng hữu ích. Phí gas, storage rent, state expiry, cắt tỉa và cải tiến cam kết state đều liên quan đến vấn đề này.

Blockchain state machine càng mạnh, nó càng phải quản lý cẩn thận state dài hạn. Mở rộng không chỉ là giao dịch mỗi giây mà còn là tăng trưởng state bền vững.

State machine và mạng Layer 2

Mạng Layer 2 cũng dùng state machine. Ví dụ, rollup có state riêng thay đổi khi người dùng gửi giao dịch. Rollup có thể công bố dữ liệu giao dịch, state root, validity proof hoặc dữ liệu fraud proof lên base layer.

Base layer không nhất thiết thực thi trực tiếp mọi giao dịch Layer 2. Thay vào đó, nó giúp settlement hoặc xác minh state Layer 2 theo thiết kế rollup.

Do đó, Layer 2 có thể được hiểu là state machine khác kết nối với state machine Layer 1. Thiết kế cross-layer phức tạp vì người dùng cần tin rằng chuyển đổi state Layer 2 hợp lệ và có thể rút tiền.

Data availability, hệ thống proof, bridge, sequencer và quy tắc settlement đều quan trọng. Mở rộng Layer 2 không loại bỏ state machine mà thêm các state machine chuyên biệt hơn dựa vào bảo mật base layer theo những cách khác nhau.

State machine và bridge

Bridge kết nối state machine giữa các chain hoặc layer. Bridge có thể cần chứng minh sự kiện, message hoặc chuyển đổi trạng thái xảy ra trên chain này trước khi phát hành hoặc mint tài sản ở chain khác.

Điều này khó vì mỗi blockchain có đồng thuận, quy tắc finality, mô hình state và hệ thống proof riêng. Bridge hiểu sai state có thể trở nên không an toàn.

Ví dụ, bridge có thể chấp nhận message trước khi nó final, dựa vào tập validator yếu, không xác minh đúng state root hoặc proof, hoặc chứa lỗi hợp đồng thông minh trong state machine nhận.

Bridge là một trong những nơi rủi ro cao nhất mà các state machine tương tác. Người dùng không nên cho rằng tài sản an toàn tương đương sau khi đi qua các state machine khác nhau.

State machine và quản trị

Governance có thể thay đổi quy tắc blockchain state machine. Nâng cấp giao thức có thể thêm loại giao dịch mới, thay đổi chi phí gas, sửa quy tắc staking, thêm opcode hoặc điều chỉnh giá storage.

Các thay đổi này ảnh hưởng cách chuyển đổi trạng thái tương lai hoạt động. Vì vậy, quyết định quản trị không chỉ là quyết định chính trị hoặc xã hội; đó còn là thay đổi bộ máy quy tắc xác định hành vi blockchain hợp lệ.

Nếu quy trình quản trị yếu, vội vàng hoặc bị chiếm quyền, nó có thể làm tổn hại an toàn state machine. Nếu quy trình rõ ràng và được kiểm thử tốt, nó có thể giúp mạng phát triển.

Nâng cấp phải được triển khai cẩn thận trên phần mềm client. Nếu client không đồng thuận về quy tắc chuyển đổi, mạng có thể fork. Quản trị tốt bảo vệ tính liên tục của state machine dùng chung.

State machine và ví

Ví là giao diện người dùng để tương tác với blockchain state machine. Khi ví hiển thị số dư, ví đang đọc state hoặc dữ liệu được lập chỉ mục từ state.

Khi ví yêu cầu người dùng ký giao dịch, ví đang chuẩn bị input cho state machine. Khi người dùng phê duyệt token, swap tài sản hoặc mint NFT, ví giúp gửi hành động thay đổi state.

Đây là lý do prompt của ví rất quan trọng. Người dùng nên hiểu thay đổi state mà họ đang cho phép trước khi ký. Giao dịch độc hại có thể thay đổi quyền phê duyệt, chuyển tài sản, gọi hợp đồng hoặc cấp quyền.

Blockchain sẽ thực thi chỉ dẫn đã ký hợp lệ ngay cả khi người dùng không hiểu giao diện. Vì vậy, an toàn ví là giúp người dùng tạo input cho state machine một cách an toàn. Ví tốt giúp các chuyển đổi trạng thái dễ hiểu trước khi chúng xảy ra.

State machine, số dư token và NFT

Số dư token thường là giá trị state bên trong hợp đồng thông minh. Trên nền tảng hợp đồng thông minh dựa trên tài khoản, hợp đồng token có thể lưu mapping từ địa chỉ người dùng đến số dư.

Khi chuyển token, hợp đồng cập nhật mapping số dư nội bộ đó. Người dùng có thể thấy kết quả là thay đổi số dư đơn giản trong ví, nhưng bên dưới đó là chuyển đổi trạng thái cấp hợp đồng.

Điều này nghĩa là số dư token không phải lúc nào cũng cùng loại state với số dư coin gốc. Số dư coin gốc có thể là một phần của state tài khoản cơ sở, còn số dư token có thể là một phần storage của hợp đồng.

Sự khác biệt quan trọng với proof, lập chỉ mục, hiển thị ví và rủi ro hợp đồng thông minh. Nếu hợp đồng token có logic không an toàn, state machine token có thể hoạt động không như mong đợi.

NFT cũng phụ thuộc state machine. Hợp đồng NFT lưu thông tin sở hữu cho token ID duy nhất. Khi NFT được chuyển, hợp đồng cập nhật địa chỉ sở hữu token ID. Khi NFT được mint, hợp đồng tạo bản ghi sở hữu mới. Khi NFT bị burn, hợp đồng xóa hoặc đánh dấu token theo quy tắc của nó.

Metadata có thể được lưu on-chain hoặc tham chiếu qua hệ thống bên ngoài. State machine quyết định chuyển nhượng có hợp lệ không, ai có thể phê duyệt và quyền sở hữu thay đổi thế nào.

Đây là lý do bảo mật NFT phụ thuộc vào logic hợp đồng cũng như quyền lưu ký ví. NFT không chỉ là hình ảnh hoặc vật phẩm sưu tầm mà còn là bản ghi state được kiểm soát bởi quy tắc hợp đồng thông minh.

Lợi ích của state machine trong crypto

Lợi ích đầu tiên của blockchain state machine là xác minh dùng chung. Bất kỳ ai chạy phần mềm node tương thích đều có thể kiểm tra chuyển đổi state có hợp lệ không.

Lợi ích thứ hai là thực thi xác định. Mọi node trung thực có thể đạt cùng kết quả từ cùng state ban đầu và input đã được sắp thứ tự.

Lợi ích thứ ba là khả năng lập trình. Nền tảng hợp đồng thông minh cho phép nhà phát triển xác định chuyển đổi trạng thái ở cấp ứng dụng.

Lợi ích thứ tư là tính minh bạch. Blockchain công khai cho phép người dùng kiểm tra giao dịch, state root, dữ liệu lưu trữ hợp đồng và kết quả thực thi tùy chain và công cụ.

Lợi ích thứ năm là khả năng chịu lỗi. Nhiều node có thể sao chép state machine, giảm phụ thuộc vào một máy chủ. Lợi ích thứ sáu là composability: ứng dụng có thể tương tác với state dùng chung khi nền tảng hỗ trợ an toàn.

Những lợi ích này là lý do state machine là nền tảng của thiết kế blockchain công khai.

Hạn chế của state machine trong crypto

Hạn chế đầu tiên là độ phức tạp. Người dùng thường không hiểu chuyển đổi state mình đang ký.

Hạn chế thứ hai là tăng trưởng state. State bền vững có thể trở nên tốn kém để node lưu và xác minh.

Hạn chế thứ ba là chi phí thực thi. Trên nhiều blockchain, mọi node có thể phải xử lý cùng giao dịch thay đổi state.

Hạn chế thứ tư là rủi ro nâng cấp. Thay đổi quy tắc chuyển đổi có thể tạo lỗi hoặc fork nếu xử lý không cẩn thận.

Hạn chế thứ năm là rủi ro ứng dụng. State machine hợp đồng thông minh có thể chứa logic lỗi ngay cả khi base chain vận hành đúng.

Hạn chế thứ sáu là rủi ro dữ liệu bên ngoài. Oracle có thể đưa thông tin sai vào hệ thống vốn xác định.

Các hạn chế này cho thấy thiết kế state machine đòi hỏi kỷ luật kỹ thuật, đánh giá bảo mật và giao diện người dùng rõ ràng.

Những hiểu lầm phổ biến về state machine

Một hiểu lầm phổ biến là blockchain chỉ là cơ sở dữ liệu. Blockchain cũng là state machine vì nó xác định quy tắc thay đổi state hợp lệ.

Một hiểu lầm khác là đồng thuận và thực thi là cùng một thứ. Đồng thuận sắp thứ tự block và giao dịch, còn thực thi áp dụng quy tắc chuyển đổi trạng thái.

Hiểu lầm thứ ba là hợp đồng thông minh chạy trên một máy chủ trung tâm. Hợp đồng thông minh được node thực thi theo quy tắc state machine xác định của blockchain.

Hiểu lầm thứ tư là lịch sử giao dịch và state hiện tại giống nhau. Lịch sử giao dịch ghi input, còn state ghi kết quả hiện tại sau khi input được xử lý.

Hiểu lầm thứ năm là thực thi xác định bảo đảm kết quả tốt. Tính xác định bảo đảm kết quả nhất quán, nhưng kết quả vẫn có thể gây hại nếu logic hợp đồng hoặc dữ liệu input có lỗi.

Thực tiễn tốt nhất cho nhà phát triển

Thiết kế hợp đồng thông minh như state machine rõ ràng với state, chuyển đổi và điều kiện thất bại cụ thể. Kiểm thử mọi chuyển đổi state trong điều kiện bình thường và điều kiện có hành vi tấn công.

Sử dụng kiểm soát truy cập cẩn thận vì chuyển đổi state trái phép có thể gây hậu quả nghiêm trọng. Tránh dựa vào hành vi không xác định trong quá trình thực thi blockchain.

Giảm dữ liệu lưu trữ bền vững không cần thiết vì tăng trưởng state làm tăng chi phí cho người dùng và node. Dùng event cho tín hiệu lịch sử khi không cần state hoạt động.

Mô hình hóa các trường hợp biên như lệnh gọi thất bại, reentrancy, thực thi một phần, lỗi oracle và đường nâng cấp. Ghi tài liệu về việc mỗi hàm thay đổi gì trong state.

Đánh giá chi phí gas vì chuyển đổi state ghi storage có thể tốn kém. Hãy xem logic state machine là mã có ý nghĩa then chốt với bảo mật.

Thực tiễn tốt nhất cho người dùng

Đọc kỹ prompt ví trước khi ký giao dịch. Hãy hiểu ký giao dịch có thể thay đổi trạng thái blockchain vĩnh viễn.

Kiểm tra quyền mà một phê duyệt token cấp cho hợp đồng. Sử dụng giao diện đáng tin cậy khi tương tác với hợp đồng thông minh. Bắt đầu bằng giao dịch nhỏ khi thử ứng dụng mới.

Xác minh địa chỉ hợp đồng và tránh ký message không rõ nguồn gốc. Hãy hiểu giao dịch thất bại vẫn có thể tốn phí trên một số mạng.

Nhớ rằng state blockchain có thể minh bạch, nhưng minh bạch không bảo đảm an toàn. Thận trọng với bridge vì chúng kết nối state machine khác nhau với các giả định khác nhau.

Dùng công cụ bảo mật và thu hồi các quyền phê duyệt không cần thiết khi phù hợp.

FAQ

State machine trong crypto nghĩa là gì?

Trong crypto, state machine là hệ thống quy tắc nhận trạng thái blockchain hiện tại và giao dịch hợp lệ làm input, sau đó tạo trạng thái blockchain mới.

Vì sao blockchain được gọi là state machine?

Blockchain được gọi là state machine vì nó liên tục chuyển từ state hợp lệ này sang state hợp lệ khác bằng cách áp dụng giao dịch đã được sắp thứ tự theo quy tắc giao thức cố định.

Blockchain state là gì?

Blockchain state là tập dữ liệu hiện tại cần để xử lý giao dịch mới, chẳng hạn số dư, tài khoản, dữ liệu lưu trữ hợp đồng, UTXO và bản ghi validator.

State transition là gì?

State transition là thay đổi từ trạng thái blockchain này sang trạng thái khác sau khi giao dịch, block hoặc message hợp lệ được xử lý.

Ethereum có phải state machine không?

Có. Ethereum có thể được hiểu là state machine dựa trên giao dịch, trong đó giao dịch và lệnh gọi hợp đồng thông minh cập nhật world state.

Bitcoin có phải state machine không?

Có. Bitcoin có thể được hiểu là state machine dựa trên UTXO, trong đó giao dịch hợp lệ tiêu thụ đầu ra chưa sử dụng và tạo đầu ra chưa sử dụng mới.

State machine replication là gì?

State machine replication là việc chạy cùng state machine xác định trên nhiều máy để chúng xử lý cùng input có thứ tự và duy trì cùng state.

Khác biệt giữa đồng thuận và state machine là gì?

Đồng thuận thống nhất thứ tự giao dịch, còn state machine áp dụng giao dịch đã được sắp thứ tự để cập nhật state blockchain.

Vì sao blockchain state machine phải xác định?

Chúng phải xác định để mọi node trung thực có thể tính cùng kết quả từ cùng state ban đầu và cùng thứ tự giao dịch.

Hợp đồng thông minh liên quan thế nào đến state machine?

Hợp đồng thông minh xác định quy tắc cấp ứng dụng cập nhật state blockchain khi người dùng gửi giao dịch hoặc lệnh gọi hợp đồng hợp lệ.

Kết luận

State machine là một trong các ý tưởng quan trọng nhất đằng sau mạng tiền mã hóa. Nó giải thích cách blockchain chuyển từ trạng thái hợp lệ này sang trạng thái hợp lệ khác bằng cách áp dụng giao dịch theo quy tắc xác định.

Bitcoin dùng state machine dựa trên UTXO, trong đó giao dịch hợp lệ chi tiêu đầu ra cũ và tạo đầu ra mới. Ethereum dùng state machine dựa trên tài khoản, trong đó tài khoản, số dư, mã hợp đồng và dữ liệu lưu trữ được cập nhật qua giao dịch và thực thi EVM.

Cơ chế đồng thuận và state machine phối hợp với nhau nhưng đảm nhiệm việc khác nhau. Đồng thuận sắp thứ tự input, còn state machine thực thi quy tắc và tạo state mới.

Mô hình này khiến blockchain công khai có thể xác minh vì nhiều node độc lập có thể xử lý cùng dữ liệu đã được sắp thứ tự và kiểm tra họ có đạt cùng kết quả không.

State machine cũng giúp hợp đồng thông minh khả thi vì ứng dụng có thể xác định quy tắc có thể lập trình để thay đổi dữ liệu on-chain.

Tuy nhiên, state machine cũng tạo rủi ro thực tế khi logic hợp đồng thông minh sai, input oracle không tốt, state tăng quá lớn hoặc người dùng ký giao dịch mà họ không hiểu.

Với nhà phát triển, tư duy state machine giúp tạo hợp đồng an toàn hơn, quy tắc rõ ràng hơn và kiểm thử tốt hơn. Với người dùng, nó giúp giải thích vì sao mọi giao dịch đã ký là chỉ dẫn có thể thay đổi số dư, quyền, quyền sở hữu hoặc trạng thái ứng dụng.

Trong ngữ cảnh thuật ngữ crypto, State Machine nghĩa là hệ thống quy tắc xác định xử lý giao dịch blockchain và cập nhật mạng từ trạng thái hợp lệ này sang trạng thái hợp lệ tiếp theo.

Điểm chính cần nhớ là blockchain không chỉ là bản ghi giao dịch quá khứ, mà là replicated state machine giúp nhiều node độc lập đồng thuận về trạng thái hiện tại của một nền kinh tế kỹ thuật số.
BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?