Một vấn đề khiến nhiều người quan tâm là việc tập trung khai thác trong hệ sinh thái Bitcoin. May mắn thay, có những nhà phát triển tài năng làm việc để giải quyết vấn đề này và Matt Corallo, nhà phát triển Bitcoin toàn thời gian tại Chaincode Labs, là một trong số họ. Giao thức khai thác BetterHash của ông nhằm giảm đáng kể các vấn đề liên quan đến tập trung nhóm khai thác.

Bể khai thác là gì?

Trước tiên, điều quan trọng là phải hiểu có sự khác biệt các loại công cụ khai thác trên mạng. Với mục đích của bài viết này, chúng tôi sẽ đề cập đến một công cụ khai thác độc tấu của người Hồi giáo là một người khai thác một mình, một người khai thác là một người khai thác trong một mỏ khai thác và một nhà điều hành nhóm hồ bơi, điều khiển khu vực khai thác.

Khai thác một mình là rủi ro, vì chỉ có một phần tương đối nhỏ của năng lượng băm góp phần tạo ra khối. Khi một người khai thác solo tìm thấy một khối, phần thưởng có thể lớn hơn, nhưng các khoản thanh toán sẽ ít thường xuyên hơn. Vì lý do này, nhiều người khai thác tham gia nhóm để họ có thể nhận được khoản thanh toán thường xuyên với số tiền nhỏ hơn. Pooling là khi một số thợ mỏ (băm) tham gia cùng nhau và trả phần thưởng khối của họ vào một nồi. Khi bất kỳ ai trong số họ tìm thấy một khối, thay vì nhận toàn bộ phần thưởng khối, số tiền sẽ được phân phối cho tất cả các hàm băm trong nhóm tương ứng với số lượng tỷ lệ băm mà họ đóng góp cho mạng (trừ một khoản phí cho nhà điều hành nhóm). Theo cách này, một người khai thác nhỏ hơn nhận được các khoản thanh toán phù hợp hàng ngày – và, trong một số trường hợp, hàng giờ – cơ sở.

Nhìn chung, chức năng chính của nhóm khai thác là cung cấp các khoản thanh toán nhất quán cho các công ty khai thác để họ có thể giảm nguy cơ của họ. Nhóm khai thác cũng phục vụ các chức năng phụ quan trọng giúp cải thiện mạng lưới tổng thể. Ví dụ, một công cụ khai thác nhỏ hơn và ít kỹ thuật hơn có thể không muốn đối phó với sự phức tạp mà người vận hành nhóm phải đối mặt như lan truyền khối, tạo khối và các vấn đề kỹ thuật cao khác. Tham gia nhóm khai thác cung cấp cho các nhà khai thác ít kỹ thuật hơn một cách đơn giản để truy cập mạng để họ có thể tập trung vào thế mạnh của mình, chẳng hạn như điều hành một doanh nghiệp khai thác hiệu quả hoặc định vị năng lượng giá rẻ.

Tuy nhiên, vì điều này, hiện tại chỉ Một số ít, các nhóm khai thác lớn thống trị mạng lưới, dẫn đến mức độ tập trung hóa cao trong hệ thống.

Stratum là gì?

Stratum là lớp giao thức giữa hồ khai thác, khách hàng và phần cứng khai thác. Người dùng kết nối và liên lạc với nhóm thông qua giao thức Stratum. Trên một thiết bị phần cứng khai thác như ASIC, có một bảng điều khiển chạy một biến thể của phần mềm, chẳng hạn như CG Miner, sau đó, ông nói tiếng Strat Stratum và kết nối với nhóm. Nhóm này cho ASIC biết phải làm gì và ASIC trả lời bằng cách gửi lại cổ phần cho nhóm. Một chia sẻ là công việc mà ASIC đã thực hiện, về cơ bản là các khối không hoàn toàn hợp lệ, nhưng đủ để chứng minh rằng người khai thác đã đóng góp công việc cho bể bơi.

Mục tiêu đầu tiên của Corall dành cho BetterHash là thay thế Stratum và cải thiện nó những điểm yếu. Trong Đề xuất cải tiến Bitcoin (BIP) của Corallo, ông mô tả một số nhược điểm hiện tại của Stratum:

Không khó thực hiện và ghi chép kém, thiết kế giao thức Stratum yêu cầu các nhà khai thác nhóm xây dựng và phân phối các mẫu khối cho họ khách hàng Nếu không có nhiều công cụ khai thác xây dựng các mẫu khối, khả năng kiểm duyệt của mạng bị nguy hiểm (ví dụ: các nhà khai thác nhóm có thể sử dụng vị trí quyền lực của họ để hạn chế dòng nâng cấp giao thức). [[9009003]

Với Stratum, một nhà điều hành nhóm xác nhận rằng mỗi thợ mỏ đã đóng góp công việc cho hồ bơi. Nhà điều hành pool cũng chịu trách nhiệm tạo một mẫu khối xử lý lựa chọn giao dịch. Với việc không thể tạo mẫu khối, các thợ mỏ không kiểm soát được những gì họ đang khai thác. Một toán tử pool kiểm soát toàn bộ tốc độ băm của pool pool.

Điều này có vấn đề vì một toán tử pool, hoặc một nhóm nhỏ các toán tử pool, có thể có khả năng thông đồng bằng cách sử dụng sức mạnh băm này để thực hiện các cuộc tấn công độc hại trên mạng. Một diễn viên xấu với lượng năng lượng băm này có thể bắt đầu một cuộc tấn công 51% và thực hiện chi tiêu gấp đôi hoặc kiểm duyệt trên mạng. Ngoài ra, nếu một diễn viên độc hại chiếm quyền điều khiển máy chủ DNS hoặc không gian IP của nhóm, kẻ tấn công có thể đánh cắp tốc độ băm cho đến khi tất cả các thợ mỏ khai thác phần cứng ASIC của họ.

BetterHash so với Stratum

BetterHash nhằm ngăn chặn các loại vectơ tấn công này vì nó được thiết kế để cho phép người dùng chạy nút đầy đủ của riêng họ và xây dựng mẫu khối riêng của họ. Xây dựng mẫu khối của riêng bạn có nghĩa là bạn có thể chọn các giao dịch của riêng mình; ví dụ: các giao dịch có thể bị kiểm duyệt. Ngoài ra, các thợ mỏ có thể chọn khối nào họ đang khai thác để ngăn chặn các cuộc tấn công chi tiêu kép.

Mặc dù các mẫu khối có thể tùy chỉnh, các nhóm sẽ tiếp tục hoạt động như bình thường, phân phối lại phần thưởng khối liên quan đến sức mạnh băm với Các đặc tính kinh doanh và tần suất xuất chi giống nhau.

Corallo đã nhận xét trong một cuộc phỏng vấn với nhà phát triển Bitcoin Jimmy Song:

Hồi Chúng ta có thể chỉ có một nhóm cho toàn bộ mạng và nó sẽ không thực sự một vấn đề lớn. [[900900900]

Tổng quan về giao thức BetterHash và các ưu điểm của khối yếu

BetterHash bao gồm một bộ giao thức, khi được kết hợp, sẽ được cung cấp nhiều hơn tài liệu, hiệu quả, bảo mật và phân cấp cho các nhóm khai thác. Trong BIP của Matt Corallo, anh mô tả hai giao thức chính trong Cỗ máy BetterHash: Công việc và Bi-a. [[9009003]

Hồi Giao thức mang theo công việc thay thế cả getblocktemplate và Stratum khi được chuyển trực tiếp sang phần cứng khai thác, trong khi giao thức thanh toán quản lý tất cả pool <-> giao tiếp khách hàng. Sự phân tách của các chức năng này cung cấp cho người tham gia nhóm khả năng xây dựng các mẫu khối với các giao dịch mà họ (hoặc nhóm khác mà họ lựa chọn) đã chọn trong khi nhóm giám sát việc phân phối các khoản thanh toán. Đu

Các giao thức này cung cấp các hàm băm với thông tin về cách họ nên xây dựng một giao dịch coinbase (phần thưởng khối) cũng như nơi gửi phần thưởng khai thác. Ngoài ra, họ cung cấp cho người dùng thông tin về cách tải cổ phiếu lên nhóm để người khai thác có thể chứng minh rằng họ đã đóng góp công việc cho nhóm. Nhìn chung, việc tách hai giao thức này cho phép các trình băm tạo ra các mẫu khối tùy chỉnh trong khi vẫn nhận được lợi ích kinh tế mà nhóm khai thác mang lại.

Một tính năng bổ sung của giao thức nhóm là khả năng gửi các khối yếu, giúp các nhóm yếu tối ưu hóa việc truyền bá khối. Corallo mô tả giao thức này trong đề xuất của mình:

Hồi Giao thức Pool có một tính năng bổ sung tùy chọn cho các nhóm muốn tối ưu hóa việc truyền khối, theo đó khách hàng gửi WEAK_BLOCK đến máy chủ nhóm để tải lên các khối đầy đủ có hiệu quả. Nghi

Khối yếu không phải là một ý tưởng mới, nhưng chúng có thể có lợi khi được thực hiện thành công. Khối yếu là các chia sẻ mà người dùng thường xuyên gửi đến một nhóm. Hãy nhớ rằng, một chia sẻ là công việc đã được thực hiện bởi phần cứng khai thác nhưng không đủ cho một khối đầy đủ. Mỗi khi nhóm tìm thấy một khối mới có cùng độ khó như một khối yếu cũ, nhóm có thể gửi một phiên bản nén của khối yếu và so sánh nó với khối mới. Người dùng của nhóm gửi cổ phiếu hợp lệ qua tin nhắn WINNING_NONCE hoặc SHARE / WEAK_BLOCK. So sánh này cho phép nhóm tải lên các khối đầy đủ nhanh hơn và cuối cùng là tăng hiệu quả khai thác.

Mặc dù BetterHash có ý định trả lại năng lượng cho các thợ mỏ, nhưng cần có kiến ​​thức kỹ thuật để tạo mẫu khối. Không phải tất cả các thợ mỏ muốn đối phó với những phức tạp này. Vì lý do này, Corallo giải thích rằng ông không mong đợi các công ty khai thác kỹ thuật ít chuyển sang BetterHash qua đêm:

Thay đổi phần mềm tối ưu hóa cho người dùng của họ. Vì lý do này, tôi không nghĩ nhiều nhóm (người băm) quan tâm đến việc áp dụng một giao thức (BetterHash) như thế này khi nó đòi hỏi họ phải nỗ lực như quản lý và chạy một nút đầy đủ. [[9009003]

Những chỉ trích về BetterHash

Trong khi nhiều người lạc quan về tiềm năng của BetterHash trong việc giảm tập trung khai thác, đề xuất của Corallo đã nhận được một số lời chỉ trích. Một trong những lời chỉ trích nổi bật nhất về BetterHash đến từ Eric Voskuil, nhà phát triển Libbitcoin và người sáng lập Bitware Co. Voskuil tựa là đối số chính của BetterHash không làm giảm sự phân cấp. Ông đã mô tả quan điểm của mình về GitHub cũng như trong một cuộc thảo luận trên Twitter:

Đổi đề xuất này [BetterHash] không làm tăng tính bảo mật của #bitcoin thông qua việc phân cấp tăng lên, nó chỉ làm thay đổi quan điểm tập trung. Đây thực chất là một lỗ hổng mà ông [Matt Corallo] đã tạo ra trong công việc của mình trên các rơle. [[9009003]

Lý do BetterHash bị chỉ trích vì điều đó chỉ đơn thuần là thay đổi quan điểm tập trung là vì các nhà điều hành hồ bơi vẫn duy trì một lượng lớn quyền kiểm soát vì họ có thể buộc những người băm kiểm duyệt một số giao dịch nhất định trước nguy cơ không nhận được khoản thanh toán.

Để đáp lại lập luận này, Corallo nói với Tạp chí Bitcoin :

đúng là các nhóm vẫn có thể gây ảnh hưởng đến khách hàng của họ bằng cách bảo họ chạy các quy tắc nhất định hoặc họ sẽ từ chối thanh toán, điều này đòi hỏi phải có hành động tích cực đối với cả nhóm và khách hàng. Ngày nay, một nhóm có thể chuyển đổi đơn giản mà không cần thông báo cho người dùng của họ và nó sẽ yêu cầu một số nỗ lực đáng kể từ phía khách hàng để khám phá điều này, chứ đừng nói đến việc thông báo cho những người dùng khác trong cùng nhóm và chuyển sang đối thủ cạnh tranh. Với Betterhash, một pool sẽ cần thông báo cho người dùng của họ, tại thời điểm đó, người dùng sẽ dễ dàng chuyển đổi pool hơn là tắt các nút của họ. [[9009003]

Mặc dù phần mềm xây dựng nhóm khai thác và sử dụng BetterHash là hiện có sẵn, không có nhóm khai thác lớn đang sử dụng nó. Hôm nay, Corallo tiếp tục làm việc (trong số những thứ khác) tăng việc áp dụng BetterHash để những người khai thác sẽ có thêm lựa chọn trong tương lai.



Nguồn bitcoinmagazine