Trong công nghệ blockchain, hard fork và soft fork là hai phương pháp riêng biệt để nâng cấp và cập nhật các giao thức mạng. Chúng có những khác biệt đáng kể trong việc triển khai, ảnh hưởng đến cấu trúc và hoạt động của mạng lưới blockchain.
Hard Fork - "Hard fork" đề cập đến một sự thay đổi trong quy tắc mà 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ũ, dẫn đến hai nhánh của blockchain (song song và không ảnh hưởng lẫn nhau).
Soft Fork - "Soft fork" đề cập đến một sự thay đổi trong quy tắc mà các node triển khai các quy tắc mới vẫn có thể tương tác với các node chưa áp dụng thay đổi. Phiên bản mới của mạng vẫn tương thích với phiên bản cũ.
Hard Fork | Soft Fork |
Ví dụ: 2016 DAO | Ví dụ: 2017 Segwit |
Phiên bản cũ không tương thích với mạng mới. | Mạng mới tương thích với mạng cũ. |
Các Giao thức Khác Nhau | Giống nhau |
Phân tích Tình huống
Hard Fork, Soft Fork
Ví dụ, nếu một nửa số node trong mạng muốn mở rộng kích thước khối từ 2MB lên 3MB, việc gửi một khối 3MB cho các node phiên bản cũ sẽ bị từ chối vì các node phiên bản cũ có quy tắc quy định 2MB là kích thước khối tối đa. Trong trường hợp này, giao thức mạng sẽ tách thành hai, mỗi giao thức sử dụng các loại tiền tệ khác nhau. Tất cả số dư tài khoản sẽ được nhân bản từ các bản ghi gốc sang chuỗi mới. Người dùng có 20BTC trước khi phân tách sẽ có một tài khoản với 20BTC và một tài khoản khác với 20 BTC mới trên cả hai chuỗi.
Ví dụ, nếu kích thước khối ban đầu là 2MB, và bây giờ một nửa số node trong mạng triển khai một hạn chế mới về kích thước khối 1MB và coi các khối lớn hơn là không hợp lệ, các node phiên bản cũ vẫn có thể nhận hoặc phát các khối. Trong trường hợp này, mạng mới có thể bao phủ tất cả các node mà không bị giới hạn bởi các phiên bản quy tắc. Segregated Witness (SegWit) của Bitcoin là một ví dụ về soft fork. Việc phân tách này đã khéo léo giới thiệu một định dạng mới cho các khối và giao dịch. Các node chưa được cập nhật vẫn có thể tiếp tục nhận thông tin khối nhưng không tham gia xác thực các giao dịch mới.
