Fork là gì? Fork có xảy ra thường xuyên không? Tại sao gọi là Fork? - DashVN

Latest

Tự do, công nghệ & đầu tư

Tuesday, August 1, 2017

Fork là gì? Fork có xảy ra thường xuyên không? Tại sao gọi là Fork?

Sổ cái blockchain là các block nối tiếp nhau thành chuỗi. Vì lý do nào đó, tại cùng thời điểm, từ một block nhất định có các chuỗi nối tiếp sau khác biệt, trên các máy trạm khác nhau thì gọi là FORK. Vì đâu mà hình thành fork có thể hiểu như sau:
Mạng P2P là hàng vạn các máy tính chạy chung một loại phần mềm, được nối nhau qua mạng Internet. Mạng tiền số chạy trên P2P cũng như vậy. Điểm khác biệt là trên mạng tiền số, dữ liệu trên từng trạm cần đồng nhất với nhau. Một giao dịch xảy ra trên 1 trạm sẽ được loan báo / loan gửi để đồng bộ trên các trạm khác.
Về lý thuyết mọi trạm làm việc trên mạng P2P có thể nối với nhau, nhưng trên thực tế mỗi trạm lại nối với khoảng 8 trạm gần nó nhất và cứ thế bắt tay vòng quanh. 
Khi một giao dịch được khởi thuỷ từ Việt Nam, nó sẽ loan tới các trạm gần Việt Nam trước. Cùng lúc ấy các giao dịch tại Đức sẽ loan tới các trạm gần Đức trước. Câu chuyện nối chuỗi : add block to blockchain sẽ xảy ra đồng thời ở cả 2 đầu. Vì giao dịch đầu nào cũng có thể có miner tốt hợp lệ, nên một chuỗi từ Đức cũng hợp luật như một chuỗi từ Việt Nam. 
Khi có từ 2 chuỗi cùng xuất phát từ một gốc sổ, cùng tồn tại hợp lệ song song như vậy, ta có cái gọi là FORK - hình ảnh cái dĩa với gốc chung là cán dĩa và có nhiều nhánh... 
Tuy nhiên cái dĩa này không tồn tại lâu, đến lúc thông tin từ Đức lan truyền tới các trạm Việt Nam và ngược lại, chuỗi dĩa nào được sinh trước, có độ khó độ dài cao hơn sẽ được chọn để chuyển thành gốc và nhánh dĩa nào ngắn hơn sẽ bị loại bỏ... => fork trên mạng blockchain xảy ra khá thường xuyên và đẻ 2 nhánh được một lúc thì code phần mềm sẽ diệt nhánh ngắn hơn đi...
Do cơ chế fork này, mà tiền thưởng công đào của Miner cho 1 block, chỉ có thể thực sự tiêu được sau khi sinh ra 100 block tiếp theo. Block mà miner vừa mất công tính ra và mới gắn chuỗi có thể nằm trong nhánh fork sẽ bị loại bỏ trong tương lai gần, với mạng bitcoin là không vượt quá 100 block x 10 phút = 16.7h
Fork ngoài gây ra do khả năng đào khác nhau từ các vùng, còn gây ra do việc phiên bản phần mềm gốc được sử dụng trên từng trạm không đồng nhất. Phần mềm tiền số là kế thừa bổ sung, cho nên lúc nhiều trạm lên phiên bản mới các trạm chạy bản cũ vẫn được tôn trọng. Việc các chuỗi blockchain từ phiên bản cũ và phiên bản mới cùng tồn tại song song tại một thời điểm cũng gọi là FORK.
*Khi sự kiện loại nhánh xảy ra vào lúc mọi trạm đều cập nhật cùng phiên bản mà xoá hẳn nhánh blockchain theo bản cũ đi thì gọi là SOFT-FORK, còn tách nhánh để không còn dạng fork mà là 2 chuỗi thẳng tắp từ đầu chí cuối, vẫn giữ phiên bản cũ / mới, một chuỗi chạy cùng bản cũ, một chuỗi chạy cùng bản mới tồn tại song song độc lập sẽ gọi là HARD-FORK...
Sự kiện 1.8 tới đây sẽ là ví dụ rất tốt để chúng ta quan sát cơ chế diệt nhánh sau tách này...
PS: những nội dung trên là hiểu biết và khẳng định cá nhân của người viết dựa trên bài giảng về Bitcoin Consensus Algorithm của chuyên gia Andreas M. Antonopoulous, tác giả cuốn Mastering Bitccoin ISBN-13:978-1449374044


Viết bởi: Triệu Anh Dũng

No comments:

Post a Comment