Câu chuyện về vị “cứu tinh” giải cứu Bitcoin Core khỏi thảm họa phân chuỗi

Updated: 12/08/2018 at 7:00

Đây là câu chuyện về cách Corey Fields, một trong những nhà phát triển đáng kính của Bitcoin Core (cùng với Gavin Andresen), làm việc cho Sáng kiến tiền kỹ thuật số tại MIT Media Lab, phát hiện và báo cáo lỗ hổng nghiêm trọng trong Bitcoin Cash, nguyên nhân khiến BCH Blockchain phân đôi. Điều quan trọng cần lưu ý là lỗi hiện tại cố định chỉ ảnh hưởng đến Bitcoin Cash (BCH) chứ không ảnh hưởng đến Bitcoin (BTC). Mặc dù lỗi này được báo cáo vào tháng 4/2018 và được sửa vào tháng 5/2018, nhưng chỉ đến ngày 9/8/2018, Corey mới quyết định kể câu chuyện của mình trong một bài đăng trên Medium blog của DCI.

Mặc dù Corey làm việc cho Sáng kiến ​​tiền kỹ thuật số của MIT Media Lab (DCI), một cộng đồng nghiên cứu với mục tiêu là “tập hợp những người thông thái nhất tại MIT và các nơi khác để tiến hành nghiên cứu cần thiết để hỗ trợ phát triển công nghệ Blockchain và kỹ thuật số.” Cụ thể hơn, trách nhiệm chính của Corey là “giúp phát triển và duy trì Bitcoin Core, triển khai phần mềm chính của Bitcoin”.

Corey giải thích rằng lý do ông kể câu chuyện này không phải là để cười nhạo Bitcoin Cash, mà là nâng cao nhận thức về mối đe dọa do lỗi phần mềm gây ra cho không gian mật mã:

” Quá trình sửa chữa lỗi mà có khả năng gây nên thảm họa nghiêm trọng, đã tái khẳng định niềm tin của tôi rằng mối đe dọa của lỗi phần mềm đang bị đánh giá thấp trong thế giới tiền kỹ thuật số. Tôi trình bày một báo cáo chi tiết về vụ việc này như một ví dụ thực tế về việc cần phải nỗ lực bao nhiêu để đạt được trình độ kỹ thuật tinh vi mà tiền mã hóa yêu cầu, và như một lời cảnh báo đối với các công ty chưa chuẩn bị đầy đủ cho loại kịch bản này.”

Lỗi này là gì?

“Tóm lại, một phần mã xác minh chữ ký giao dịch đã được viết lại, nhưng mã mới bỏ qua một kiểm tra quan trọng về một bit cụ thể trong kiểu chữ ký. Tôi tham khảo bit đó trong tiết lộ như SIGHASH_BUG. Sự thiếu sót này sẽ đặc cách giao dịch thủ công, cho phép chúng tách Blockchain Bitcoin Cash thành hai chuỗi không tương thích.”

Lỗi phân chuỗi

  • “Phần mềm được giao nhiệm vụ thực thi các quy tắc xác nhận sẽ luôn cần tiến hóa phát triển. Thay đổi liên tục được thực hiện để cải thiện hiệu suất, thêm tính năng, cải thiện bảo mật, vv… Tuy nhiên, điều quan trọng là các quy tắc được thực thi theo một cách giống nhau từ phiên bản đầu đến phiên bản tiếp theo.”
  • “Vì vậy, điều gì sẽ xảy ra khi một lỗi lập trình ngẫu nhiên trong một phiên bản mới của phần mềm làm cho một giao dịch được coi là hợp lệ khi tất cả các phiên bản trước đó của phần mềm từ chối nó là không hợp lệ? Kết quả xảy ra chính là” tách chuỗi “, và nó có nghĩa là chỉ có tập con của những người tham gia đã nâng cấp phần mềm của họ mới chấp nhận giao dịch được do các giao dịch và các khối được ghép lại với nhau, hai tập hợp con sẽ từ chối mọi giao dịch sau đó. Nếu không có động thái nhanh chóng từ các nhà phát triển để điều chỉnh những người tham gia ở một bên fork thì tất cả mọi người sẽ bị từ chối. Vào thời điểm đó, đồng tiền đã được chia thành hai loại tiền tệ không tương thích – giao dịch như trước đây sẽ không còn khả thi nữa.”

Cách phát hiện lỗi

Bởi vì Bitcoin Core là mã nguồn mở, miễn phí, và được thử nghiệm tốt, nó được sử dụng như là điểm khởi đầu cho nhiều loại tiền mã hóa mới. Việc thực hiện phần mềm chính của Bitcoin Cash, Bitcoin ABC, dựa trên Bitcoin Core.
Bởi vì các dự án phái sinh này thường có các lỗi tương tự (và sửa lỗi), Corey thường xem xét mã nguồn của các dự án này để xem có lỗi sửa chữa nào nên được tích hợp vào mã Bitcoin Core hay không.

Vào tháng 4, trong khi Corey đang nghiên cứu các bản ghi thay đổi của Bitcoin ABC, ông nhận thấy một phần quan trọng trong mã xác nhận giao dịch của Bitcoin ABC đã được “tái cấu trúc” (tức là sửa đổi để cải thiện khả năng bảo trì hơn là thay đổi chức năng) và chỉ có hai người nhận ra sự thay đổi trước khi nó được chấp nhận.

Corey quyết định kiểm tra mã này vì một số lượng lớn các dòng đã được thay đổi và mã chỉ nhận được một đánh giá tối thiểu. Chỉ sau 10 phút, Corey có thể phát hiện ra lỗi nghiêm trọng.

Cách báo cáo lỗi 

Nếu Corey trực tiếp báo cáo lỗi cho nhóm phát triển Bitcoin ABC và một nhân viên đã sửa lỗi trong một thời gian ngắn sau đó, Corey có thể bị buộc tội là kẻ tấn công, và vì hàng tỷ USD có thể đã bị mất do tấn công mạng.

Vì vậy, không quan tâm đến sự an toàn của anh ta, Corey quyết định tìm một phương thức tiết lộ hoàn toàn ẩn danh.

Vì Bitcoin ABC không có chính sách “tiết lộ trách nhiệm” chính thức, Corey phải tìm các khóa mã hóa đã được xuất bản cho một trong những nhà phát triển Bitcoin ABC hàng đầu để anh ta có thể gửi cho người nào đó một thông điệp được mã hóa.

Cuối cùng, vào ngày 25/04/018, thông qua một lời kêu gọi về GitHub, Corey đã có thể nắm giữ public key PGP gửi cho một trong những nhà phát triển Bitcoin ABC, sau đó ông đã sử dụng để gửi một tin nhắn được mã hóa tới trình theo dõi lỗi của Bitcoin ABC vào ngày 26/04/2018.

Vào ngày 27/04/2018, Corey phát hiện ra rằng báo cáo của ông về lỗi đã được nhận do ông thấy trên GitHub “yêu cầu” sửa lỗi đã được mở ra. Nhóm Bitcoin ABC đã khắc phục lỗ hổng này và họ đã tiết lộ công khai vào ngày 07/05/2018. Phản hồi từ nhóm Bitcoin ABC Hôm qua, nhóm Bitcoin ABC đã bày tỏ lòng biết ơn của họ đối với Corey về cách ông đã xử lý tình huống này.

Được đề cập trong bài viết
Bình luận
Đang tải
Mới cập nhật

Solana (SOL) đang giảm giá trên biểu đồ, nhưng những holder dài hạn rõ ràng không hề nao núng. Thay vì bán tháo trong hoảng loạn, họ lại tích lũy thêm coin với niềm tin lớn. Với việc phần lớn người bán gần đây đã chấp nhận lỗ, giai đoạn... ...

Một làn sóng cú sốc vĩ mô đã phủ bóng lên các thị trường toàn cầu trong tuần qua, khiến nhà đầu tư ồ ạt tìm đến các tài sản trú ẩn an toàn. Các mức thuế mới từ chính quyền Trump cùng loạt dữ liệu kinh tế ảm đạm... ...

Ethena (ENA), Conflux (CFX) và Stellar (XLM) duy trì đà tăng mạnh trong sáng thứ Hai, nối tiếp xu hướng tích cực từ ngày Chủ nhật và vượt trội so với phần lớn thị trường tiền điện tử trong 24 giờ qua. Các tín hiệu kỹ thuật cho thấy đà... ...

Hơn một năm sau khi bản nâng cấp Dencun thúc đẩy mạnh mẽ các mạng Layer 2, và chỉ vài tháng trước khi bản phát hành Fusaka được mong đợi ra mắt, đồng sáng lập Ethereum – Vitalik Buterin – đã đưa ra một đề xuất đầy táo bạo: thay... ...

Ethereum (ETH) đã bứt phá ngoạn mục với mức tăng tới 60% trong tháng 7, trở thành một trong những đợt tăng giá ấn tượng nhất theo tháng trong thời gian gần đây. Cú huých này phần lớn đến từ dòng vốn kỷ lục chảy vào các quỹ ETF, kết... ...

Tuần này trong thị trường crypto đã chứng kiến một đợt điều chỉnh mạnh. Bitcoin giảm xuống dưới mốc 113.700 đô la, còn Ethereum (ETH) cũng trượt hơn 5%, chủ yếu do dữ liệu việc làm yếu kém tại Mỹ và lo ngại suy thoái gia tăng. Trong khi đó,... ...

Pi Network (PI) đã mở cửa tháng 8 với mức giảm mạnh, thiết lập ATL mới quanh $0,32 vào ngày 1 tháng 8. Mặc dù altcoin này đã phục hồi nhẹ lên $0,36, nhưng tâm lý bi quan vẫn tiếp tục chiếm ưu thế. Điều này cho thấy khả năng... ...

Pump.fun (PUMP) đang ghi nhận màn hồi phục ấn tượng sau cú sụt giảm 67% kể từ đỉnh lịch sử, nhờ tín hiệu bứt phá rõ rệt cùng lực mua tích cực từ các cá voi. PUMP dẫn đầu đà tăng, nhưng khối lượng giao dịch suy giảm Tính đến... ...

Bitcoin (BTC) đã giảm gần 5% so với mức đỉnh cuối tháng 7 là 119.800 USD, chạm đáy 3 tuần tại 112.000 USD vào ngày 2/8. Tính đến thời điểm hiện tại, BTC giao dịch quanh mức 114.300 USD, với khối lượng giao dịch 24 giờ sụt giảm hơn 23%.... ...

Ripple (XRP) đã chứng kiến đà giảm mạnh trong những ngày gần đây khi Bitcoin (BTC) buộc phải rút lui khỏi mốc 119.800 USD. Tính từ thứ Hai, ngày 28/7, giá BTC đã giảm 5%, trong khi XRP giảm tới 13,6%. Một trong những tín hiệu đáng lo ngại là... ...

Xem thêm bài viết

Chọn chế độ hiển thị:
Bình thường Bảo vệ mắt Dark Mode