Fork (từ tiếng Anh: fork – “cái dĩa, nhánh rẽ”) là một thuật ngữ chỉ sự thay đổi hoặc cập nhật giao thức blockchain. Vì blockchain là một hệ thống phi tập trung, việc thực hiện các thay đổi đòi hỏi sự đồng thuận của đa số người tham gia. Tùy thuộc vào cách những thay đổi này được triển khai và liệu chúng có tương thích với các quy tắc cũ hay không, các loại fork được chia thành hai loại: soft fork và hard fork.
Soft Fork: Cập nhật có khả năng tương thích ngược
Soft fork là một bản cập nhật giao thức không vi phạm các quy tắc cũ, mà chỉ siết chặt chúng hoặc thêm các quy tắc mới. Các nút (node) chưa được cập nhật vẫn có thể tương tác với mạng lưới, vì các khối mới được tạo theo quy tắc mới không mâu thuẫn với các quy tắc cũ.
Ví dụ: Cập nhật quy tắc ngôn ngữ.
Hãy tưởng tượng rằng trong tiếng Anh, một quy tắc mới đã được giới thiệu: bây giờ từ “color” chỉ có thể được viết là “colour”.
- Những người chấp nhận quy tắc mới (các node đã cập nhật) sẽ coi cách viết “color” là sai.
- Những người tiếp tục sống theo quy tắc cũ (các node cũ) vẫn sẽ hiểu những người viết “colour”, vì từ này đã tồn tại trước đó.
Do đó, mạng không bị chia tách. Theo thời gian, đa số người tham gia chuyển sang các quy tắc mới, nghiêm ngặt hơn, và bản cập nhật được toàn bộ mạng chấp nhận. Để soft fork được chấp nhận, chỉ cần đa số thợ đào bắt đầu tạo khối theo quy tắc mới.
Ví dụ thực tế về Bitcoin: Việc kích hoạt SegWit (Segregated Witness) vào năm 2017 là một soft fork. Bản cập nhật này đã thay đổi cấu trúc giao dịch nhưng vẫn tương thích với các phiên bản phần mềm cũ.
Hard Fork: Thay đổi căn bản và chia tách chuỗi
Hard fork là một bản cập nhật giao thức thay đổi căn bản các quy tắc và không tương thích với các phiên bản trước đó. Các khối được tạo theo quy tắc mới sẽ bị các node cũ từ chối vì không hợp lệ.
Ví dụ: Chuyển sang một ngôn ngữ khác.
Hãy tưởng tượng rằng một phần cộng đồng quyết định rằng từ ngày mai, ngôn ngữ chính thức sẽ không phải là tiếng Anh mà là tiếng Tây Ban Nha.
- Những người chuyển sang tiếng Tây Ban Nha (các node đã cập nhật) sẽ không còn có thể giao tiếp với những người vẫn sử dụng tiếng Anh (các node cũ).
- Kết quả là hai nhóm riêng biệt, không tương thích với nhau, được hình thành.
Nếu sau một hard fork, một phần cộng đồng (thợ đào và người dùng) quyết định không chấp nhận các quy tắc mới và tiếp tục hỗ trợ phiên bản giao thức cũ, thì một sự chia tách chuỗi (chain split) sẽ xảy ra. Kết quả là từ một loại tiền điện tử sẽ xuất hiện hai loại, với lịch sử chung cho đến thời điểm fork.
Ví dụ thực tế về Bitcoin: Việc tạo ra Bitcoin Cash (BCH) vào năm 2017. Một phần cộng đồng muốn tăng kích thước khối, điều này đòi hỏi một hard fork. Phần khác thì phản đối. Cuối cùng, một sự chia tách đã xảy ra, và một đồng tiền mới BCH đã xuất hiện, trong khi Bitcoin gốc vẫn tiếp tục tồn tại.
Bảng so sánh
| Thông số | Soft Fork | Hard Fork |
|---|---|---|
| Khả năng tương thích | ✅ Tương thích ngược với các quy tắc cũ. | ❌ Không tương thích. |
| Kết quả | Một mạng lưới duy nhất với giao thức đã cập nhật. | Tiềm năng chia tách mạng lưới thành hai. |
| Yêu cầu chấp nhận | Yêu cầu sự đồng thuận của đa số thợ đào. | Yêu cầu sự đồng thuận của toàn bộ cộng đồng (thợ đào, node, nhà phát triển, sàn giao dịch). |
| Rủi ro | Thấp. | Cao. Rủi ro chia tách, nhầm lẫn, biến động giá. |
Việc hiểu được sự khác biệt giữa hai loại cập nhật này giúp bạn định hướng tốt hơn trong các tin tức của ngành công nghiệp tiền điện tử và đánh giá các hậu quả tiềm tàng đối với sự phát triển của một loại tiền điện tử cụ thể.