Fork là một trong những khái niệm xuất hiện ở hai lĩnh vực hoàn toàn khác nhau nhưng cùng chia sẻ một nguyên lý: phân nhánh từ nguồn gốc chung để phát triển độc lập. Trên GitHub, theo định nghĩa chính thức của GitHub Docs, fork là bản sao cá nhân của repository người khác trên tài khoản của bạn — nền tảng cho toàn bộ văn hóa open source hiện đại với hơn 150 triệu developer tham gia. Trong blockchain, fork là sự kiện mạng lưới thay đổi giao thức, tạo ra hai nhánh chuỗi độc lập — điển hình là Bitcoin Cash ra đời ngày 1/8/2017 tại block 478,559. Bài này giải thích cả hai loại fork từ nguyên lý đến ví dụ thực tế, kèm phân tích hard fork vs soft fork và rủi ro nhà đầu tư cần biết.
Nguyên lý Fork: Khi Phần Mềm Cần Phân Nhánh

Fork (phân nhánh) là kỹ thuật tách một hệ thống đang chạy thành hai phiên bản độc lập — từ một điểm xuất phát chung, mỗi nhánh có thể phát triển theo hướng riêng mà không ảnh hưởng lẫn nhau. Nguyên lý này xuất phát từ hệ điều hành Unix, nơi lệnh fork() tạo ra một tiến trình con từ tiến trình cha, và được kế thừa vào cả quản lý mã nguồn lẫn giao thức blockchain.
Fork nghĩa là gì và từ đâu đến?
GitHub Docs định nghĩa fork là “tạo bản sao cá nhân của repository người khác trên tài khoản GitHub của bạn, cho phép thay đổi tự do mà không ảnh hưởng đến project gốc.” Đây là nền tảng của toàn bộ mô hình đóng góp open source hiện đại.
Trong hệ điều hành Unix/Linux, fork() là system call tạo tiến trình con — tiến trình mới kế thừa toàn bộ trạng thái của tiến trình cha nhưng chạy độc lập. Git và GitHub mượn thuật ngữ này để mô tả hành động sao chép repository. Từ đó, cộng đồng blockchain cũng dùng “fork” để chỉ sự phân nhánh giao thức.
Ba ngữ cảnh dùng fork phổ biến nhất hiện nay:
- GitHub/Git fork — sao chép repository để đóng góp open source
- Blockchain soft fork — nâng cấp giao thức tương thích ngược
- Blockchain hard fork — thay đổi giao thức tạo chuỗi mới hoàn toàn
Mỗi loại có cơ chế và hậu quả khác nhau, nhưng cùng chia sẻ nguyên lý: một nguồn gốc, hai con đường.
Fork vs Clone — hai khái niệm developer thường nhầm
Fork và clone đều tạo bản sao của repository, nhưng có điểm khác biệt cốt lõi về nơi bản sao tồn tại và mối liên kết với nguồn gốc:
| Tiêu chí | Fork | Clone |
|---|---|---|
| Nơi lưu trữ | Trên tài khoản GitHub của bạn | Trên máy local của bạn |
| Liên kết với repo gốc | Có — có thể tạo Pull Request | Không có liên kết GitHub |
| Mục đích chính | Đóng góp cho project người khác | Làm việc offline với bất kỳ repo nào |
| Sync với upstream | Có thể sync qua “Sync fork” | Phải cấu hình remote thủ công |
| Hiển thị trên GitHub | Công khai trong profile của bạn | Không hiển thị |
Workflow chuẩn của GitHub là fork trước, sau đó clone fork về local để làm việc. Bỏ bước fork và clone thẳng repo gốc thì không thể tạo Pull Request — lỗi phổ biến nhất với developer mới.
Fork trong Git và GitHub: Đóng Góp Cho Mã Nguồn Mở

GitHub là nền tảng lưu trữ hơn 420 triệu repository và có hơn 150 triệu người dùng — con số này phần lớn được thúc đẩy bởi văn hóa fork và Pull Request. Repository được fork nhiều nhất là “datasharing” với 242,600 fork tính đến 2025, phản ánh quy mô của cộng đồng open source toàn cầu.
Cách fork hoạt động trên GitHub
Fork trên GitHub tạo ra một bản sao hoàn chỉnh của repository — bao gồm toàn bộ lịch sử commit, branches, và issues — trong tài khoản cá nhân của bạn. Bản fork này tồn tại độc lập: bạn có thể push code, tạo branch, thậm chí xóa file mà không ảnh hưởng đến repo gốc.
Điểm đặc biệt là bản fork duy trì một “upstream link” với repo gốc. Link này cho phép bạn:
- Tạo Pull Request để đề xuất thay đổi lên repo gốc
- Sync fork để nhận cập nhật mới từ maintainer
- So sánh các commit giữa fork và upstream
Theo báo cáo Octoverse 2025 của GitHub, India lần đầu tiên vượt Mỹ về tổng số contributor open source — phần lớn nhờ mô hình fork & PR làm hạ thấp rào cản đóng góp.
Quy trình Fork → Branch → Commit → Pull Request
GitHub Docs mô tả quy trình đóng góp open source chuẩn gồm 6 bước:
- Fork repository — nhấn nút “Fork” trên GitHub để tạo bản sao trong tài khoản của bạn
- Clone fork về local —
git clone https://github.com/YOUR-USERNAME/REPO.git - Tạo branch mới —
git checkout -b fix/ten-bug(KHÔNG làm việc trực tiếp trênmain) - Thực hiện thay đổi và commit —
git commit -m "fix: mô tả cụ thể thay đổi" - Push branch lên fork —
git push origin fix/ten-bug - Tạo Pull Request — từ GitHub UI, chọn “Compare & pull request” để gửi thay đổi cho maintainer review
Maintainer nhận PR, review code, có thể yêu cầu chỉnh sửa, và cuối cùng merge vào repo gốc. Đây là workflow chi phối hầu hết 420 triệu dự án trên GitHub — từ Linux kernel đến framework nhỏ của cá nhân.
Sync fork với upstream và quản lý lâu dài
Sau khi fork, repo gốc tiếp tục có commit mới. Nếu không đồng bộ, fork của bạn sẽ tụt hậu — gây merge conflict khi tạo PR. GitHub cung cấp nút “Sync fork” để kéo commit mới từ upstream về nhánh main của fork.
Qua CLI, sync bằng lệnh:
git remote add upstream https://github.com/ORIGINAL-OWNER/REPO.git
git fetch upstream
git merge upstream/main
Repository được fork nhiều nhất là “Spoon-Knife” — tutorial chính thức của GitHub với 157,065 fork. Đây là repo bài tập fork đầu tiên mà mọi developer mới trên GitHub đều làm — minh chứng cho việc fork là kỹ năng cốt lõi, không phải nâng cao.
Fork trong Blockchain: Hard Fork và Soft Fork

Fork trong blockchain xảy ra khi cộng đồng thay đổi giao thức (bộ quy tắc) mà mạng lưới vận hành. Không như GitHub fork chỉ ảnh hưởng đến code, blockchain fork ảnh hưởng trực tiếp đến tiền tệ, quyền lợi holder, và toàn bộ network với hàng nghìn node trên thế giới.
Soft fork là gì — nâng cấp tương thích ngược
Coinbase định nghĩa soft fork là “nâng cấp tương thích ngược — ngay cả khi một số node không áp dụng phiên bản mới, chúng vẫn có thể nhận ra và xác thực giao dịch theo giao thức đã cập nhật.” Node cũ và node mới cùng tồn tại trên một chuỗi duy nhất.
SegWit (Segregated Witness) là soft fork nổi tiếng nhất trên Bitcoin, kích hoạt ngày 24/8/2017. River.com giải thích cơ chế: SegWit tách dữ liệu giao dịch thành hai phần — dữ liệu gốc (sender/receiver) và phần “witness” chứa chữ ký số. Phần witness chỉ được tính bằng 1/4 kích thước thực, cho phép nhét thêm giao dịch vào mỗi block mà không cần tăng giới hạn 1 MB. Kết quả: throughput tăng mà không tạo chuỗi mới, node cũ vẫn hoạt động bình thường.
Soft fork phù hợp khi cộng đồng đồng thuận cao về hướng nâng cấp nhưng cần thời gian chuyển đổi dần dần — không buộc tất cả phải upgrade ngay lập tức.
Hard fork là gì — khi blockchain tách làm đôi
Fidelity định nghĩa hard fork là “thay đổi không tương thích ngược đối với giao thức blockchain, yêu cầu tất cả node phải nâng cấp lên phiên bản mới.” Node cũ không công nhận block mới là hợp lệ — kết quả là chuỗi tách vĩnh viễn thành hai nhánh độc lập.
Hard fork xảy ra vì hai lý do chính:
- Không đồng thuận kỹ thuật — cộng đồng bất đồng về hướng phát triển (như Bitcoin vs Bitcoin Cash)
- Khắc phục khủng hoảng — cần can thiệp khẩn cấp để phục hồi tiền bị hack (như Ethereum vs Ethereum Classic)
Sau hard fork, tồn tại hai blockchain riêng biệt với lịch sử chung đến điểm phân nhánh, nhưng phát triển độc lập từ đó trở đi.
Bitcoin Cash và Ethereum Classic — hai case study thực tế
Bitcoin Cash (BCH) là hard fork Bitcoin tiêu biểu nhất. Bitcoin Cash ra đời ngày 1/8/2017 tại block số 478,559 — thời điểm nhóm phát triển tăng kích thước block lên 8 MB thay vì 1 MB của Bitcoin. Mục tiêu: tăng tốc độ giao dịch để BCH có thể cạnh tranh như phương tiện thanh toán hàng ngày.
So sánh kỹ thuật sau hard fork:
| Tiêu chí | Bitcoin (BTC) | Bitcoin Cash (BCH) |
|---|---|---|
| Block size | 1 MB (2–4 MB với SegWit) | 8 MB → 32 MB hiện tại |
| Tốc độ xử lý | 5–7 TPS | 100–200 TPS |
| Phí giao dịch | Cao hơn do tắc nghẽn | Thấp hơn do block lớn |
| Cộng đồng | Lớn hơn nhiều | Nhỏ hơn |
Phemex phân tích rằng Bitcoin Cash đạt thông lượng 100–200 TPS nhờ block 32 MB — gấp 32 lần Bitcoin. Tuy nhiên, cộng đồng và thanh khoản của BTC vẫn vượt trội BCH đáng kể.
Ethereum Classic (ETC) là case study khác về hard fork do khủng hoảng. Vụ hack The DAO ngày 17/6/2016 rút ra hơn 3,6 triệu ETH — tương đương ~$150 triệu tại thời điểm đó. Cộng đồng Ethereum đứng trước lựa chọn: hard fork để hoàn trả tiền cho nạn nhân, hay giữ nguyên nguyên tắc “code is law”?
Ethereum hard fork được thực hiện ngày 20/7/2016 tại block số 192,000 — phần lớn cộng đồng theo chuỗi mới (Ethereum/ETH). Nhóm thiểu số từ chối fork tiếp tục dùng chuỗi gốc, tạo thành Ethereum Classic (ETC) — blockchain tuân thủ nguyên tắc “code is law” dù lịch sử có giao dịch hack.
Những Điều Ít Người Biết Khi Fork Xảy Ra

Phần lớn bài viết về fork dừng lại ở định nghĩa và ví dụ. Nhưng với nhà đầu tư crypto và developer thực chiến, hai vấn đề dưới đây mới là điều quyết định xem fork có ảnh hưởng thực sự đến họ không.
Nhà đầu tư nhận coin gì sau hard fork?
Hard fork tạo ra chuỗi mới — và thường đi kèm với coin mới. Nguyên tắc cơ bản: nếu bạn giữ coin trong ví tự quản lý (non-custodial wallet) tại thời điểm fork, bạn có quyền sở hữu số coin tương đương trên cả hai chuỗi.
Lịch sử Bitcoin cho thấy mức độ phức tạp: tính đến 2025, có hơn 70 fork Bitcoin đang hoạt động, và hơn 100 fork nếu tính cả các fork đã ngừng hoạt động. Không phải fork nào cũng có giá trị — phần lớn là “airdrop coin” vô giá trị, tận dụng snapshot của chuỗi Bitcoin để phân phát token.
Monero (XMR) là ví dụ phức tạp hơn: hard fork tại block 1,546,000 để chống ASIC miner tạo ra 4 đồng coin mới — hai phiên bản Monero Classic, Monero 0 và Monero Original. Chỉ Monero gốc (XMR) duy trì giá trị và cộng đồng lâu dài.
Bitcoin SV (BSV) là trường hợp cảnh báo: xuất phát từ hard fork Bitcoin Cash tháng 11/2018, BSV bị delisted khỏi Binance, Kraken và nhiều sàn lớn giai đoạn 2019–2023 do tranh cãi pháp lý liên quan đến Craig Wright — coin vẫn tồn tại kỹ thuật nhưng mất hầu hết thanh khoản.
Khuyến nghị thực tế: trước bất kỳ hard fork quan trọng nào, chuyển coin ra khỏi sàn giao dịch tập trung vào ví tự quản lý. Sàn có thể không hỗ trợ chuỗi mới, hoặc hỗ trợ nhưng giữ lại coin fork mà không thông báo rõ.
Replay attack — rủi ro ít ai đề cập sau hard fork
Replay attack là vấn đề kỹ thuật nghiêm trọng xảy ra ngay sau hard fork: một giao dịch hợp lệ trên chuỗi A có thể bị “phát lại” trên chuỗi B, khiến người dùng mất coin ở cả hai chuỗi dù chỉ muốn gửi ở một chuỗi.
Cơ chế: sau hard fork, cả hai chuỗi dùng chung định dạng giao dịch đến điểm phân nhánh. Kẻ tấn công bắt được giao dịch trên chuỗi A và phát lại y nguyên lên chuỗi B — chuỗi B xác nhận vì giao dịch hợp lệ về mặt kỹ thuật.
Giải pháp là “replay protection” — cơ chế phân biệt giao dịch giữa hai chuỗi. Ethereum Classic (ETC) và Ethereum The Merge (ETH) đều triển khai replay protection ngay sau fork. Bitcoin Cash triển khai SIGHASH_FORKID — flag trong chữ ký giao dịch giúp chuỗi BCH từ chối giao dịch BTC và ngược lại.
Nếu một hard fork không có replay protection, tốt nhất là chờ vài ngày đến vài tuần trước khi thực hiện bất kỳ giao dịch nào — đây là bài học từ nhiều fork nhỏ trong lịch sử Bitcoin.
Hai loại fork — GitHub và blockchain — cùng chia sẻ triết lý phân nhánh, nhưng hậu quả hoàn toàn khác. GitHub fork có thể bị xóa bất kỳ lúc nào mà không ảnh hưởng ai; blockchain hard fork để lại dấu vết vĩnh viễn trên cả hai chuỗi. Với developer, hiểu fork giúp đóng góp open source hiệu quả hơn; với nhà đầu tư crypto, hiểu hard fork vs soft fork là điều kiện cần để bảo vệ tài sản khi mạng lưới thay đổi giao thức — đặc biệt khi Bitcoin đã có hơn 100 fork trong lịch sử và các blockchain lớn tiếp tục nâng cấp thường xuyên.
Câu hỏi thường gặp
Hard fork và soft fork khác nhau thế nào về tương thích với node cũ?
Hard fork yêu cầu tất cả node nâng cấp — node cũ không nhận block từ chuỗi mới. Soft fork cho phép node cũ tiếp tục hoạt động vì block mới vẫn hợp lệ với giao thức cũ.
Bitcoin Cash (BCH) ra đời từ hard fork Bitcoin vào ngày nào và tại block số bao nhiêu?
BCH được tạo ngày 1/8/2017 tại block số 478,559 khi nhóm phát triển tăng block size lên 8 MB — gấp 8 lần Bitcoin (1 MB) để tăng tốc độ giao dịch.
Fork trên GitHub khác clone ở điểm nào quan trọng nhất với developer?
Fork tạo bản sao trên tài khoản GitHub và duy trì liên kết với repo gốc để gửi Pull Request. Clone chỉ tải repo về máy local, không có liên kết GitHub hay khả năng đề xuất thay đổi.
Ethereum Classic (ETC) ra đời từ sự kiện nào và bao nhiêu ETH bị hack kích hoạt hard fork?
ETC sinh ra từ hard fork Ethereum ngày 20/7/2016 sau khi hack The DAO rút đi 3,6 triệu ETH (~$150M). Nhóm từ chối nâng cấp tiếp tục dùng chuỗi gốc, tạo thành Ethereum Classic.
Nhà đầu tư crypto có nhận được coin mới sau hard fork không?
Có — nếu giữ coin trong ví tự quản lý (non-custodial wallet) trước thời điểm fork, bạn thường nhận coin mới tương đương trên chuỗi tách ra. Sàn giao dịch quyết định riêng có hỗ trợ hay không.
SegWit là hard fork hay soft fork và được kích hoạt khi nào trên Bitcoin?
SegWit là soft fork, kích hoạt ngày 24/8/2017. Nó tách dữ liệu chữ ký (witness) khỏi dữ liệu giao dịch — phần witness chỉ tính 1/4 kích thước thực, tăng sức chứa block mà không đổi giới hạn 1 MB.
Để lại một bình luận