Giới thiệu
Khi được yêu cầu cập nhật ứng dụng ngân hàng trên điện thoại thông minh của mình, bạn có thể không suy nghĩ lâu trước khi thực hiện việc đó. Điện thoại của bạn thậm chí có thể tự động xử lý các bản cập nhật mà bạn không hề biết. Xét cho cùng, đây là một quá trình bình thường: nếu bạn không cài đặt phiên bản phần mềm mới nhất, bạn có thể không sử dụng được các dịch vụ của phần mềm đó.
Trong thế giới mã nguồn mở của tiền điện tử, mọi thứ lại khác. Mặc dù bạn không cần phải đọc từng dòng mã của Bitcoin để sử dụng nó nhưng điều quan trọng là phải làm được điều đó. Trong thế giới mới này, không có hệ thống phân cấp nào có thể đơn giản áp đặt các bản cập nhật và thay đổi mọi thứ theo ý muốn. Đây là lý do tại sao việc triển khai các tính năng mới trên mạng blockchain có thể là một thách thức thực sự.
Trong bài viết này, chúng ta sẽ xem làm thế nào các mạng tiền điện tử có thể được duy trì, mặc dù thiếu cơ quan trung ương. Các mạng này sử dụng hai cơ chế khác nhau: hard fork và soft fork.
Ai đưa ra quyết định trên mạng blockchain?
Để hiểu cách thức hoạt động của fork, trước tiên điều cần thiết là phải hiểu đầy đủ về những người tham gia vào quá trình ra quyết định (quản trị) mạng.
Đối với Bitcoin, người ta thường có thể phân biệt giữa ba nhóm nhỏ người tham gia: nhà phát triển, thợ mỏ và người dùng chạy nút đầy đủ. Những phần này đóng góp cho mạng lưới. Các nút nhẹ (ví dụ: ví điện thoại, máy tính) được sử dụng rộng rãi nhưng không thực sự là “người tham gia” vào mạng.
Nhà phát triển
Các nhà phát triển chịu trách nhiệm tạo mã và cập nhật nó. Mọi người đều có thể đóng góp vào sự phát triển của tiền điện tử. Mã này được cung cấp công khai, cho phép mọi người gửi các thay đổi để các nhà phát triển khác xem xét.
trẻ vị thành niên
Thợ mỏ chịu trách nhiệm bảo mật mạng. Họ thực thi mã của tiền điện tử và phân bổ tài nguyên của mình để thêm các khối mới vào chuỗi khối. Đối với mạng Bitcoin, chúng tôi nói về Bằng chứng công việc. Như một phần thưởng cho những nỗ lực của họ, họ nhận được phần thưởng khối.
Người dùng nút đầy đủ
Các nút đầy đủ là xương sống của mạng lưới tiền điện tử. Họ xác thực, gửi và nhận các khối cũng như giao dịch và duy trì một bản sao của blockchain.
Bạn sẽ thường thấy sự chồng chéo trong các danh mục này. Ví dụ, một người có thể là nhà phát triển và người dùng nút đầy đủ hoặc là người khai thác và người dùng nút đầy đủ. Bạn có thể là cả ba, hoặc không ai cả. Trên thực tế, nhiều người trong số những người mà chúng tôi coi là người dùng tiền điện tử không đảm nhận bất kỳ vai trò nào trong số này. Thay vào đó, họ sử dụng các dịch vụ tập trung hoặc các nút nhẹ.
Nhìn vào các mô tả ở trên, bạn có thể đưa ra các đề xuất chắc chắn để các nhà phát triển và thợ mỏ đưa ra quyết định cho mạng. Các nhà phát triển tạo ra mã: không có chúng thì sẽ không có phần mềm nào để chạy và không ai có thể sửa lỗi hoặc thêm tính năng mới. Thợ mỏ bảo mật mạng: nếu không có sự cạnh tranh khai thác lành mạnh, chuỗi có thể bị tấn công hoặc ngừng hoạt động.
Nếu hai hạng mục này cố ép phần còn lại của mạng lưới phải làm theo ý mình thì mọi chuyện sẽ có kết cục rất tồi tệ. Đối với nhiều người, sức mạnh thực sự nằm ở các nút đầy đủ. Điều này phần lớn là do mạng được chọn tham gia, nghĩa là người dùng có thể chọn phần mềm họ sử dụng.
Các nhà phát triển sẽ không mang theo súng đến nhà bạn để buộc bạn tải xuống Bitcoin Core. Nếu những người khai thác áp dụng thái độ "thế này hoặc không có gì" để buộc người dùng phải thay đổi không mong muốn, thì người dùng sẽ chọn phương pháp của riêng họ.
Những tác nhân này không phải là những ông chủ toàn năng: họ là những người cung cấp dịch vụ. Nếu các cá nhân quyết định không sử dụng mạng, tiền tệ sẽ mất giá trị. Việc mất giá trị sẽ ảnh hưởng trực tiếp đến người khai thác (phần thưởng của họ có giá trị thấp hơn khi tính bằng đô la). Về phía các nhà phát triển, người dùng có thể đơn giản bỏ qua những điều này.
Như bạn thấy, đây không phải là phần mềm độc quyền. Bạn có thể thực hiện bất kỳ thay đổi nào bạn muốn, những người khác có thể chạy phiên bản phần mềm mới này và cuối cùng mọi người đều có thể đồng ý. Bằng cách thực hiện những thay đổi này, bạn vừa phân nhánh phần mềm và tạo một mạng mới.
Một cái nĩa là gì?
Phần mềm phân nhánh xảy ra khi nó được sao chép và sửa đổi. Dự án ban đầu vẫn tiếp tục tồn tại, nhưng hiện đã khác biệt với dự án mới đã đi theo một hướng khác. Giả sử các thành viên của nhóm nội dung tại trang web tiền điện tử yêu thích của bạn có sự bất đồng lớn về cách tiếp tục. Một phần của nhóm có thể sao chép trang web bằng một tên miền khác. Sau đó họ sẽ đăng nội dung khác nhau.
Các dự án đều dựa trên một cơ sở chung và có cùng lịch sử. Tuy nhiên, giống như một con đường bị chia làm hai, hiện nay có sự khác biệt giữa hai địa điểm.
Lưu ý rằng loại sự việc này thường xảy ra trong các dự án nguồn mở và đã xảy ra từ rất lâu trước khi mạng Bitcoin hoặc Ethereum xuất hiện. Tuy nhiên, sự khác biệt giữa hard fork và soft fork gần như chỉ có trong vũ trụ blockchain. Chúng ta hãy cùng nhau xem nó.
➟ Bạn có muốn bắt đầu với tiền điện tử không? Mua Bitcoin trên Binance!
So sánh Hard fork và Soft fork
Mặc dù có tên tương tự và phục vụ cùng một mục đích, nhưng hard fork và soft fork có sự khác biệt đáng kể. Chúng ta hãy nhìn vào những khác biệt này.
Hard fork là gì?
Hard fork là các bản cập nhật phần mềm không tương thích ngược. Những điều này thường xảy ra khi các nút thêm các quy tắc mới xung đột với các quy tắc từ các nút cũ. Các nút mới chỉ có thể giao tiếp với các cá nhân khác bằng phiên bản này. Điều này dẫn đến sự phân chia blockchain và do đó tạo ra hai mạng riêng biệt: một mạng sử dụng các quy tắc cũ, mạng kia sử dụng các quy tắc mới.

Các nút chuyển sang màu xanh khi được cập nhật. Các nút cũ, ở đây có màu vàng, từ chối cập nhật trong khi các nút màu xanh lam kết nối với nhau.
Hiện nay có hai mạng chạy song song. Cả hai sẽ tiếp tục phát sóng các khối và giao dịch, nhưng không còn hoạt động trên cùng một blockchain nữa. Tất cả các nút đều có một blockchain giống hệt nhau cho đến thời điểm phân nhánh (và lịch sử này được giữ nguyên), nhưng sau đó chúng sẽ có các khối và giao dịch khác nhau.

Do lịch sử được chia sẻ này, nếu bạn sở hữu tiền xu bằng fork, bạn sẽ có tiền trên cả hai mạng. Giả sử bạn sở hữu 5 BTC tại thời điểm phân nhánh ở khối 600.000, bây giờ bạn có thể chi tiêu 5 BTC này cho khối 600.001 của chuỗi khối cũ, nhưng số tiền này sẽ không được chi tiêu cho khối 600.001 của chuỗi khối mới. Giả sử mật mã không thay đổi, khóa riêng của bạn vẫn cho phép bạn giữ 5 đồng tiền trên mạng mới.
Một hard fork nổi tiếng là Bitcoin vào năm 2017. Sau đó, Bitcoin chia thành hai chuỗi: Bitcoin (BTC), chuỗi ban đầu và Bitcoin Cash (BCH). Sự phân nhánh này xảy ra sau nhiều cuộc tranh luận về cách cải thiện khả năng mở rộng. Những người ủng hộ Bitcoin Cash muốn tăng kích thước khối, trong khi những người ủng hộ Bitcoin phản đối sự thay đổi này.
Việc tăng kích thước khối đòi hỏi phải thay đổi các quy tắc. Điều này xảy ra trước khi có soft fork SegWit (thông tin thêm sẽ sớm được cung cấp về chủ đề này), do đó các nút không chấp nhận các khối nhỏ hơn 1 MB. Nếu bạn tạo một khối 2 MB hợp lệ thì các nút khác vẫn sẽ từ chối nó.
Chỉ các nút đã sửa đổi phần mềm của họ để cho phép các khối lớn hơn 1 MB mới có thể chấp nhận các khối này. Tất nhiên, điều này khiến chúng không tương thích với phiên bản trước, vì vậy chỉ các nút có cùng thay đổi giao thức mới có thể giao tiếp.
Fork mềm là gì
Soft fork là một bản cập nhật tương thích ngược, các nút được cập nhật vẫn có thể giao tiếp với các nút không được cập nhật. Điều thường xảy ra trong Soft fork là việc bổ sung một quy tắc mới không xung đột với các quy tắc cũ.
Ví dụ: việc giảm kích thước khối có thể được thực hiện bằng Soft fork. Hãy lấy ví dụ về Bitcoin một lần nữa để minh họa điểm này: nếu có giới hạn về kích thước tối đa của một khối thì ngược lại không có giới hạn nào về kích thước tối thiểu của nó. Nếu bạn chỉ muốn chấp nhận các khối nhỏ hơn một kích thước nhất định, bạn chỉ cần từ chối các khối lớn hơn.
Tuy nhiên, điều này không tự động ngắt kết nối bạn khỏi mạng. Bạn vẫn sẽ liên lạc với các nút không áp dụng các quy tắc này nhưng bạn sẽ lọc một số thông tin họ gửi cho bạn.
Một ví dụ cụ thể về soft fork là fork Segregated Witness (SegWit) đã nói ở trên, xảy ra ngay sau khi phân chia Bitcoin/Bitcoin Cash. SegWit là một bản cập nhật khéo léo thay đổi định dạng của các khối và giao dịch. Các nút cũ vẫn có thể xác thực các khối và giao dịch (định dạng không vi phạm các quy tắc cũ), nhưng chúng sẽ không hiểu chúng. Một số trường cũng chỉ có thể đọc được khi các nút nâng cấp lên phần mềm mới nhất, cho phép chúng phân tích dữ liệu bổ sung.

Thậm chí hai năm sau khi SegWit được kích hoạt, không phải tất cả các nút đều được nâng cấp. Việc này có những lợi ích nhưng thực sự không có gì cấp bách vì nó không phải là một mạng lưới tác động đến sự thay đổi.
So sánh Hard fork và Soft fork cái nào tốt hơn?
Về cơ bản, những loại nĩa này phục vụ những mục đích khác nhau. Những hard fork gây tranh cãi có thể chia rẽ một cộng đồng. Ngược lại, các hard fork theo kế hoạch cho phép mọi người tự do sửa đổi phần mềm với sự đồng ý của tất cả các thành viên.
Dĩa mềm là một lựa chọn nhẹ nhàng hơn. Nhìn chung, bạn bị hạn chế hơn về những gì mình có thể làm vì những thay đổi mới của bạn không thể xung đột với các quy tắc cũ. Điều đó có nghĩa là nếu bản cập nhật của bạn có thể được thiết kế để duy trì tính tương thích thì bạn không phải lo lắng về tình trạng phân mảnh mạng.
Để kết luận
Hard fork và soft fork là điều cần thiết cho sự thành công lâu dài của mạng blockchain. Chúng cho phép chúng tôi thực hiện các thay đổi và nâng cấp trong các hệ thống phi tập trung, mặc dù không có cơ quan trung ương.
Fork cho phép các chuỗi khối và tiền điện tử tích hợp các tính năng mới khi chúng phát triển. Nếu không có những cơ chế này, chúng ta sẽ cần một hệ thống tập trung với khả năng kiểm soát từ trên xuống. Nếu không, chúng ta sẽ mắc kẹt với các quy tắc giống nhau trong suốt thời gian tồn tại của một giao thức.



