Các loại tiền mã hóa như Bitcoin (BTC) và Ethereum (ETH) được cung cấp bởi một phần mềm mã nguồn mở phi tập trung được gọi là chuỗi khối (blockchain). Một Fork là một sự thay đổi đối với giao thức cơ bản của chuỗi khối. Một blockchain fork là một bản nâng cấp quan trọng đối với mạng lưới và có thể đại diện cho một thay đổi căn bản hoặc một thay đổi nhỏ và có thể được khởi xướng bởi các nhà phát triển hoặc thành viên cộng đồng.
Nó yêu cầu các nhà khai thác nodes (node – các máy được kết nối với chuỗi khối giúp xác thực các giao dịch trên đó) nâng cấp lên phiên bản mới nhất của giao thức. Mỗi node có một bản sao của chuỗi khối (blockchain) và đảm bảo các giao dịch mới không mâu thuẫn với lịch sử của nó.
Hard fork là một bản nâng cấp triệt để có thể làm cho các giao dịch trước đó và các khối hợp lệ hoặc không hợp lệ và yêu cầu tất cả các trình xác thực trong mạng nâng cấp lên phiên bản mới hơn. Nó không tương thích ngược. Soft fork là bản nâng cấp của phần mềm tương thích ngược (backward-compatible) và có trình xác thực trong version cũ hơn của chuỗi xem version mới là hợp lệ.
Trên thực tế, một hard fork thường dẫn đến sự phân tách chuỗi vĩnh viễn, vì version cũ không còn tương thích với version mới. Những người nắm giữ token trên chuỗi cũ mặc định được cấp token trên chuỗi mới vì họ có cùng lịch sử.
Hiểu về Hard Fork
Để hiểu hard fork là gì, điều cần thiết trước tiên là phải hiểu công nghệ chuỗi khối (công nghệ blockchain). Blockchain về cơ bản là một chuỗi được tạo từ các khối (block) dữ liệu hoạt động như một sổ cái kỹ thuật số, trong đó mỗi khối mới chỉ hợp lệ sau khi khối trước đó đã được xác nhận bởi các trình xác thực mạng. Dữ liệu trên chuỗi khối có thể được truy ngược trở lại giao dịch đầu tiên trên mạng. Đây là lý do tại sao chúng ta vẫn có thể thấy khối đầu tiên trên chuỗi khối Bitcoin.
Một hard fork về cơ bản là sự phân kỳ vĩnh viễn từ phiên bản mới nhất của chuỗi khối, dẫn đến sự tách biệt của chuỗi khối, vì một số nodes không còn đáp ứng được sự đồng thuận và các phiên bản khác nhau của mạng lưới được chạy riêng, dẫn tới việc phân kỳ tạo ra các chain riêng.
Về cơ bản, điều này có nghĩa là một ngã ba được tạo trên chuỗi khối trong đó một đường dẫn tiếp tục tuân theo bộ quy tắc hiện tại của nó, trong khi đường dẫn thứ hai tuân theo một bộ quy tắc mới. Một hard fork không tương thích ngược, vì vậy phiên bản cũ không còn coi phiên bản mới là hợp lệ. (Ví dụ như Ethereum PoW tiếp tục với Proof-of-Work còn Ethereum PoS sẽ chuyển sang Proof-of-Stake).
Các hard fork thường được coi là sự kiện lớn, tiềm ẩn nhiều rủi ro vì sự phân tách chuỗi thường xảy ra. Nếu xảy ra sự phân chia giữa những người khai thác (miner) bảo mật mạng và các node giúp xác thực giao dịch, thì bản thân mạng sẽ trở nên kém an toàn hơn và dễ bị tấn công hơn.
Một cách phổ biến để thực hiện hành động độc hại đối với chuỗi khối (blockchain) là thực hiện một cuộc tấn công 51%, đó là khi một nhóm miners (hoặc validators) quản lý để có hơn 51% sức mạnh tính toán bảo vệ mạng và sử dụng nó để thay đổi lịch sử của chuỗi khối. Trên thực tế, một số mạng được tạo ra do hard fork đã phải chịu nhiều cuộc tấn công 51% trong đó những kẻ xấu đã chi gấp đôi số tiền tương tự. Những cuộc tấn công này khiến những kẻ xấu tận dụng sức mạnh tính toán vượt trội của chúng trong mạng để tổ chức lại các khối, cho phép chúng chi tiêu gấp đôi.
Một lỗ hổng khác có thể xảy ra với hard fork là tấn công lặp lại. Các cuộc tấn công lặp lại xảy ra khi một thực thể độc hại chặn một giao dịch trên mạng fork và lặp lại dữ liệu đó trên chuỗi khác. Các hard fork không có bảo vệ tấn công lặp lại sẽ thấy cả hai giao dịch trở nên hợp lệ, nghĩa là ai đó có thể chuyển tiền của người dùng khác mà không cần kiểm soát họ.
Tại sao hard fork xảy ra?
Nếu hard fork có thể làm giảm đáng kể tính bảo mật của blockchain, thì tại sao chúng lại xảy ra? Câu trả lời rất đơn giản: Hard fork là bản nâng cấp cần thiết để cải thiện mạng khi công nghệ chuỗi khối tiếp tục phát triển. Một số lý do có thể đằng sau một hard fork và không phải tất cả chúng đều tiêu cực:
- Thêm chức năng
- Khắc phục rủi ro bảo mật
- Giải quyết bất đồng trong cộng đồng tiền mã
- Giao dịch đảo ngược trên blockchain
Hard fork cũng có thể xảy ra một cách tình cờ. Thông thường, những sự cố này được giải quyết nhanh chóng và những sự cố không còn đồng thuận với chuỗi khối chính sẽ quay trở lại và tuân theo nó sau khi nhận ra điều gì đã xảy ra. Tương tự như vậy, các hard fork giúp bổ sung chức năng và nâng cấp mạng thường cho phép những người không đồng thuận tham gia lại chuỗi chính.
Hard fork tình cờ
Chuỗi khối Bitcoin đã chứng kiến nhiều hard fork tình cờ trong suốt lịch sử của nó. Đây là những điều phổ biến hơn người ta nghĩ và thường được giải quyết nhanh đến mức chúng hầu như không đáng chú ý.
Hầu hết các hard fork tình cờ xảy ra bất cứ khi nào hai thợ mỏ tìm thấy cùng một khối gần như cùng một lúc. Khi sự đồng thuận trên mạng được phân phối, ban đầu, cả hai đều coi khối là hợp lệ và tiếp tục khai thác trên các chuỗi khác nhau trước khi họ hoặc một miner khác thêm khối tiếp theo.
Khối tiếp theo đó sẽ quyết định chuỗi nào trở thành chuỗi dài hơn, nghĩa là chuỗi còn lại bị loại bỏ để duy trì sự đồng thuận. Những miner chuyển sang chuỗi dài nhất vì chuỗi bị bỏ rơi không còn sinh lãi khi khai thác Bitcoin nữa
Khi những nhánh này xảy ra, người khai thác đã tìm thấy khối bị bỏ rơi sẽ mất phần thưởng coinbase và phí giao dịch. Tuy nhiên, không có giao dịch nào bị vô hiệu vì cả hai khối được tìm thấy đều giống hệt nhau và chứa các giao dịch giống nhau.
Các hard fork tình cờ khác là một phần của các vấn đề về mã code dẫn đến sự phân tách chuỗi ngắn. Ví dụ, vào năm 2013, một khối có tổng số đầu vào giao dịch lớn hơn so với trước đây đã được khai thác và phát hành, trong khi một số nút không xử lý nó, dẫn đến sự phân chia. Sự cố đã được giải quyết sau khi một số node hạ cấp phần mềm của họ để đạt được sự đồng thuận và từ chối khối lớn hơn này.
Sự khác biệt giữa hard fork và soft fork
Hard fork không·phải là cách duy nhất để nâng cấp phần mềm đằng sau một loại tiền mã hóa. Ngược lại, các soft fork được coi là một giải pháp thay thế an toàn hơn và có thể tương thích ngược, điều đó có nghĩa là các Node không nâng cấp lên các phiên bản mới hơn sẽ vẫn tiếp tục coi chuỗi là hợp lệ.
Một soft fork có thể được sử dụng để thêm các tính năng và chức năng mới mà không làm thay đổi các quy tắc mà một chuỗi khối phải tuân theo. Các soft fork thường được sử dụng để triển khai các tính năng mới ở cấp độ lập trình.
Để hiểu rõ hơn về sự khác biệt giữa hard fork và soft fork, có thể coi đây là một bản nâng cấp hệ điều hành cơ bản trên thiết bị di động hoặc máy tính. Sau khi nâng cấp, tất cả các ứng dụng trên máy vẫn hoạt động với phiên bản hệ điều hành mới. Một hard fork, trong trường hợp này, sẽ là một sự thay đổi hoàn toàn đối với một hệ điều hành mới.
Các ví dụ về hard fork
Có rất nhiều ví dụ lịch sử về hard fork trong thế giới tiền mã hóa và không phải tất cả chúng đều xảy ra với chuỗi khối Bitcoin. Dưới đây là một số hard fork phổ biến nhất trong lịch sử và cách chúng ảnh hưởng đến ngành.
SegWit2x và Bitcoin Cash
SegWit2x là một bản nâng cấp được đề xuất được thiết kế để giúp Bitcoin mở rộng quy mô. Nó được thiết lập để triển khai Segregated Witness (SegWit) và tăng giới hạn kích thước khối từ 1 MB lên 2 MB trên mạng của tiền mã hoá.
Việc triển khai SegWit2x đã được quyết định trong Thỏa thuận New York gây tranh cãi đạt được vào ngày 23 tháng 5 năm 2017. Thỏa thuận cho thấy rằng một số chủ sở hữu doanh nghiệp và miner Bitcoin chiếm hơn 85% tỷ lệ băm (hash rate) của mạng đã quyết định tương lai của BTC.
SegWit sẽ được triển khai thông qua một đợt hard fork, trong khi giới hạn kích thước khối sẽ được triển khai thông qua một đợt hard fork sau này. Đề xuất đã gây tranh cãi vì nó không bao gồm bất kỳ nhà phát triển nào đứng sau cơ sở mã code chính của Bitcoin, Bitcoin Core và được coi là lực lượng tập trung — một nhóm doanh nghiệp quyết định số phận của mạng mà không có miner và node đạt được sự đồng thuận. Thỏa thuận được đưa ra sau nhiều năm tranh luận về việc mở rộng quy mô Bitcoin.
Những người ủng hộ khối nhỏ lập luận rằng các khối lớn hơn sẽ khiến việc lưu trữ một node đầy đủ trở nên khó khăn hơn, có khả năng tập trung hóa tiền mã hóa. Những người ủng hộ các khối lớn hơn lập luận rằng phí giao dịch tăng của BTC sẽ gây hại cho sự tăng trưởng của nó và khiến một số người dùng phải trả giá bằng cách rời khỏi mạng.
Lo sợ rằng kế hoạch SegWit2x sẽ không được hoàn thành và thấy cộng đồng ủng hộ SegWit, một số người ủng hộ khối lớn đã quyết định phân tách chuỗi khối Bitcoin vào ngày 1 tháng 8 năm 2017. Kết quả là tạo ra Bitcoin Cash (BCH). Những người ủng hộ nó không coi việc chia tách là việc tạo ra một mạng lưới đối thủ, mà là sự tiếp nối tầm nhìn ban đầu của Satoshi Nakamoto.
Chuỗi khối Bitcoin Cash được tạo với kích thước khối 8 MB, sau đó đã tăng lên 32 MB. Cho đến ngày nay, những người ủng hộ Bitcoin Cash vẫn khẳng định rằng phí giao dịch thấp sẽ giúp nó mở rộng quy mô và gửi ngân hàng cho những người không có tài khoản ngân hàng, tin rằng BTC sẽ bị bỏ lại phía sau vì phí giao dịch lớn hơn.
Đợt hard fork Bitcoin Cash đã chứng kiến khả năng hard fork trở nên nổi bật và ngay sau đó, rất nhiều đợt fork Bitcoin khác đã được tạo ra. Chúng bao gồm Bitcoin Gold (BTG), Bitcoin Diamond (BTCD) và các loại khác.
The DAO Hack
Một hard fork lớn khác trong lịch sử có liên quan đến tổ chức tự trị phi tập trung (DAO) được ra mắt vào năm 2016 trên mạng Ethereum. Ethereum chạy một bộ hợp đồng thông minh (smart contract), về cơ bản là các đoạn mã tự động thực thi bất cứ khi nào một bộ tiêu chí được đáp ứng. Các smart contract này có thể lập trình được và đứng sau các ứng dụng tài chính phi tập trung (DApps).
Vào thời điểm đó, DAO đã huy động được số ETH trị giá 150 triệu USD trong một trong những nỗ lực huy động vốn từ cộng đồng sớm nhất về tiền mã hóa, trước cơn sốt đầu tư coin ban đầu (ICO) vào năm 2017. Về cơ bản, đây là mô hình quản trị phi tập trung mà các giao thức DeFi hiện nay đang sử dụng, trong đó chủ sở hữu token bỏ phiếu về tương lai của giao thức.
Sau khi ra mắt, DAO đã bị hack lấy ETH trị giá 60 triệu USD từ 11.000 nhà đầu tư. Vào thời điểm đó, Ethereum đang giao dịch dưới 10 USD, vì vậy khoảng 14% tổng số Ether đang lưu hành đã được đầu tư vào DAO và vụ hack là một đòn giáng mạnh vào niềm tin của người dùng vào mạng lưới.
Một cuộc tranh luận trong cộng đồng Ethereum đã xảy ra sau đó, khi mọi người tranh nhau tìm ra cách đối phó với cuộc tấn công. Ban đầu, người sáng lập Ethereum Vitalik Buterin đã đề xuất một soft fork sẽ đưa địa chỉ của kẻ tấn công vào danh sách đen và ngăn chúng chuyển tiền.
Kẻ tấn công hoặc ai đó đóng giả họ – đã phản hồi với cộng đồng rằng số tiền đã được lấy theo cách “hợp pháp” và tuân theo các quy tắc của hợp đồng thông minh. Họ tuyên bố họ sẵn sàng có hành động pháp lý chống lại bất kỳ ai cố gắng chiếm đoạt tiền. Căng thẳng gia tăng khi kẻ tấn công nói rằng họ sẽ ngăn chặn các nỗ lực soft fork bằng cách hối lộ những người khai thác ETH bằng tiền.
Cuộc tranh luận một lần nữa nổ ra cho đến khi một hard fork được đề xuất. Hard fork cuối cùng đã được triển khai và nó đã khôi phục lịch sử của mạng Ethereum về trước khi cuộc tấn công DAO xảy ra, phân bổ lại số tiền bị đánh cắp vào một hợp đồng thông minh nơi các nhà đầu tư có thể rút tiền của họ.
Động thái này đã gây ra rất nhiều tranh cãi và trong con mắt của một số người, nó đã ảnh hưởng đến khả năng chống kiểm duyệt và tính bất biến của blockchain: Các nhà đầu tư, trong mắt họ, đã được giải cứu. Những người nhìn mọi thứ theo cách này đã từ chối hard fork và hỗ trợ phiên bản cũ hơn của mạng, hiện được gọi là Ethereum Classic (ETC).
The Merge
The Merge là giai đoạn đầu tiên trong 5 giai đoạn tiến tới Ethereum 2.0. The Merge là quá trình hợp nhất lớp thực thi POW với lớp thực thi POS để chuyển đổi từ cơ chế Proof-of-Work sang cơ chế Proof-of-Stake, giúp giảm tiêu hao năng lượng đến 99.5%. Điều này có nghĩa là Ethereum bước sang một kỷ nguyên mới, kỷ nguyên POS, các thợ đào sẽ được thay thế bởi các Validator.
Để dễ hiểu anh em tưởng tượng POW là một lâu đài xây bằng máy đào, bằng năng lượng; còn POS là lâu dài xây bằng tiền. Để tấn công POW cần chiếm ít nhất 51% máy đào, còn để tấn công POS thì cần chiếm ít nhất 51% tổng số tiền xây lâu đài đó.
Sau The Merge thì phần thưởng chỉ còn Staking Reward (~1600 ETH/ngày), tức lạm phát ~1%, nhỏ hơn rất nhiều so với mức lạm phát trước đó ~4% (staking reward ~1600 ETH/ngày + mining reward ~ 13000 ETH/ngày).
The Merge có thể nói là một sự kiện không vui của các thợ đào, hàng nghìn thợ đào sẽ bị loại khỏi cuộc chơi sau The Merge. Đương nhiên những nhà sản xuất, dịch vụ liên quan tới máy đào cũng sẽ bị ảnh hưởng nặng nề. Đây sẽ là những người ủng hộ việc tách chuỗi nhất, ít nhất cũng giúp họ tiếp tục duy trì sản xuất ở mức độ nào đó. Bởi những thợ đào tiếp tục ủng hộ Ethereum POW, nên mạng lưới Ethereum đã tách thành Ethereum PoS và Ethereum PoW (ETHW).