Các thuật ngữ fork, soft fork hay hard fork là gì đã được nhiều nhà đầu tư crypto quan tâm từ lâu, nhất là sau các bản cập nhật fork từ hai ông lớn là Ethereum và Bitcoin. Cùng tìm hiểu bản chất những thuật ngữ này qua bài viết bên dưới và đưa ra kết luận mô hình fork nào thực sự hiệu quả.
Mục lục bài viết
Bản chất blockchain
Blockchain là hệ thống chuỗi tập hợp các khối và nút để lưu trữ thông tin và xác thực các giao dịch. Blockchain có bản chất phi tập trung và công khai. Do đó toàn bộ hệ thống mainnet sẽ hoạt động dựa trên sự đồng thuận để xác minh trạng thái.
Cũng chính vì đặc điểm phi tập trung này các giao dịch trên blockchain sẽ có một độ trễ nhất định để xử lý, dẫn đến các thông tin mâu thuẫn nhau, không đạt được sự đồng thuật để hoàn tất xác thực.
Việc này sẽ dẫn đến sự phân nhánh – fork, nội dung được đề cập chính trong bài viết. Khi đó, chuỗi khối sẽ được chia thành nhánh, được chấp thuận và xử lý bởi một phần của hệ thống.
Fork chính là cách mạng lưới nâng cấp và cập nhật thông tin để xử lý các giao dịch mượt mà mặc dù thiếu sự central authority (kiểm soát, quản lý trung tâm).
>>> Xem thêm: 3 lí do mã token hark fork PoW của Ethereum không hấp dẫn <<<
Fork là gì?
Tất cả các bên tham gia vào blockchain (hay là các nút) cần tuân theo các quy tắc đồng thuận. Khi xuất hiện sự không tương thích thì sẽ phát sinh ra các fork – hay còn gọi là các bản cập nhật khi có sự phân nhánh diễn ra.
Có ba hình thức fork như sau:
- Temporary Fork: khi có hai miner khai thác cùng 1 khối trong cùng một thời điểm.
- Hard Fork: giao thức mới không có khả năng hỗ trợ tương thích với giao thức cũ.
- Soft Fork: giao thức mới có khả năng hỗ trợ tương thức với giao thức cũ.
>>> Xem thêm: Luna 2.0 mới sẽ không phải là một hardfork của Luna Classic <<<
Temporary Fork là gì?
Như đã đề cập, tại cùng một thời điểm mà có hai hay nhiều ngời khai thác thì mạng lưới sẽ không đạt được sự đồng thuật tức thời để quyết định khối mới nào được đưa vào hệ thống.
Một vài thành viên chấp nhận phiên bản này, số khác lại đồng thuận cho phiên bản khác, dẫn đến mâu thuẫn về mặt xác thực. Như vậy, sẽ có nhiều chuỗi khối với độ dài khác nhau và tạo ra sự phân tách tạm thời – hay còn gọi là Temporary fork.
Sự phân tách tạm thời này sẽ được giải quyết tự động dựa trên nguyên tắc đồng thuận của blockchain. Sau một thời gian nhất định, chuỗi khối nào dài hơn sẽ được xem là đúng và được chấp nhận. Chuối khối ngắn hơn sẽ tự động bị loại bỏ. Cuối cùng sẽ xuất hiện những chuỗi khối mồ côi và không được khai thác tiếp.
Temporary fork chỉ diễn ra trong thời gian ngắn khi không có sự tương thích về mặt thông tin trong mạng lưới. Đối với các bản cập nhật hệ thống thì sẽ có hai dạng là soft fork và hard fork, khác nhau về khả năng hỗ trợ tương thích giữa các phiên bản.
>>> Xem thêm: Do Kwon đề xuất Terra hard fork để cứu hệ sinh thái <<<
Soft Fork là gì?
Soft Fork là phương thức tương thích ngược (backward-compatible), cho phép các nút chưa cập nhật vẫn cõ thể tương tác với các nút đã cập nhật. Như vậy:
- Các nút cũ vẫn có thể xử lý giao dịch, đưa block vào mạng lưới miễn là vẫn đáp ứng các quy tắc của giao thức mới. Tuy nhiên, bản thân các nút cũ không chấp nhật các block có quy tắc mới vì vi phạm lỗi.
- Đồng nghĩa, trong một bản soft fork, các quy tắc mới không mâu thuẫn và bị loại bởi các quy tắc cũ. Các nút trong mạng lưới không bắt buộc phải nâng cấp toàn bộ mới duy trì sự đồng thuận.
Ví dụ
Soft fork theo quy tắc mới yêu cầu kích thước block giảm từ 3mb xuống 2mb. Khi đó, các nút cũ vẫn có khả năng xử lý và chấp nhận các block có kích thước mới 2mb.
Nhưng các nút cũ không thể đẩy các block kích thước lớn hơn 2mb lên mạng lưới của chính nó vì quy phạm giao thức đã thiết lập. Do đó, để tối ưu, các nút cũ phải tự động cập nhật quy tắc mới.
Ví dụ như điện thoại bạn đang sử dụng là Iphone với hệ điều hành iOS 13 có thể tương thích với các tính năng cũ của iPhone 6 đến iPhone 12. Nhưng một bản iPhone 12 không thể sử dụng các tính năng như của phiên bản iPhone 13 được.
Hard Fork là gì?
Hard Fork là phương thức không tương thích ngược (backward-incompatible), có nghĩa là sự thay đổi quy tắc mới không tương thích với các phiên bản cũ trước đó. Trái với soft fork, các nút cũ trong hard fork sẽ không xử lý giao dịch hoặc đẩy các block theo quy tắc mới lên mạng lưới.
Kết quả là, sẽ có hai phiên bản cùng với hai quy tắc khác nhau hoạt động song song và không cùng trong một mạng lưới nữa. Như vậy, các nút sẽ xem như giống nhau cho đến thời điểm hard fork xảy ra , khi đó hệ thống sẽ chia tách thành hai nhánh riêng biệt.
Đến thời điểm này sẽ có hai hướng phát triển:
- Nếu fork được thực hiện theo kế hoạch, các phiên bản cũ sẽ cần phải nâng cấp để đáp ứng quy tắc mới. Nếu không thì các note sẽ vẫn được mining nhưng ít người dùng sử dụng.
- Khi có sự tranh cãi xảy ra thì sẽ có hai blockchain riêng biệt. Cộng đồng người dùng sẽ lựa chọn bên nào mang lại hiệu quả hơn.
Ví dụ
Giao thức mới có kích thước block là 3mb trong khi kích thước cũ là 2mb. Nếu nút cũ chưa cập nhật theo kích thước mới hệ thống cũ sẽ tự động từ chối các block 3mb vì xem đó là vi phạm không hợp lệ.
Hard fork hay soft fork?
Về cơ bản, các fork hoạt động với mục đích khác nhau. Hard fork mang đến sự thay đổi mạnh mẽ, tạo điều kiện để các hệ thống ra đời dựa trên sự cải tiến, đổi mới.
Còn soft fork là giải pháp linh hoạt hơn, không tạo ra nhiều mâu thuẫn giữa các hệ thống. Bạn vẫn có thể tạo hoặc nâng cấp cái mới mà không lo lắng về việc chia tách.
Lịch sử Bitcoin Hard Fork
Kể từ thời điểm thành lập, người dùng đã chứng kiến nhiều đợt hard fork của Bitcoin.
Bitcoin XT
Bitcoin XT là bản hard fork cho phép thực hiện 24 giao dịch mỗi giây, đồng thời tăng kích thước block lên 8mb. Khi ra đời vào năm 2015, Bitcoin XT có đến 1.000 nút, được xem là thành công đáng kể. Tuy nhiên, sau đó vài tháng, dự án dần mất hút vì không được người dùng quan tâm.
Bitcoin Classic
Đầu 2016, Bitcoin Classic ra đời, vẫn ý định tăng kích thước block nhưng chỉ với 2mb chứ không lên hẳn 8mb như Bitcoin XT. Thời điểm đó, Bitcoin Classic có 2.000 nút chạy. Hiện dự án vẫn còn tồn tại nhưng cũng không đạt số lượng người dùng lớn.
Bitcoin Unlimited
Thêm một phiên bản hard fork ra đời, tăng kích thước block 16mb. Dự án sáu đó vẫn rơi vào im lặng và biến mất.
Segregated Witness
Segregated Witnes đi ngược lại các quy tắc cũ khi đề xuất giảm kích thước mỗi giao dịch nhưng đồng thời cho phép nhiều giao dịch được xảy ra cùng lúc. Mặc dù là một trong những dự án nhiều tranh cãi nhưng SegWit đóng vai trò là nền tảng để thúc đẩy các hard fork tiếp theo ra đời.
Bitcoin Cash
Bitcoin Cash – BCH ra đời trong năm 2017, nhằm tránh các bản cập nhật mà SegWit để lại trong giao thức cũ. BCH cho phép thêm các block kích thước 8mb và không tiếp nhận các block theo giao thức của SegWit.
Hệ thống mới tách khỏi chuỗi khối chính, tạo thành hai hệ thống hoạt động song song. Đây được xem là đợt hard fork thành công của Bitcoin, hiện xếp hạn 12 trong bảng giá trị vốn hóa.
Bitcoin Gold
BTCG – Bitcoin Gold là đợt hard fork ra đời cũng trong năm 2017, nhằm khôi phục chức năng làm việc của GPU – đơn vị xử lý đồ họa.
Tính năng ưu việt của BTCG là “pre-mine” – giúp khai thác đến 100.000 coin ngay khi fork, chưa kể đến những khoản hỗ trợ khác từ nhà phát triển.
BTCG áp dụng nguyên tắc của Bitcoin nhưng khác nhau về cơ chế đồng thuận PoW. Điều này giúp các miner thay đổi phần cứng dễ dàng.
Lời kết
Qua những thông tin bổ ích trên, bạn đã nắm được khai niệm căn bản về hard fork và soft fork là gì. Tùy vào mục tiêu của từng dự án, nhà phát triển sẽ thực hiện soft fork hay hard fork để tăng trải nghiệm người dùng tối ưu nhất.