Trong công nghệ blockchain, hard fork và soft fork là hai cách nâng cấp và cập nhật giao thức mạng khác nhau. Chúng khác nhau đáng kể về cách triển khai và những khác biệt này có thể ảnh hưởng trực tiếp đến cấu trúc và hoạt động của mạng blockchain.
Cái nĩa cứng
hard fork là một thay đổi quy tắc trong đó phiên bản mới của mạng không còn tương thích với phiên bản cũ. Kết quả là blockchain tách thành hai nhánh riêng biệt chạy song song và không ảnh hưởng lẫn nhau.
Nĩa mềm
soft fork là một thay đổi quy tắc trong đó các nút áp dụng quy tắc mới vẫn có thể tương tác với các nút chưa được nâng cấp. Trong trường hợp này, phiên bản mới của mạng vẫn tương thích với phiên bản cũ.
So sánh
Nĩa cứng
Ví dụ: 2016 DAO
Phiên bản cũ không tương thích với mạng mới
Chạy theo giao thức khác nhau
Nĩa mềm
Ví dụ: SegWit 2017
Mạng mới vẫn tương thích với phiên bản cũ
Hoạt động theo khuôn khổ giao thức tổng thể giống nhau
Phân tích tình huống
Cái nĩa cứng
Ví dụ: giả sử một nửa số nút mạng muốn tăng kích thước khối từ 2MB lên 3MB. Nếu một khối 3MB được gửi đến các nút phiên bản cũ, các nút đó sẽ từ chối khối đó vì quy tắc của chúng vẫn xác định 2MB là kích thước khối tối đa. Trong trường hợp này, mạng chia thành hai giao thức riêng biệt và mỗi nhánh có thể sử dụng một loại tiền tệ khác nhau. Tất cả số dư tài khoản được sao chép từ chuỗi ban đầu sang chuỗi mới. Ví dụ: nếu người dùng nắm giữ 20 BTC trước đợt fork, thì người dùng đó sẽ giữ 20 BTC trên chuỗi ban đầu và 20 BTC mới trên chuỗi mới.
Nĩa mềm
Ví dụ: nếu kích thước khối ban đầu là 2MB và một nửa số nút mạng đưa ra quy tắc chặt chẽ hơn giới hạn kích thước khối ở mức 1MB thì các khối lớn hơn 1MB sẽ bị các nút được nâng cấp coi là không hợp lệ. Tuy nhiên, các nút phiên bản cũ vẫn có thể nhận và phát các khối. Trong tình huống này, mạng mới vẫn có thể bao phủ tất cả các nút mà không bị hạn chế bởi các phiên bản quy tắc khác nhau. Segregated Witness (SegWit) của Bitcoin là một ví dụ điển hình về soft fork. Bản nâng cấp này đã giới thiệu một khối và định dạng giao dịch mới một cách thông minh. Các nút chưa được nâng cấp vẫn có thể nhận thông tin khối nhưng chúng không tham gia xác thực định dạng giao dịch mới.
