Soft Fork và Hard Ford là một trong hai thuật ngữ dùng để chỉ những giao thức trên Blockchain. Về cơ bản đây là hai khái niệm hoàn toàn khác nhau. Vậy Soft Fork là gì? Hard Fork là gì? Sự khác nhau giữa Soft Fork và Hard Fork là gì? Mời bạn đọc tham khảo bài viết dưới đây để biết thêm chi tiết.
Mục Lục
Tổng quan về Soft Fork và Hard Fork
Trong Crypto, Blockchain là mạng lưới phi tập trung và hoạt động dựa trên giao thức các Nodes. Các Nodes cần phải tuân theo một số quy tắc để có thể cùng làm việc một cách hài hòa và đồng bộ với nhau. Tuy nhiên, trong một số trường hợp chúng không đồng bộ nhau hay xảy ra sự tương thích ngược. Do đó, phát sinh ra nhu cầu cập nhật các fork.
Nói một cách đơn giản, Fork dùng để chỉ những bản cập nhật phần mềm giúp nâng cao hiệu suất hay khắc phục những vấn đề lỗi trước đó. Thông thường có hai dạng Fork: Soft Fork và Hard Fork.
>>Node là gì? Cách hoạt động của Node trong Blockchain
Soft Fork là gì?
Soft Fork là những bản cập nhật phần mềm Crypto mà ở đó sự thay đổi các giao thích sẽ có sự tương thích ngược. Ta có thể hình dung đơn giản như sau:
- Các node phiên bản cũ vẫn hoạt động một cách bình thường với các node được cập nhất trên Blockchain sao cho không vi phạm vào các quy tắc của giao thức mới.
- Với giao thức thay đổi Soft Fork, các khối sẽ đều tuân thủ quy tắc đồng thuận cũ và quy tắc động thuận mới cập nhật. Đây cũng là lý do vì sao các nút trên mạng lưới phải nâng cấp để duy trì sự đồng thuận.
- Các khối được thiết lập bởi các nút dựa theo quy tắc đồng thuận cũ sẽ bị vi phạm bộ quy tắc đồng thuận mới. Chính vì vậy, khi xác thực trên các nút đã cập nhật phiên bản mới có thể sẽ xảy ra các lỗi nhất định.
Ta có các ví dụ sau:
- Giả sử, một quy tắc mới được cài đặt soft fork là giảm kích thước block từ 3mb xuống còn 2mb. Lúc này, các node cũ vẫn xử lý giao dịch bình thường và đẩy các block mới có kích thước 2mb đổ lại. Tuy nhiên, nếu các node cũ cố gắng đẩy những chuỗi mới với kích thước lớn hơn 2mb lên mạng lưới, lúc này sẽ vi phạm quy tắc nodes mới và lệnh này sẽ bị từ chối. Như vậy, để hoạt động hiệu quả, các node cũ phải cập nhật giao thức mớ.
- Hay một ví dụ dễ hiểu tương tự Soft Fork là cập nhật hệ điều hành iOS 13 cho Iphone. Ta thấy rằng phiên bản mới của iOS này đều có khả năng tương thức cho cả các dòng iPhone 6 trở lên. Các tính năng cũ như chụp hình, quay phim, nghe nhạc hay cài đặt ứng dụng đều được sử dụng bình thường kết hợp với các tính năng mới ở các bản cập nhật mới.
Hard Fork là gì?
Hard Fork là những bản cập nhật phần mềm Crypto mà ở đó các giao thức mới hoàn toàn không tương thích với phiên bản trước. Điều này, bắt buộc các notes cũ phải cập nhật các phiên bản mới, mới có thể xử lý giao dịch hay đẩy các block mới lên blockchain. Đồng thời, các Hard Fork thường được sử dụng để thay đổi hoặc cải thiện giao thức hiện tại, hoặc có thể tạo ra một giao thức và blockchain mới và độc lập.
Ta có các ví dụ sau:
- Giả sử một giao thức có sự thay đổi kích thước block từ 2mb lên 4mb.Nếu node mới thực hiện lệnh đẩy block 3mb lên blockchain, trong khi node cũ vẫn chưa cập nhật thì điều này sẽ không thực hiện được.
- Hay với việc cập nhật hệ điều hành iOS mới trên iPhone 13, ta thấy rằng các tính năng có trên iOS 13 chạy trên các điện thoại Iphone 6 trở lên mà không có ở iOS 12 chạy trên Iphone 5s. Giả sử chế độ Dark Mode chỉ có trên iOS 13 nên nếu bạn đang sử dụng Iphone 5s mà lại muốn dùng Dark Mode thì có một cách là đổi dòng điện thoại mới từ Iphone 6 trở lên và cập nhật iOS 13 mới dùng được.
Tùy vào tình huống cụ thể, các hard fork sẽ được chấp thuận và thực hiện theo kế hoạch hoặc sẽ không có sự chấp thuận cao và gây ra nhiều tranh cãi.
- Đối với một fork được thiết lập dựa trên kế hoạch, việc nâng cấp phần mềm sẽ được các bên tham gia sẽ tự nguyện thực hiện để đáp ứng các quy tắc mới, bỏ đi các phiên bản cũ. Các node không cập nhật sẽ tiếp tục quá trình mining trên blockchain cũ và rất ít người dùng.
- Nếu tỷ lệ đồng thuận của fork không cao và có nhiều bất đồng về vấn đề nâng cấp trong cộng đồng thì giao thức này sẽ chia làm 2 blockchain riêng biệt không tương thích. Điều này cũng có nghĩa với việc xuất hiện 2 loại tiền mã hóa khác nhau. Mỗi block này sẽ có cộng đồng riêng cho mỗi bên, mỗi bên sẽ tiếp tục xây dựng theo cách mà họ nghĩ là tốt nhất.
Phân biệt giữa Soft Fork và Hard Fork
Soft Fork | Hard Fork |
Tương thích ngược | Không tương thích |
Tương thích với các quy tắc cũ | Không tương thích với các quy tắc cũ |
Thân thiện với người dùng | Thân thiện hơn với nhà phát triển |
Chỉ yêu cầu sự đồng ý của người dùng | Yêu cầu sự đồng ý của 2 bên là người khai thác và người xác nhận |
Tại sao lại có Soft Fork và Hard Fork?
Các nền tảng Blockchain đều sử dụng mã nguồn mở. Khi các tổ chức hoặc cá nhân có nhiều mục tiêu khác nhau khi tham gia mạng sẽ dẫn đến việc không đồng thuận về mục tiêu phát triển trung của toàn mạng, điều này dẫn đến sự phân nhánh. Đây là một tính chất tự nhiên luôn có ở các Blockchain công cộng. Chính vì vậy, ta không quá lạ với các hiện tượng phân nhánh Hard Fork và Soft Fork thường xảy ra trên các public Blockchain.
Đối với Hard Fork và Soft Fork, các giao thức ở những bản cập nhật này sẽ thay đổi vĩnh viễn các quy tắc cơ bản trên Blockchain. Việc này có thể xảy ra vì nhiều lý do, như:
- Về bản chất, các Blockchain đều có mã nguồn mở. Tài nguyên này sẽ được thiết lập và cung cấp bởi mọi người từ khắp nơi trên thế giới. Mã nguồn Blockchain được nâng cấp thường xuyên giúp hệ thống Blockchain muốn bổ sung các chức năng mới. Theo đó, các bản cập nhật này sẽ được phát hành tại các thời điểm tương ứng.
- Những quy tắc cốt lõi trong giao thức sẽ được cải tiến và thay đổi như tăng kích thước khối, tăng, thay đổi giao thức đồng thuận, giảm phần thưởng khai thác,…
- Khắc phục sự cố bảo mật: So với các công nghệ truyền thống, Blockchain là một công nghệ tương đối mới, do đó việc nghiên cứu luôn được tiến hành liên tục để xây dựng các hệ thống cho nó. Tuy nhiên, không có gì đảm bảo những phiên bản mới hay trong quá trình nghiên cứu sẽ tránh khỏi các lỗ hổng bảo mật. Việc cập nhật các Soft Fork hay Hard Fork để khắc phục lỗi là rất cần thiết. Điều này cũng có thể dẫn đến các vấn đề phân nhánh trên hệ thống Blockchain.
- Đảo ngược giao dịch: Trong trường hợp một số giao dịch trong một giai đoạn cụ thể là độc hại và vi phạm các cơ chế an toàn của Blockchain, cộng đồng tham gia mạng có thể làm mất hiệu lực tất cả các giao dịch này và đảo ngược lại chuỗi khối nhằm vô hiệu hóa các giao dịch này.
Kết luận
Nói tóm lại, Soft Fork và Hard Fork là các thuật ngữ dùng để chỉ việc cập nhật các giao thức mới hay các bản cập nhật phần mềm trong Crypto. Cả Soft Fork và Hard Fork có những điểm khác nhau cơ bản. Đồng thời, việc cập nhật các bản cập nhật này sẽ giúp cho hệ thống Blockchain của người dùng trơn tru và mượt mà hơn. Với bài viết trên đây, chúng tôi hy vọng có thể cung cấp cho bạn đọc những thông tin hữu ích về các Fork cơ bản trong Crypto. Chúc các bạn một ngày an lành.