Mục lục
Bạn đang sử dụng điện thoại thông minh Khi Khi cài đặt ứng dụng ngân hàng điện tử, chắc hẳn bạn đã từng gặp 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 trước khi 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 hệ thống tiền điện tử nguồn mở, tình hình rất 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.
Để hiểu cách hoạt động của fork, trước tiên bạn phải hiểu những người 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 nhóm nhỏ khác nhau: nhà phát triển, thợ đào 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. Đối với các nút ánh sáng được sử dụng rộng rãi (ví dụ: điện thoại di động, máy tính xách tay, v.v. ví), chúng không phải là "người tham gia" thực sự vào mạng.
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ỏ là những 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ể.
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.
Bạn có thể nhận thấy sự trùng lặp giữa các loại danh tính khác nhau này. 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.
Qua 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 buộc mạng phải chạy theo mong muốn của họ thì sẽ có những tác động bất lợi nhất định. Đố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 đủ. Chúng duy trì hoạt động của mạng và 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à dùng súng đe dọa bạn bằng cách 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à buộc khách hàng phải 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ể sẽ không mua nó.
Trên thực tế, cả thợ đào lẫn nhà phát triển đều không phải là những ông chủ quyền lực mà là những 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ẽ 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, thực tế là bạn đang tạo một mạng mới bằng cách phân nhánh phần mềm.
Soft fork đạt được 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à có chung 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.
Xin 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.
➠Truy cập Binance để mua Bitcoin để bật Tiền điện tử của bạn thế giới!
Mặc dù tên giống nhau và có cùng mục đích , nhưng có sự khác biệt lớn giữa hard fork và soft fork. Hãy để chúng tôi giới thiệu chúng một cách chi tiết.
Hard fork là phương pháp 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.
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.
Như 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.
Vì cùng một lịch sử tồn tại, nếu bạn giữ trước fork thì sẽ có token , thì bạn sẽ nhận được mã thông báo 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 đòi hỏi phải sửa đổ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ọ để hỗ trợ kích thước khối lớn hơn 1 MB 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.
Soft fork là sự hỗ trợ Ngược phương pháp nâng cấp phần mềm của khả năng tương thích, trong đó các nút được 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, quy tắc này sẽ không xung đột với quy tắc cũ trước đó.
Ví dụ: kích thước khối có thể được giảm thông qua một 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 kích thước đó.
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.
Segregated Witness (SegWit) nói trên là một ví dụ rất hay, 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, vẫn chưa Hoàn thành việc nâng cấp tất cả các nút. 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.
Về cơ bản, hai kiểu 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.
Soft fork 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.
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.
Fork cho phép chuỗi khối và tiền điện tử tích hợp nhiều tính năng mới hơn trong quá trình 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.
➠Đối với các câu hỏi liên quan đến fork, vui lòng truy cập Ask Academy!