Fork blockchain là sự thay đổi quy tắc vận hành của một mạng blockchain hoặc tình huống chuỗi khối phân thành nhiều nhánh. Tùy khả năng tương thích với phiên bản cũ, thay đổi giao thức thường được phân thành hard fork và soft fork.
Fork không đồng nghĩa với việc chắc chắn xuất hiện một blockchain hoặc tài sản mới. Mạng chỉ tách lâu dài khi các nhóm tham gia tiếp tục duy trì những bộ quy tắc không tương thích.
Fork blockchain là gì?
Để hiểu fork blockchain là gì, trước tiên cần biết mỗi blockchain hoạt động dựa trên một tập hợp quy tắc đồng thuận. Các quy tắc này xác định:
- Giao dịch nào được xem là hợp lệ.
- Một khối hợp lệ phải đáp ứng điều kiện gì.
- Node xác minh chữ ký và trạng thái sổ cái như thế nào.
- Miner hoặc validator đề xuất, xác nhận khối ra sao.
- Mạng lựa chọn chuỗi hợp lệ trong trường hợp xuất hiện nhiều nhánh.
Nếu chưa quen với các khái niệm trên, người mới có thể tìm hiểu trước về blockchain là gì và cách mạng lưới vận hành.
Fork xảy ra khi có sự phân nhánh trong lịch sử khối hoặc khi một nhóm node áp dụng bộ quy tắc khác với nhóm còn lại. Thuật ngữ này thường được dùng cho ba trường hợp:
- Phân nhánh tạm thời: hai khối hợp lệ được tạo gần như cùng lúc. Cơ chế đồng thuận sau đó chọn một nhánh, còn nhánh kia không tiếp tục phát triển.
- Thay đổi giao thức: phần mềm node được cập nhật để áp dụng quy tắc xác thực mới. Đây là ngữ cảnh phổ biến khi nói đến hard fork và soft fork.
- Tách mã nguồn: một nhóm sao chép mã nguồn để phát triển dự án riêng. Việc tách mã nguồn không nhất thiết khiến blockchain đang hoạt động bị chia đôi.
Vì vậy, cần xem ngữ cảnh thay vì hiểu mọi “fork” đều tạo ra hai mạng độc lập.
Vì sao blockchain có thể thay đổi quy tắc?

Tính khó sửa đổi của blockchain chủ yếu liên quan đến dữ liệu đã được xác nhận, không có nghĩa phần mềm và giao thức phải giữ nguyên mãi mãi. Node vẫn chạy phần mềm do con người phát triển, nên cộng đồng có thể đề xuất phiên bản mới nhằm:
- Khắc phục lỗi kỹ thuật hoặc lỗ hổng bảo mật.
- Bổ sung chức năng cho giao thức.
- Điều chỉnh cách xác minh giao dịch và khối.
- Cải thiện hiệu suất hoặc khả năng mở rộng.
- Loại bỏ một tính năng không còn phù hợp.
- Thay đổi cơ chế quản trị hoặc chính sách vận hành mạng.
Việc nhà phát triển phát hành mã mới chưa đủ để tự động thay đổi blockchain. Quy tắc mới chỉ có tác động khi các bên liên quan như node, miner, validator, nhà phát triển ứng dụng và đơn vị cung cấp hạ tầng chấp nhận hoặc kích hoạt nó theo cơ chế của mạng.
Cách ra quyết định cũng phụ thuộc mô hình quản trị. Trên mạng công khai, việc nâng cấp thường cần phối hợp giữa nhiều bên độc lập. Với mạng riêng tư hoặc mạng có cấp quyền, tổ chức quản lý có thể kiểm soát quá trình cập nhật chặt chẽ hơn. Sự khác biệt này liên quan trực tiếp đến cách blockchain công khai và blockchain riêng tư được vận hành.
Khi nào blockchain bị tách thành các nhánh?
Blockchain có thể tách nhánh khi các node không cùng nhìn nhận một khối là hợp lệ hoặc khi nhiều khối cạnh tranh xuất hiện ở cùng một vị trí trong lịch sử chuỗi.
Phân nhánh tạm thời
Trong một số cơ chế đồng thuận, hai bên có thể đề xuất khối gần như đồng thời. Một phần mạng nhận khối thứ nhất trước, phần còn lại nhận khối thứ hai trước. Khi các khối tiếp theo được thêm vào, quy tắc đồng thuận sẽ xác định nhánh được tiếp tục công nhận.
Đây là hoạt động có thể xuất hiện trong quá trình đồng bộ mạng và không nhất thiết liên quan đến việc nâng cấp giao thức.
Phân nhánh do khác quy tắc
Nếu một nhóm node chấp nhận định dạng khối mới nhưng nhóm khác từ chối, hai nhóm có thể xây dựng trên các nhánh riêng. Khả năng tách kéo dài phụ thuộc vào:
- Quy tắc cũ và mới có tương thích hay không.
- Mức độ chấp nhận bản nâng cấp.
- Miner hoặc validator đang xây dựng trên nhánh nào.
- Các nhóm có tiếp tục vận hành cả hai mạng hay không.
- Cơ chế kích hoạt và điều phối nâng cấp của từng blockchain.
Một hard fork vì thế không tự động tạo ra hai blockchain lâu dài. Nếu mọi bên chuyển sang quy tắc mới và nhánh cũ không còn được duy trì, mạng chỉ tiếp tục với phiên bản đã nâng cấp.
Hard fork là gì?
Hard fork là thay đổi giao thức không tương thích ngược. Sau thời điểm kích hoạt, các khối hoặc giao dịch hợp lệ theo quy tắc mới có thể bị node phiên bản cũ từ chối.
Ví dụ giả định, một blockchain thay đổi cấu trúc khối để hỗ trợ một trường dữ liệu mới mà phần mềm cũ không thể xác minh. Khi node mới bắt đầu tạo loại khối này:
- Node đã nâng cấp chấp nhận khối theo quy tắc mới.
- Node chưa nâng cấp có thể xem khối đó là không hợp lệ.
- Nếu cả hai nhóm tiếp tục tạo và xác nhận khối, blockchain phân thành hai nhánh không tương thích.
Sơ đồ đơn giản:
Lịch sử chung: A → B → C
├→ D1 → E1 Quy tắc cũ
└→ D2 → E2 Quy tắc mới
Hard fork không nhất thiết là sự kiện gây tranh cãi. Nó có thể là một đợt nâng cấp đã được các bên thống nhất. Mạng chỉ bị chia thành hai hệ thống độc lập khi cả nhánh cũ và nhánh mới đều tiếp tục có người vận hành.
Soft fork là gì?

Soft fork là thay đổi giao thức có tính tương thích ngược đối với node cũ. Quy tắc mới thường chặt hơn, nghĩa là các khối hợp lệ theo quy tắc mới vẫn nằm trong tập hợp khối mà node cũ có thể chấp nhận.
Có thể hình dung như sau:
Quy tắc cũ chấp nhận: [A, B, C, D]
Quy tắc mới chấp nhận: [A, B]
Node cũ vẫn xem A và B là hợp lệ, dù không hiểu hoặc không thực thi đầy đủ điều kiện bổ sung của quy tắc mới. Node đã nâng cấp sẽ từ chối C và D.
Điều này không có nghĩa soft fork không cần phối hợp. Nếu các bên tạo khối chưa nâng cấp tiếp tục đưa vào những nội dung vi phạm quy tắc mới, mạng có thể xuất hiện nhánh tạm thời. Việc kích hoạt thành công phụ thuộc vào cơ chế đồng thuận và mức độ tham gia của những bên chịu trách nhiệm tạo hoặc xác nhận khối.
Hard fork và soft fork khác nhau như thế nào?
Điểm khác nhau cốt lõi giữa hard fork và soft fork là khả năng tương thích của quy tắc mới với node cũ.
| Tiêu chí | Hard fork | Soft fork |
|---|---|---|
| Khả năng tương thích | Không tương thích ngược | Có mức tương thích với node cũ |
| Quan hệ giữa quy tắc | Có thể mở rộng hoặc thay đổi tập hợp khối hợp lệ theo cách node cũ không chấp nhận | Thường thu hẹp tập hợp khối hợp lệ |
| Node cũ | Có thể từ chối khối theo quy tắc mới | Có thể chấp nhận khối mới nhưng không thực thi đầy đủ quy tắc bổ sung |
| Khả năng tách mạng lâu dài | Có thể xảy ra nếu cả hai nhánh tiếp tục được duy trì | Thường hướng tới duy trì một mạng, nhưng vẫn có thể phân nhánh tạm thời |
| Yêu cầu nâng cấp | Người muốn theo mạng mới phải dùng phần mềm tương thích | Không phải mọi node đều buộc nâng cấp ngay, nhưng các bên xác thực quan trọng cần phối hợp |
| Tạo blockchain mới | Không tự động | Thông thường không |
Tóm lại:
- Hard fork: node cũ và node mới có thể bất đồng trực tiếp về tính hợp lệ của khối.
- Soft fork: node mới áp dụng điều kiện chặt hơn, trong khi node cũ vẫn có thể chấp nhận các khối tuân thủ điều kiện đó.
Ví dụ giả định về quá trình fork blockchain
Giả sử mạng X đang dùng quy tắc R1. Cộng đồng muốn áp dụng quy tắc R2 từ một khối kích hoạt đã thống nhất.
Trường hợp hard fork
R2 cho phép một loại khối mà R1 xem là không hợp lệ:
Trước kích hoạt: R1 và R2 cùng theo một lịch sử
Sau kích hoạt:
- Node R1 từ chối khối chỉ hợp lệ theo R2
- Node R2 tiếp tục xây dựng theo quy tắc mới
Nếu node R1 ngừng hoạt động hoặc chuyển sang R2, chỉ còn mạng mới. Nếu cả hai nhóm tiếp tục tạo khối, hai blockchain độc lập có thể hình thành từ lịch sử chung.
Trường hợp soft fork
R1 cho phép nhiều kiểu khối, còn R2 chỉ chấp nhận một phần trong số đó:
Tập hợp hợp lệ theo R2 ⊂ Tập hợp hợp lệ theo R1
Khối tuân thủ R2 vẫn được node R1 chấp nhận. Tuy nhiên, node R1 không biết cách kiểm tra điều kiện bổ sung, nên mức độ bảo đảm của nó không giống node đã nâng cấp.
Ví dụ này cũng cho thấy blockchain không được cập nhật giống một cơ sở dữ liệu tập trung. Quyền quyết định và xác minh được phân bổ theo thiết kế mạng, một điểm quan trọng khi so sánh blockchain với cơ sở dữ liệu truyền thống.
Người dùng cần làm gì khi blockchain fork?

Nếu đang sử dụng ví, sàn giao dịch hoặc ứng dụng trên mạng sắp nâng cấp, người dùng nên ưu tiên kiểm tra tính tương thích và an toàn thay vì suy đoán về giá tài sản.
- Xác minh thông báo qua các kênh chính thức của dự án, ví hoặc sàn đang sử dụng.
- Kiểm tra phiên bản ví, node và ứng dụng có hỗ trợ quy tắc mới hay không.
- Đọc rõ đơn vị lưu ký hoặc sàn giao dịch sẽ hỗ trợ nhánh nào; mỗi đơn vị có chính sách riêng.
- Sao lưu cụm từ khôi phục đúng cách trước khi cập nhật ví, nhưng không nhập cụm từ này vào trang web lạ.
- Không gửi khóa riêng hoặc cụm từ khôi phục cho người tự nhận là nhân viên hỗ trợ.
- Cảnh giác với token giả, ứng dụng giả và thông báo “nhận tài sản sau fork” yêu cầu kết nối ví hoặc ký giao dịch không rõ nội dung.
- Hạn chế giao dịch trong thời gian mạng chưa ổn định nếu chưa hiểu nhánh nào đang được ví, sàn và ứng dụng hỗ trợ.
- Kiểm tra rủi ro giao dịch bị phát lại trên nhiều nhánh nếu một hard fork tạo ra hai mạng và chưa có cơ chế bảo vệ phù hợp.
Người chỉ lưu tài sản bằng dịch vụ của bên thứ ba có thể không cần tự nâng cấp node, nhưng vẫn nên theo dõi chính sách của nhà cung cấp. Người tự vận hành node cần kiểm tra tài liệu của đúng phần mềm đang sử dụng trước thời điểm kích hoạt.
Những hiểu lầm thường gặp về fork blockchain
Hard fork có luôn tạo ra một đồng coin mới không?
Không. Tài sản mới chỉ có thể xuất hiện khi một nhánh riêng tiếp tục tồn tại, có hạ tầng vận hành và được cộng đồng sử dụng. Nếu toàn mạng chuyển sang quy tắc mới, hard fork chỉ là một đợt nâng cấp giao thức.
Soft fork có hoàn toàn không gây phân nhánh không?
Không. Soft fork được thiết kế để duy trì khả năng tương thích với node cũ, nhưng nhánh tạm thời vẫn có thể xuất hiện nếu một số bên tạo khối không tuân thủ quy tắc mới.
Node không nâng cấp sau soft fork có còn an toàn như node mới không?
Không nhất thiết. Node cũ có thể chấp nhận khối mới nhưng không tự kiểm tra được các điều kiện bổ sung. Khả năng xác minh đầy đủ chỉ có trên phần mềm hỗ trợ quy tắc đang được áp dụng.
Fork có làm thay đổi dữ liệu cũ không?
Thông thường, các nhánh chia sẻ cùng lịch sử trước điểm phân tách và phát triển khác nhau từ đó. Fork chủ yếu thay đổi quy tắc cho các khối tiếp theo; không nên hiểu là thao tác tùy ý sửa toàn bộ dữ liệu lịch sử.
Điểm cần nhớ là hard fork và soft fork mô tả cách quy tắc mới tương tác với phần mềm cũ, còn việc blockchain có tách thành hai mạng lâu dài hay không phụ thuộc vào sự lựa chọn và phối hợp của những bên tham gia.
