Mục lục

  • Giới thiệu

  • Ai là người ra quyết định trong mạng blockchain?

  • Một cái nĩa là gì?

  • Nĩa cứng và nĩa mềm

    • Hard fork là gì?

    • Fork mềm là gì?

  • Hard fork và soft fork cái nào lợi thế hơn?

  • Tóm tắt


Giới thiệu

Khi sử dụng ứng dụng ngân hàng điện tử trên điện thoại thông minh, chắc hẳn bạn đã gặp phải hệ thống nhắc cập nhật, lúc này thông thường bạn phải cân nhắc và đồng ý cập nhật thì mới có thể nâng cấp hệ thống. Có lẽ điện thoại của bạn cũng sẽ tự động cập nhật mà không thông báo cho bạn. Xét cho cùng, nâng cấp phần mềm là một quá trình cần thiết và nếu không cài đặt phiên bản mới nhất của phần mềm, bạn có thể không tiếp tục sử dụng các dịch vụ liên quan.

Trong một hệ thống tiền điện tử nguồn mở, tình hình hoàn toàn khác. Bạn không cần phải đọc từng dòng mã để Bitcoin hoạt động nhưng sẽ rất hữu ích nếu bạn có thể. Bởi vì bạn sẽ thấy rằng trong một môi trường phi tập trung không có hệ thống phân cấp quản lý và không có ngân hàng nào có thể đưa ra các bản cập nhật và sửa đổi nội dung cho bạn theo ý muốn. Do đó, việc triển khai bản cập nhật tính năng mới trong mạng blockchain là một thách thức.

Trong bài viết này, chúng ta sẽ khám phá cách nâng cấp mạng tiền điện tử mà không cần quản lý ủy quyền tập trung. Do đó, hai cơ chế khác nhau đã xuất hiện: hard fork và soft fork.​


Ai là người ra quyết định trong mạng blockchain?

Để hiểu cách thức hoạt động của fork, trước tiên bạn phải hiểu các tác nhân tham gia vào quá trình ra quyết định (hoặc quản trị) của mạng blockchain.

Trong Bitcoin, bạn có thể chia đại khái những người tham gia thành ba tập hợp con khác nhau: nhà phát triển, người khai thác và người dùng nút đầy đủ. Họ thực sự là các nút tham gia và đóng góp cho mạng lưới. Và giống như các nút nhẹ được sử dụng rộng rãi (ví dụ: điện thoại di động, máy tính xách tay và các loại ví khác), chúng không phải là "người tham gia" thực sự vào mạng.


Nhà phát triển

Các nhà phát triển chịu trách nhiệm tạo và cập nhật mã. Với các mã thông báo truyền thống như bạn biết, bất kỳ ai cũng có thể đóng góp mã cho quy trình. Mã này được cung cấp công khai để họ có thể gửi các thay đổi cho các nhà phát triển khác xem xét.


thợ mỏ

Thợ mỏ là người tham gia bảo vệ an ninh mạng. Họ chạy mã của tiền điện tử và dành tài nguyên máy tính để thêm các khối mới vào chuỗi khối. Ví dụ: trong mạng Bitcoin, họ đạt được điều này thông qua bằng chứng công việc. Người khai thác sẽ nhận được lợi nhuận khai thác tương ứng dưới dạng phần thưởng tập thể.


Người dùng nút đầy đủ

Các nút đầy đủ là xương sống của mạng tiền điện tử. Họ chịu trách nhiệm xác thực, gửi và nhận các khối và giao dịch cũng như duy trì bản sao dữ liệu của blockchain.


Trong các danh mục nhận dạng khác nhau này, bạn có thể tìm thấy sự trùng lặp. Ví dụ: bạn có thể đồng thời là nhà phát triển và nút đầy đủ hoặc người khai thác và nút đầy đủ. Bạn cũng có thể có cả ba danh tính cùng một lúc. Nhưng trên thực tế, chúng tôi tin rằng nhiều người dùng tiền điện tử không đảm nhận những vai trò này. Thay vào đó, họ chọn sử dụng các nút nhẹ hoặc dịch vụ tập trung.

Với phần giới thiệu ở trên, giờ đây bạn cũng đã hiểu sâu hơn về trách nhiệm của các nhà phát triển và thợ đào trong mạng. Các nhà phát triển chịu trách nhiệm tạo mã, nếu không có mã này bạn sẽ không thể chạy phần mềm và sẽ không có ai sửa lỗi và nâng cấp các tính năng mới. Những người khai thác có trách nhiệm đảm bảo an ninh mạng và nếu không có sự cạnh tranh khai thác lành mạnh, chuỗi khối có thể bị tấn công hoặc ngừng hoạt động.

Tuy nhiên, nếu các nhà phát triển và thợ đào cố gắng ép mạng phải làm những gì họ muốn thì sẽ có hậu quả. Đối với hầu hết người dùng, quyền kiểm soát thực sự nằm ở các nút đầy đủ. Họ duy trì hoạt động của mạng, cho phép người dùng chọn phần mềm họ muốn chạy.​

Các nhà phát triển sẽ không đột nhập vào nhà bạn và đe dọa bạn bằng súng khi tải xuống các tệp nhị phân cốt lõi của Bitcoin. Nếu những người khai thác có thái độ cứng rắn và có thái độ rằng những người theo tôi sẽ thịnh vượng và những người chống lại tôi sẽ diệt vong, đồng thời buộc khách hàng lựa chọn những thay đổi không cần thiết, thì hầu hết người dùng có thể không mua nó.​

Trên thực tế, cả thợ đào và nhà phát triển đều không phải là chúa tể quyền lực mà là nhà cung cấp dịch vụ. Nếu người dùng quyết định không sử dụng mạng nữa, mã thông báo sẽ mất giá trị. Việc mất giá trị mã thông báo 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 USD). Tương tự như vậy, đối với các nhà phát triển, họ chỉ có thể bị người dùng bỏ qua.

Bạn sẽ nhận thấy rằng không có phần mềm nào trong số này là độc quyền. Bạn có thể thực hiện bất kỳ thay đổi nào bạn muốn và nếu người khác đang chạy phần mềm đã sửa đổi của bạn, các bạn có thể tương tác với nhau. Trong trường hợp này, về cơ bản bạn đang tạo một mạng mới bằng cách phân nhánh phần mềm.


Một cái nĩa là gì?

Soft fork được thực hiện bằng cách sao chép và sửa đổi mã phần mềm. Dự án ban đầu vẫn tiếp tục tồn tại, nhưng một dự án mới được sinh ra riêng biệt và dự án mới sẽ phát triển theo một hướng khác. Chúng tôi cho rằng nhóm tại trang web nội dung tiền điện tử yêu thích của bạn có sự bất đồng lớn về cách tiến hành. Một phần của nhóm có thể nhân rộng trang web sang các khu vực khác. Tuy nhiên, khi chúng ta nhìn về tương lai, họ cũng sẽ xuất bản những bài viết khác với nội dung gốc.

Các dự án này được xây dựng trên nền tảng chung và chia sẻ cùng một dữ liệu lịch sử. Giống như một con đường sau này được chia thành hai, con đường của họ từ nay sẽ khác nhau.

Lưu ý rằng loại sự việc này luôn xảy ra trong các dự án nguồn mở và đã tồn tại từ rất lâu trước khi Bitcoin hoặc Ethereum tồn tại. Tuy nhiên, chỉ trong thế giới blockchain mới tồn tại sự khác biệt giữa hard fork và soft fork. Chúng tôi sẽ thảo luận chi tiết về điều này dưới đây.


➠Hãy đến Binance để mua Bitcoin và bắt đầu thế giới tiền điện tử của bạn!


Nĩa cứng và nĩa mềm

Mặc dù chúng có tên giống nhau và phục vụ cùng một mục đích, nhưng hard fork và soft fork rất khác nhau. Hãy để chúng tôi giới thiệu chúng một cách chi tiết.


Hard fork là gì?

Hard fork là một bản nâng cấp phần mềm không hỗ trợ khả năng tương thích ngược. Thông thường, những tình huống này xảy ra khi một nút thêm các quy tắc mới theo cách xung đột với các quy tắc của nút cũ hơn. Các nút mới chỉ có thể tương tác với các nút chạy phiên bản mới của phần mềm. Kết quả là blockchain bị phân tách, tạo ra hai mạng riêng biệt: một mạng chạy theo quy tắc cũ và một mạng chạy theo quy tắc mới.


节点在升级后变为蓝色。之前的黄色节点拒绝蓝色节点的连入,而蓝色的节点之间可以相互连接。

Các nút chuyển sang màu xanh sau khi nâng cấp. Các nút màu vàng trước đó từ chối kết nối với các nút màu xanh lam, nhưng các nút màu xanh lam có thể kết nối với nhau.


Vì vậy hiện nay có hai mạng chạy song song. Họ sẽ tiếp tục tạo ra các khối và giao dịch nhưng sẽ không còn hoạt động trên cùng một blockchain nữa. Trước khi mạng blockchain đạt đến khối fork, tất cả các nút đều có cùng một blockchain (và lịch sử vẫn tồn tại), nhưng sau đó chúng sẽ có các khối và giao dịch khác nhau.


在区块高度600,000处发生分叉


Vì cùng tồn tại một lịch sử nên nếu bạn giữ tiền trước fork, bạn sẽ có tiền trên cả hai mạng cùng một lúc. Giả sử bạn có 5 BTC trong tay khi fork xảy ra ở độ cao khối 600.000. Bạn có thể chọn chi 5 BTC cho blockchain ban đầu khi chiều cao khối đạt 600.001, nhưng mức tiêu thụ ở độ cao khối 600.001 sẽ không được ghi lại trên blockchain mới được tạo. Giả sử phương thức mã hóa không thay đổi, 5 mã thông báo này sẽ vẫn tồn tại trong khóa riêng của bạn trên mạng phân nhánh mới.​

Một ví dụ khác về hard fork là ví dụ xảy ra vào năm 2017, khi Bitcoin chia thành hai chuỗi độc lập, Bitcoin (BTC) ban đầu và Bitcoin Cash (BCH) mới. Việc fork diễn ra sau nhiều cuộc tranh luận trong cộng đồng về việc mở rộng quy mô kích thước khối. Những người ủng hộ Bitcoin Cash (BCH) muốn tăng kích thước khối, trong khi những người ủng hộ Bitcoin (BTC) phản đối sự thay đổi này.

Việc tăng kích thước khối yêu cầu thay đổi các quy tắc. Điều này đã được thực hiện trước khi phân nhánh mềm SegWit (sẽ nói thêm về điều đó sau), vì vậy các nút sẽ chỉ chấp nhận các khối nhỏ hơn 1MB. Nếu bạn tạo khối 2 MB, các nút khác sẽ từ chối xác minh khối đó.

Chỉ các nút đã nâng cấp phần mềm của họ và hỗ trợ kích thước khối trên 1MB mới 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 các phiên bản trước, vì vậy chỉ các nút có cùng giao thức mới có thể giao tiếp với nhau.


Fork mềm là gì

Soft fork là phương pháp nâng cấp phần mềm hỗ trợ khả năng tương thích ngược. Các nút đã nâng cấp vẫn có thể tương tác với các nút không được nâng cấp. Phương pháp nâng cấp của soft fork thường là thêm quy tắc mới vào chương trình và quy tắc này sẽ không xung đột với quy tắc cũ trước đó.

Ví dụ: có thể giảm kích thước khối thông qua soft fork. Hãy lấy Bitcoin làm ví dụ một lần nữa để minh họa điểm này: Có giới hạn trên về kích thước khối trong mạng Bitcoin, nhưng không có giới hạn về kích thước khối dưới. Nếu bạn chỉ muốn chấp nhận các khối có kích thước nhất định, chỉ cần từ chối các khối lớn hơn số đó.

Tuy nhiên, làm như vậy không tự động ngắt kết nối bạn khỏi mạng. Bạn vẫn có thể tương tác với các nút không thực thi các quy tắc này, nhưng một số thông tin chúng chuyển cho bạn sẽ bị lọc ra.

Một ví dụ điển hình về điều này là Segregated Witness (SegWit) đã nói ở trên, xảy ra ngay sau khi chia tách Bitcoin và Bitcoin Cash. Segwit là bản cập nhật thay đổi định dạng của các khối và giao dịch và được thiết kế một cách thông minh. Các nút cũ vẫn có thể xác minh các khối và giao dịch (ở các định dạng không vi phạm quy tắc), nhưng có một số trường nhất định mà chúng không thể đọc được. Chỉ khi nút được nâng cấp lên phiên bản mới hơn thì một số trường mới có thể đọc được và dữ liệu khác mới có thể được phân tích cú pháp chính xác.


甚至在隔离见证激活后的两年多时间里,也没有完成所有节点的升级。这样做也是有很多好处的,比如网络不会发生中断的情况、升级也没有那么紧迫。


Thậm chí hơn 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. Có rất nhiều lợi ích khi làm điều này, chẳng hạn như mạng sẽ không bị gián đoạn và việc nâng cấp sẽ không quá khẩn cấp.


Hard fork và soft fork cái nào lợi thế hơn?

Về cơ bản, hai loại phân nhánh này hoạt động khác nhau. Một bản nâng cấp hard fork gây tranh cãi sẽ chia cộng đồng thành hai phần, nhưng một bản nâng cấp hard fork theo kế hoạch cho phép tất cả người tham gia tự do lựa chọn có sửa đổi chương trình hay không.

Phuộc mềm là một lựa chọn ổn định hơn. Nói chung, vì các bản nâng cấp mới không xung đột với các quy tắc trước đó nên bạn chỉ có thể thực thi một số hạn chế nhất định. Điều đó có nghĩa là nếu bạn có thể triển khai nâng cấp theo cách tương thích thì bạn không cần phải lo lắng về nguy cơ phân mảnh mạng.


Tóm tắt

Các nhánh cứng và mềm rất quan trọng đối với sự thành công lâu dài của mạng blockchain. Mặc dù thiếu cơ quan trung ương nhưng họ có thể thực hiện các thay đổi và nâng cấp trong hệ thống phi tập trung.

Việc phân nhánh cho phép các chuỗi khối và tiền điện tử tích hợp nhiều tính năng mới hơn khi chúng được phát triển. Nếu không có những cơ chế này, chúng ta cần một hệ thống tập trung với sự kiểm soát từ trên xuống. Nếu không, chúng ta sẽ mắc kẹt với những quy tắc cứng nhắc trong suốt thời gian tồn tại của thỏa thuận phần mềm.


➠Mọi thắc mắc liên quan đến fork vui lòng vào Ask Academy!