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 blockchain.
Hard Fork - "Hard fork" đề cập đến một sự thay đổi 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 quy tắc mà các node triển khai quy tắc mới vẫn có thể tương tác với các node chưa áp dụng các 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ụ: DAO 2016 | Ví dụ: Segwit 2017 |
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 các node 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 tới 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 kịch bản này, giao thức mạng chia thành hai, mỗi giao thức sử dụng tiền tệ khác nhau. Tất cả số dư tài khoản đều được sao chép từ các bản ghi gốc sang chuỗi mới. Người dùng có 20BTC trước khi fork 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 các node mạng triển khai một giới hạn 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 truyền 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. Fork 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.
