Có nguy hiểm khi triển khai nhiều Bitcoin không? Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Có nguy hiểm khi triển khai nhiều Bitcoin không?

Đây là một bài xã luận quan điểm của Bill Scoresby, một chủ doanh nghiệp nhỏ hoạt động dựa trên bitcoin và là tác giả của một số hướng dẫn về quyền tự quản lý bitcoin.

Các lỗi gần đây khiến nhiều nút LND không đồng bộ với chuỗi khối Bitcoin là có thể do việc triển khai thay thế gây ra.

Có lẽ bạn đang thắc mắc, “Ai trên thế giới đang sử dụng thứ gì khác ngoài Bitcoin Core?” Bạn có thể chưa biết rằng đã tồn tại những triển khai khác của Bitcoin. Có thể bạn không chắc chắn về ý nghĩa của việc triển khai khác.

Bitcoin Core khởi đầu là phần mềm Satoshi Nakamoto viết bằng C++ và phát hành ra thế giới. Nó đã được cập nhật với các phiên bản mới dẫn đến ngày nay. Một cách triển khai thay thế là phần mềm thực hiện chức năng tương tự như Bitcoin Core — thực thi các quy tắc đồng thuận giống nhau — nhưng được viết khác, thường là bằng ngôn ngữ mã hóa khác.

Việc triển khai thay thế đã phá vỡ các nút trên Lightning Network như thế nào?

Một trong những phiên bản nút Lightning Network chính (NLD) dựa vào việc triển khai Bitcoin thay thế được gọi là btcd. Khi một nhà phát triển tạo một giao dịch nhiều chữ ký rất lớn, btcd không coi nó là hợp lệ vì nó chứa quá nhiều dữ liệu nhân chứng. Các triển khai Bitcoin khác – quan trọng nhất là Bitcoin Core – không có giới hạn như vậy đối với dữ liệu nhân chứng giao dịch Taproot và do đó đã chấp nhận giao dịch và khối chứa nó là hợp lệ.

Kết quả là các thợ mỏ liên tục thêm các khối mới vào chuỗi vì họ không sử dụng btcd và theo quy tắc của họ thì không có gì sai, nhưng các nút LND Lightning không thể nhận ra bất kỳ khối mới nào vì chúng được xây dựng trên đầu khối chứa một giao dịch mà họ thấy là không hợp lệ.

Khi lỗi xảy ra lần nữa vào ngày 1 tháng XNUMX, không chỉ các nút LND bị ảnh hưởng. Một số phiên bản điện tử (triển khai máy chủ phụ trợ cho Ví Electrum) cũng không đạt được sự đồng thuận với phần còn lại của chuỗi. Mặc dù các nút LND không được đồng thuận vì một vấn đề tương tự trong btcd, nhưng việc triển khai Bitcoin được viết bằng Rust đã khiến điều đó xảy ra. khiến các nút điện bị tụt lại phía sau, bao gồm một số máy chủ rất rõ ràng được điều hành bởi mempool.space.

Có giới hạn về kích thước của dữ liệu nhân chứng để ngăn chặn các cuộc tấn công DoSvà cũng là một phần của Bitcoin Core (mặc dù Core có giới hạn lớn hơn đối với các giao dịch Taproot). Có vẻ như hai cách triển khai khác không đồng bộ có mã duy trì giới hạn nhỏ hơn.

Những khác biệt rất nhỏ trong việc thực hiện có thể dẫn đến sự thiếu đồng thuận.

Việc triển khai nhiều Bitcoin là nguy hiểm

Satoshi không thích ý tưởng triển khai nhiều Bitcoin. “Tôi không tin rằng việc triển khai Bitcoin tương thích thứ hai sẽ là một ý tưởng hay.” Lý do mà anh ấy đưa ra là: “Phần lớn thiết kế phụ thuộc vào việc tất cả các nút nhận được kết quả giống hệt nhau theo bước khóa nên việc triển khai lần thứ hai sẽ là mối đe dọa đối với mạng”.

Đe dọa? Vấn đề lớn là gì?

Bạn có thể đã nghe nói rằng chuỗi có nhiều bằng chứng công việc nhất là chuỗi thực sự. Khi hai người khai thác khác nhau tìm thấy một khối cùng lúc, chuỗi sẽ tách ra và những người khai thác khác bắt đầu xây dựng trên bất kỳ khối nào họ nghe thấy đầu tiên.

Ngay sau khi một khối mới được thêm vào một bên của phần phân chia, hầu hết các nút và công cụ khai thác đều chấp nhận đó là chuỗi thực sự mới và từ bỏ phía bên kia của phần phân chia. Các khối này được gọi là khối cũ, mặc dù một số người gọi chúng là khối mồ côi.

Vì thời gian trung bình giữa các khối trong Bitcoin là 10 phút nên có khả năng toàn bộ mạng sẽ tìm hiểu về khối mới này trước khi một khối được thêm vào bên thua của phần chia và chuỗi có nhiều công việc nhất sẽ thắng.

“Các nút sẽ tuân theo chuỗi hợp lệ với nhiều công việc nhất…Từ khóa ở đây là hợp lệ. Nếu nút nhận được một khối mà nó xác định là không hợp lệ, thì bất kể có bao nhiêu công việc được thực hiện trên khối đó, nút đó sẽ không chấp nhận chuỗi đó.” — Andrew Chow

Từ khóa là “hợp lệ”. Mối đe dọa xuất hiện khi người khai thác tìm thấy một khối mà một số người khai thác và nút khác cho rằng không hợp lệ. Những người khai thác cho rằng nó hợp lệ sẽ cố gắng xây dựng các khối mới trên chuỗi đó. Những người khai thác cho rằng nó không hợp lệ sẽ cố gắng xây dựng trên khối hợp lệ cuối cùng mà họ biết. Kết quả: Hai chuỗi và không cách nào biết được chuỗi nào đúng.

Làm thế nào trên thế giới một điều như vậy sẽ xảy ra?

Chà, như chúng ta đã thấy trong trường hợp lỗi gần đây với các nút LND, nếu có một lỗi trong một lần triển khai Bitcoin mà không có trong các lần triển khai khác, điều đó có thể dẫn đến sự thiếu đồng thuận về việc liệu một khối có hợp lệ hay không.

Bitcoin không có cơ chế để khắc phục điều này. Cộng đồng bên ngoài giao thức phải quyết định điều gì sẽ xảy ra tiếp theo. Nghe có vẻ rất khó chịu.

Nhiều đến mức nhà phát triển Bitcoin Peter Todd đã nói rằng các cách triển khai khác cần phải phù hợp với từng lỗi của Bitcoin Core.

Thế đấy: Triển khai nhiều lần rất nguy hiểm!

Các triển khai khác của Bitcoin là gì và tại sao chúng tồn tại?

Trước hết, hầu hết mọi người đều chạy Bitcoin Core.

Luke Dashjr thấy khoảng 43,000 nút, 98% trong số đó đang chạy Bitcoin Core và thứ gọi là Coin Dance có gần 15,000 nút, 96% trong số đó đang chạy Bitcoin Core. Vì vậy, hiện tại, có vẻ như rất ít người đang sử dụng các phương pháp triển khai thay thế.

Tuy nhiên, có những dự án đang hoạt động đang cố gắng xây dựng và duy trì các cơ sở mã khác triển khai giao thức Bitcoin. Chúng bao gồm:

Jameson Lopp có một trang tuyệt vời với danh sách đầy đủ hơn và liên kết đến tất cả các triển khai khác.

Tất cả các dự án này đều có các nhà phát triển cực kỳ tài năng đang làm việc trên chúng và mỗi dự án đều đã tồn tại hơn một vài năm. Tại sao phải bỏ quá nhiều công sức vào một việc có vẻ như là một vấn đề như vậy?

Bitcoin không được phép. Bất cứ ai cũng có thể tải xuống chuỗi; bất kỳ ai cũng có thể tương tác với mạng; và không ai có thể ngăn cản bạn viết mã hoặc chạy một triển khai thay thế.

Tuy nhiên, rõ ràng một số người phụ trách về việc thực hiện các thay đổi đối với kho lưu trữ Bitcoin và quá trình chọn chúng có vẻ không chính thức. Trong khi có Quy trình Đề xuất Cải tiến Bitcoin (BIP) việc đề xuất những thay đổi đối với Bitcoin Core cũng khá thân mật.

Không ai trong số này là một vấn đề trực tiếp. Như Marty Bent đã chỉ ra, sự đồng thuận thô bạo có thể là sức mạnh. Nếu quá trình thay đổi Bitcoin khó khăn và không rõ ràng, điều đó có nghĩa là những thay đổi đó sẽ được xem xét kỹ lưỡng hơn.

Bước tiếp theo của sự đồng thuận sơ bộ là có nhiều hơn một triển khai phổ biến.

Không có nhiều triển khai có thể nguy hiểm hơn

Không thể nghi ngờ rằng việc trở thành một trong những người cam kết truy cập vào Bitcoin Core đã là một công việc rất khó khăn. Trong một thế giới nơi Bitcoin đóng vai trò trung tâm như một công cụ tiền tệ, công việc này sẽ trở nên khó khăn hơn nhiều. Một nhóm nhỏ các nhà phát triển có thể trở thành mục tiêu rất đáng giá. Ít nhất, sự chú ý của họ sẽ được tìm kiếm để vận động hành lang cho nhiều sự bổ sung hoặc loại trừ khác nhau trong bản phát hành phần mềm tiếp theo.

Hãy nghĩ về ngành vận động hành lang hiện đang tồn tại trong chính trị. Tại sao điều như vậy không phát triển xung quanh những người có quyền truy cập vào việc triển khai duy nhất giao thức Bitcoin?

Giống như các chính trị gia bây giờ, họ sẽ được coi là có quyền tiếp cận quyền lực. Như vậy, mọi người sẽ nhắm mục tiêu vào họ, ngoại trừ việc những nhà phát triển này sẽ không có đủ cơ sở nhà nước để bảo vệ họ. Cuộc sống đó sẽ như thế nào? Ai sẽ tự nguyện chọn nó?

Cuối cùng, hệ thống tài chính toàn cầu là một gánh nặng khá nặng đè lên vai một nhóm nhỏ những người có quyền truy cập vào một kho lưu trữ GitHub. Có lẽ không quá khác biệt so với hệ thống tài chính toàn cầu mà chúng ta đang cố gắng thoát khỏi nơi tương lai tiền tệ của mọi người phụ thuộc vào quyết định của một số thống đốc ngân hàng trung ương.

Nhiều triển khai để giải cứu!

Sự hiện diện và sử dụng rộng rãi nhiều triển khai trên mạng Bitcoin có thể giảm thiểu những áp lực này bằng cách khiến tác nhân độc hại khó thay đổi giao thức Bitcoin hơn nhiều.

Nếu những người tham gia mạng Bitcoin được phân bổ đồng đều hơn giữa các triển khai khác nhau thì sẽ có nhiều chỗ hơn cho những ý tưởng hay xuất hiện. Đề xuất thay đổi đối với Bitcoin hoặc từ chối chúng sẽ mang tính phi tập trung hơn rất nhiều nếu tất cả không được thực hiện trong một phe.

Rõ ràng, việc sử dụng các cách triển khai Bitcoin khác nhau sẽ làm tăng nguy cơ chia tách chuỗi. Một sự phân chia chuỗi thảm khốc – trong đó một phần đáng kể các nút và công cụ khai thác vô tình bị chia tách – sẽ không tốt cho Bitcoin và chắc chắn không tốt cho giá của nó. Nhưng nó sẽ không đe dọa đến bản chất không cần cấp phép của Bitcoin.

Một môi trường phát triển tập trung nơi mọi người chỉ xây dựng trên Bitcoin Core có thể đe dọa đến tình trạng không được phép. Cuộc trò chuyện về chủ đề này cần giải quyết các rủi ro khi phụ thuộc quá nhiều vào Bitcoin Core thay vì chỉ tập trung vào những vấn đề có thể xảy ra do việc triển khai thay thế.

Có một người lớn tuổi hơn bài viết về cuộc tranh luận này của Aaron van Wirdum. Bạn cũng có thể đọc một bài viết gần đây hơn, chủ đề thông tin về nó.

Đây là một bài viết của khách Bill Scoresby. Các ý kiến ​​được bày tỏ hoàn toàn là của riêng họ và không nhất thiết phản ánh quan điểm của BTC Inc hoặc Bitcoin Magazine.

Dấu thời gian:

Thêm từ Tạp chí Bitcoin