skip to Main Content

Giải thích một số thuật ngữ liên quan đến Bitcoin

Sau ngày 1/8/2017 khi Bitcoin bị phân tách thành hai đồng tiền khác nhau là Bitcoin và Bitcoin Cash, chắc hẳn các nhà giao dịch đã nghe rất nhiều về thuật ngữ Fork, Hardfork và Softfork. Tuy nhiên, rất nhiều người vẫn chưa hiểu rõ ý nghĩa của chúng là gì. Vì vậy, bài viết ngày hôm nay  sẽ giúp bạn giải đáp những thắc mắc đó thông qua khái niệm về Fork, Temporary Fork, Hardfork và Softfork.

Theo ngôn ngữ lập trình, “Fork” là hình thức sửa đổi hoặc nâng cấp mã nguồn mở. Thông thường, mã của nhánh mới sẽ tương tự mã gốc nhưng có những tính năng tốt hơn và không có trong mã chính. Đôi khi “fork” được dùng để kiểm tra một quy trình, nhưng với tiền điện tử, nó thường được sử dụng để thực hiện những thay đổi cơ bản hoặc để tạo ra một giao thức mới. Điều này đòi hỏi các nút (node) hoặc người dùng cần nâng cấp phần mềm giao thức lên phiên bản mới nhất.

Với một cơ sở mã nguồn mở được phân phối rộng rãi, khi tất cả các nút không cùng sao chép một thông tin thì vô tình “fork” sẽ được tạo ra. Tuy nhiên, các nhánh này thông thường sẽ được xác định và giải quyết, và phần lớn các fork của tiền điện tử được tạo ra là do sự bất đồng trong các đặc điểm. Một điều cần lưu ý đó chính là các fork có lịch sử giống nhau, chính vì vậy bản ghi các giao dịch trên mỗi chuỗi (cũ và mới) là giống hệt nhau trước khi bị chia tách.

Fork đại diện cho sự đồng thuận hay trong một số trường hợp, nó là sự thay đổi các quy luật cơ bản trong một giao thức đặc biệt. Bản chất phi tập trung của các chuỗi khối công khai như Bitcoin có nghĩa là những người tham gia trên mạng sẽ phải đi đến một thỏa thuận về trạng thái chung của blockchain. Sự đồng thuận hoàn toàn giữa những người tham gia sẽ dẫn đến một chuỗi dữ liệu được xác minh duy nhất mà mọi người cho là chính xác. Một blockchain fork xảy ra khi có được sự đồng thuận và nó có thể xảy ra theo 3 cách:

• Fork tạm thời
• Softfork
• Hardfork

Fork tạm thời là gì?

Fork tạm thời là các fork xảy ra khi trên hệ thống tiền điện tử, các thợ đào phát hiện ra một khối cùng một lúc, kết quả là hai chuỗi bị phân tách. Khi các công ty khai thác lựa chọn chuỗi để hình thành các khối tiếp theo, các fork tạm thời sẽ được xử lý trong hệ thống proof-of-work như trong Bitcoin. Chuỗi nào tìm ra khối tiếp theo trước tiên sẽ trở thành blockchain dài nhất và chuỗi đó sẽ được sử dụng, trong khi chuỗi ngắn hơn sẽ bị mạng lưới loại bỏ.

Vì các fork xuất hiện trong danh mục đầu tiên (Phân chia đồng thuận) là tạm thời, phạm vi tập trung nên nằm ở danh mục thứ hai, đó là “Thay đổi trong các Quy tắc ngầm của Giao thức”. Các fork trong danh mục này là vĩnh viễn và yêu cầu người tham gia trong mạng lưới cần nâng cấp phần mềm Bitcoin, để tích hợp các thay đổi mới vào phần mềm hiện tại của họ.

Thông thường, sự thay đổi các quy tắc ngầm của giao thức sẽ được phân thành 2 loại chính như sau: Softfork và Hardfork.

Hardfork là gì?

Hardfork là một quá trình tạo ra một phiên bản blockchain hoàn toàn mới, thay đổi một giao thức làm cho các phiên bản cũ không còn được chấp nhận và hợp lệ nữa. Nói cách khác, hardfork là một phần mềm nâng cấp không tương thích với phiên bản cũ hơn. Nếu các phiên bản cũ tiếp tục chạy, hardfork sẽ kết thúc bằng một giao thức khác, dữ liệu khác và một phiên bản mới hơn.

Với Bitcoin, một hardfork sẽ là cần thiết để thay đổi các quy luật cơ bản trong một giao thức đặc biệt như kích thước khối, phần thưởng đào, phí giao dịch, giới hạn thông tin bổ sung có thể được thêm vào,… Việc thay đổi bất kỳ tham số xác định nào sẽ khiến các khối được chấp nhận bởi giao thức mới nhưng bị từ chối bởi các phiên bản cũ hơn và có thể dẫn đến các vấn đề nghiêm trọng, thậm chí có thể mất tiền.

Chẳng hạn, nếu tăng giới hạn kích thước khối từ 1MB lên 4MB, khối 2 MB sẽ được chấp nhận bởi các nút (node) chạy phiên bản mới, nhưng sẽ bị từ chối bởi các nút chạy phiên bản cũ hơn.

Nói cách khác, khối 2MB này có được xác nhận bởi một nút được cập nhật và thêm vào blockchain. Điều gì sẽ xảy ra nếu khối tiếp theo được xác thực bởi một nút chạy theo phiên bản cũ của giao thức? Nó sẽ cố gắng để thêm khối vào blockchain, nhưng nó phát hiện ra rằng khối mới nhất không hợp lệ. Vì vậy, nó sẽ bỏ qua khối đó và đính kèm xác nhận với khối trước đó. Và vì vậy, bạn có hai blockchains, một khối với một phiên bản cũ và một phiên bản mới, chuỗi còn lại là các khối với hai phiên bản cũ hơn. Chuỗi nào phát triển nhanh hơn còn phụ thuộc vào việc nút nào có được các khối tiếp theo đã được xác thực. Một điều dễ xảy ra đó là hai (hoặc nhiều) chuỗi có thể phát triển song song vô thời hạn.

Một hardfork được thực hiện để sửa chữa các rủi ro liên quan đến vấn đề bảo mật trong các phiên bản phần mềm cũ, hoặc là thêm vào các chức năng mới hay đảo chiều các giao dịch

Hardfork còn tham gia vào việc phân chia đường dẫn của blockchain bằng cách vô hiệu hóa các giao dịch được xác nhận bởi các nút chưa được nâng cấp lên phiên bản mới của phần mềm giao thức. Sau vụ tấn công DAO, cộng đồng Ethereum gần như nhất trí bỏ phiếu ủng hộ việc sử dụng hardfork để ngăn chặn các giao dịch phi pháp từ các hacker, người đã rút đi hàng chục triệu đô la tiền kỹ thuật số. Ngoài ra, hardfork cũng cho phép chủ sở hữu nhận mã thông báo DAO để nhận lại tiền ether của họ.

Việc sử dụng hardfork không làm mất đi lịch sử giao dịch mạng. Thay vào đó, nó đã chuyển các khoản tiền gắn liền với The DAO sang một hợp đồng thông minh mới với mục đích duy nhất là cho phép các chủ sở hữu thực rút ETH. Các chủ sở hữu mã thông báo DAO sẽ có thể rút ETH với tỷ lệ khoảng 1 ETH đến 100 DAO.

Softfork là gì?

Softfork là một phần mềm nâng cấp tương thích với các phiên bản cũ hơn. Ví dụ, nếu một giao thức được thay đổi theo cách thắt chặt các quy tắc, thực hiện một số những thay đổi hoặc thêm chức năng không ảnh hưởng đến cấu trúc theo bất kỳ cách nào, thì các khối phiên bản mới sẽ được các nút phiên bản cũ chấp nhận.

Chính vì vậy, tất cả những người tham gia vẫn chưa nâng cấp phần mềm mới vẫn có thể tham gia vào quá trình xác minh giao dịch hay tiếp tục nhận biết các khối mới và duy trì khả năng tương thích với mạng lưới. Tuy nhiên, một điểm cần lưu ý, đó là chức năng của người không thực hiện nâng cấp sẽ bị ảnh hưởng.

Trong Bitcoin, những người khai thác phiên bản cũ sẽ nhận ra rằng các khối của họ bị từ chối và sẽ cần nâng cấp. Khi nhiều thợ mỏ nâng cấp, chuỗi nào có được các khối mới sẽ trở thành dài nhất, và sẽ loại bỏ các khối phiên bản cũ.

Chẳng hạn, cộng đồng quyết định giảm kích thước khối xuống 0,5 MB so với giới hạn hiện tại là 1MB. Những người không cập nhật phần mềm mới nhất vẫn sẽ biết được các giao dịch sắp tới là hợp lệ. Vấn đề chỉ xảy ra khi thợ đào không thực hiện cập nhật phần mềm cố gắng đào các khối mới, thì khối của họ sẽ bị mạng lưới từ chối.
softfork được sử dụng khi nào?

Các loại giao dịch mới thường có thể được thêm dưới dạng softfork, chỉ yêu cầu người tham gia (người gửi, người nhận) và người khai thác hiểu được các loại giao dịch mới. Một softfork cũng có thể xảy ra do sự phân kỳ tạm thời trong blockchain khi thợ đào sử dụng các nút không được nâng cấp và vi phạm quy tắc đồng thuận mới mà các nút cũ chưa được cập nhật.

Về cơ bản, hardfork và softfork giống nhau ở chỗ khi mã hiện tại của tiền điện tử bị thay đổi, một phiên bản cũ vẫn còn trong khi một phiên bản mới được tạo ra. Tuy nhiên, với softfork, một blockchain sẽ vẫn còn hiệu lực khi người dùng chấp nhận bản cập nhật. Cả hai loại fork đều tạo ra sự phân chia, nhưng một hardfork sẽ tạo ra hai khối và softfork chỉ tạo ra một.

Investing.vn

 

 

 

 

 

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *