Cách các giao thức P2P tìm cách giải quyết vấn đề tập trung khai thác Bitcoin Thông minh dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Cách các giao thức P2P tìm cách giải quyết vấn đề tập trung khai thác Bitcoin

Các nhóm khai thác bitcoin dựa trên sự tập trung, nhưng P2Pool và các giao thức khác đã tìm cách giảm nhu cầu tin tưởng vào các bên thứ ba.

Trong một bài viết trước, Tôi đã viết về bản chất của phân quyền so với tập trung trong khai thác Bitcoin và cách khái niệm hóa điều đó theo nghĩa chủ yếu là định tính. Bài viết đã chia nhỏ toàn bộ ngăn xếp khai thác, từ điều phối nhóm toàn bộ đến sản xuất năng lượng để cung cấp cho bạn cảm giác về mối quan hệ giữa các lớp khác nhau của ngăn xếp khai thác và tiềm năng tối đa hóa sự phân cấp, khiến bạn càng đi sâu xuống ngăn xếp. đi theo hướng sản xuất năng lượng, càng khó khăn hơn và thâm dụng vốn để mang lại một mức độ phân cấp có ý nghĩa cho tầng đó.

Trong bài viết này, tôi dự định đi sâu hơn vào chủ đề của các nhóm khai thác và sự phối hợp của người khai thác để tạo điều kiện cho các hoạt động khai thác thuộc sở hữu độc lập hợp tác với nhau trong nỗ lực khai thác các khối để gắn vào blockchain.

Việc tạo ra các hồ khai thác

Khai thác đã đi một chặng đường dài kể từ những ngày bạn có thể chỉ cần nhấp vào một nút và tự mình khai thác các khối một cách đáng tin cậy trên một CPU máy tính xách tay. Hồi đó, đó thực sự là một nỗ lực của những người chơi nghiệp dư mà không cần đầu tư vốn thực sự hay chuyên môn, nhưng ngày nay nó là một thị trường chuyên nghiệp trị giá hàng tỷ đô la với quy mô đầu tư lớn cần thiết. Đó là một trò chơi bóng hoàn toàn khác.

Một trong những hậu quả tự nhiên của sự thay đổi này trong bản chất của ngành công nghiệp khai thác là việc tạo ra các mỏ khai thác từ rất sớm. Khi quá trình khai thác đang diễn ra hiệu quả, hãy để một máy tính xách tay chạy trong góc, sự khác biệt và không thể đoán trước được khi nào bạn sẽ tìm thấy khối không thực sự là vấn đề lớn - cuối cùng, bạn sẽ làm như vậy và chi phí năng lượng để giữ cho một máy tính xách tay hoạt động không thực sự kinh tế. tầm quan trọng.

Khi mọi thứ chuyển sang GPU và ASIC, sẽ có một khoản chi phí đầu tư vật chất lên trước và chi phí điện đáng kể hơn nhiều để duy trì hoạt động của chúng. Sự không thể đoán trước được về thời điểm bạn tìm thấy một khối đã trở thành một vấn đề lớn hơn nhiều đối với những người khai thác đang cố gắng thu hồi vốn đầu tư của họ và hoạt động có lãi. Đây là nơi mà các nhóm khai thác xuất hiện trong bức tranh.

Họ cho phép các thợ đào hợp tác để tìm ra một tiêu đề khối hợp lệ hoạt động trên cùng một khối với nhau, gửi phần thưởng coinbase đến nhóm khai thác, sau đó phân phối nó theo tỷ lệ giữa tất cả các thợ đào tham gia liên quan đến lượng công việc họ đã làm trong việc giúp tìm kiếm khối. Điều này được chứng minh bằng cách chuyển “cổ phần” vào nhóm khai thác; các khối không đáp ứng mục tiêu độ khó mạng nhưng đủ cao để chứng minh rằng thợ đào không nói dối và thực sự đang chạy phần cứng và cố gắng tìm một khối hợp lệ.

Tập trung hóa nhóm khai thác

Các nhóm khai thác tập trung có ý nghĩa lớn đối với các thợ đào cá nhân. Chúng là một điểm tập trung trong quá trình lựa chọn (hoặc quan trọng hơn là loại trừ) các giao dịch để đưa vào một khối. Điều này cung cấp cho mỗi nhà điều hành nhóm khai thác toàn quyền kiểm soát các giao dịch mà họ chọn để xử lý trên blockchain, không có khả năng cho chủ sở hữu thực tế của phần cứng khai thác đưa ra tiếng nói về điều đó ngoại trừ bằng cách rời khỏi nhóm nếu họ không đồng ý với các tiêu chí mà toán tử chọn để thiết lập.

Họ cũng lưu giữ bitcoin của từng người khai thác cho đến khi những người khai thác đó chọn rút chúng khỏi nhóm, để nhà điều hành nhóm hoạt động như một người giám sát và điểm trung tâm có thể lừa gạt những người khai thác sử dụng nhóm hoặc bị áp lực bởi chính phủ để chiếm đoạt tiền của từng người khai thác hoặc áp dụng KYC yêu cầu đối với họ.

Vì vậy, những giải pháp tồn tại để giải quyết vấn đề này?

P2Pool: Nhóm khai thác phi tập trung ban đầu

P2Bể bơi là giao thức nhóm khai thác phi tập trung ban đầu. Nó là một giao thức ngang hàng trong đó các thợ đào phối hợp với nhau để chia phần thưởng khai thác khi họ làm việc cùng nhau để tìm ra một khối hợp lệ đáp ứng mục tiêu khó khăn. Sự phối hợp này được thực hiện bằng cách sử dụng cái mà thiết kế giao thức gọi là “chuỗi chia sẻ”.

Các thợ đào trong P2Pool lấy các khối không đáp ứng mục tiêu độ khó của mạng và khai thác hiệu quả chuỗi khối của riêng họ bao gồm tất cả các bản sao của khối duy nhất mà nhóm đang làm việc. Khi họ gặp mục tiêu có độ khó nhỏ hơn, nơi khối sẽ được biến thành một nhóm để chứng minh rằng họ đang khai thác trong một mô hình tập trung, họ sẽ phát khối đó cho những người khai thác còn lại. "Khó khăn chia sẻ" của P2Pool đã được nhắm mục tiêu để các thợ đào sẽ tìm thấy một phần khoảng ba mươi giây một lần.

Tôi chắc rằng độc giả đang thắc mắc về cách thức hoạt động của khoản thanh toán cho từng thợ đào. Giao dịch coinbase được cấu trúc để tạo ra một đầu ra cho từng người khai thác riêng lẻ trong P2Pool, phân chia tiền trực tiếp từ giao dịch coinbase. Những người khai thác trong Công cụ P2P xác minh rằng tất cả các khoản thanh toán cho chính họ và mọi người tham gia vào nhóm là chính xác và mỗi người khai thác đã đóng góp một phần vào chuỗi chia sẻ được thanh toán chính xác cho công việc của họ trong mỗi phần chia sẻ mới được thêm vào. Nếu một số người khai thác tham gia không cấu trúc đúng các khoản thanh toán cho mọi người trong phần chia sẻ mới nhất của họ, thì tất cả những người khai thác khác trong P2Pool sẽ ngừng đưa họ vào các khoản thanh toán của riêng họ và “đuổi” người khai thác đó ra khỏi nhóm một cách hiệu quả vì hành vi không công bằng.

Thiết kế này dẫn đến một số vấn đề về tỷ lệ và đó là lý do tại sao nó không được sử dụng nữa. Khi sự tham gia vào P2Pool tăng lên, mục tiêu khó khăn tổng hợp cho các cổ phiếu trong chuỗi chia sẻ cũng vậy, mục tiêu này sẽ nhắm mục tiêu khoảng 2 giây một lần. Điều này có nghĩa là đối với những người khai thác nhỏ hơn, việc gặp khó khăn trong chuỗi chia sẻ trở nên khó khăn hơn trong bất kỳ khoảng thời gian ba mươi giây nào. Điều này có nghĩa là đối với những người khai thác nhỏ hơn, phương sai, hoặc tính không thể đoán trước, trong thu nhập của họ tăng lên khi tỷ lệ băm tổng hợp trong P2Pool tăng lên. Điều này cũng dẫn đến số lượng khối cũ lớn hơn vì nhiều thợ đào đang tìm kiếm các cổ phiếu cạnh tranh cho chuỗi chia sẻ gần như cùng lúc với nhiều thợ đào tham gia PXNUMXPool, dẫn đến “công việc lãng phí” theo quan điểm của từng thợ đào chỉ nhận được được đền bù nếu phần của họ được bao gồm trong chuỗi chia sẻ.

Vấn đề chính khác về khả năng mở rộng là trong các khoản thanh toán trực tiếp cho các thợ đào riêng lẻ từ chính giao dịch coinbase. Cho rằng mỗi người khai thác được thanh toán tương ứng với số cổ phần mà họ đã khai thác được bao gồm trong chuỗi chia sẻ, mỗi người khai thác trong P2Pool yêu cầu một đầu ra mới được thêm vào trong giao dịch coinbase.

Điều này có hai hệ quả. Thứ nhất: Những người khai thác đang được cung cấp các UTXO nhỏ, giá trị thấp trong mỗi khối mà P2Pool tìm thấy, điều này đi kèm với chi phí cô đọng các đầu ra đó sau này và / hoặc chịu chi phí của các giao dịch lớn hơn nhiều khi họ tiêu tiền của mình vì nhiều UTXO riêng lẻ mà họ kết hợp, thay vì một UTXO duy nhất khi rút tiền sau một khoảng thời gian từ nhóm thông thường. Thứ hai: Mỗi đầu ra của coinbase mới đang chiếm không gian khối có thể được sử dụng bởi các giao dịch của người khác và kiếm được nhiều hơn từ P2Pool từ doanh thu phí. Đó là một thiệt hại gấp đôi cho những người khai thác tham gia vào giao thức.

Hai vấn đề này đã góp phần làm cho giao thức dần chết đi và cuối cùng rơi vào trạng thái không được sử dụng. Bằng tất cả các dấu hiệu từ nỗ lực tốt nhất của tôi để theo dõi số liệu thống kê chính xác và gần đây (nhiều trình khám phá khối cũ theo dõi chia sẻ nhóm khai thác đã ngừng hoạt động trong nhiều năm), có vẻ như khối cuối cùng được khai thác bởi P2Pool đã được bật 12 Tháng hai, 2019.

P2Pool với các khoản thanh toán qua kênh thanh toán

Vào năm 2017, một tháng sau khi kích hoạt SegWit bị khóa, Chris Belcher đã thực hiện đề nghị để cải thiện khả năng mở rộng của P2Pool với việc sử dụng các kênh thanh toán một chiều và một nhóm các trung tâm xử lý các khoản thanh toán cho các thợ đào.

Mục đích cốt lõi của đề xuất là giải quyết vấn đề các giao dịch coinbase lớn hơn làm mất tiền của thợ đào theo hai cách khác nhau. Ở cấp độ cao, ý tưởng chỉ đơn giản là thanh toán toàn bộ giao dịch coinbase cho một trung tâm có các kênh thanh toán mở cho các thợ đào riêng lẻ và đảm bảo rằng khả năng yêu cầu tiền từ giao dịch coinbase được liên kết nguyên tử với các thợ đào được bồi thường cho chia sẻ của họ qua các kênh thanh toán.

Để đạt được mục tiêu đồng nhất giữa giao dịch coinbase và các kênh thanh toán cho các khoản thanh toán, tập lệnh đầu ra của giao dịch coinbase phải được tùy chỉnh. Trong đề xuất của Belcher, nó được cấu trúc như một tập lệnh nhiều nhánh với ba điều kiện chi tiêu:

  • Một hai trong hai nhiều khối lượng. Chìa khóa một: trung tâm (Hc). Chìa khóa hai: người khai thác đã tìm thấy khối (Mc).
  • Một khóa duy nhất và một khóa băm. Chìa khóa: trung tâm (H). Hashlock: một giá trị ngẫu nhiên được tạo bởi hub (X).
  • Một chìa khóa duy nhất và một khóa thời gian. Chìa khóa: người khai thác đã tìm thấy khối (M). Timelock: thời gian tương đối CSV là sáu tháng.

Bất kỳ một trong các điều kiện chi tiêu này đều có thể được sử dụng để mở khóa đầu ra của giao dịch coinbase. Bây giờ, hãy xem tập lệnh kênh thanh toán cho các thợ đào để chúng ta có thể thấy hai thứ tương tác như thế nào:

  • Một hai trong hai nhiều khối lượng. Chìa khóa một: trung tâm (Hc1). Chìa khóa hai: thợ mỏ (Mc1).
  • Một hai trong hai đa ký tự và một mã băm. Chìa khóa một: trung tâm (Hu1). Chìa khóa hai: công cụ khai thác (Mu1). Hashlock: giá trị ngẫu nhiên được tạo bởi trung tâm được sử dụng trong coinbase (X).

Bây giờ, chúng ta hãy xem xét cách hai thứ này tương tác với nhau.

Khi các công ty khai thác đang sản xuất cổ phiếu để thêm vào chuỗi chia sẻ, trung tâm sẽ giám sát tiến trình. Đối với mỗi lượt chia sẻ, trung tâm cập nhật trạng thái của kênh với những người khai thác có lượt chia sẻ để trả cho họ tương ứng với khối lượng công việc họ đang làm. Tuy nhiên, họ chỉ cung cấp cho họ chữ ký cho đường dẫn tập lệnh thứ hai yêu cầu chi tiêu tiền mã hóa băm - điều này đảm bảo rằng theo mặc định, nếu không có trung tâm cung cấp cho họ chữ ký cho đường dẫn đầu tiên, họ không thể yêu cầu các khoản tiền đó trừ khi trung tâm chi tiêu coinbase tự xuất bằng cách sử dụng đường dẫn tập lệnh với hashlock, yêu cầu chúng xuất bản preimage.

Bây giờ, cuối cùng một trong những người khai thác trong P2Pool sẽ tìm thấy một khối hợp lệ và xuất bản nó lên mạng. Tại thời điểm này, trung tâm có thể cập nhật tất cả các kênh thanh toán với người khai thác và cung cấp chữ ký cho đường dẫn tập lệnh đầu tiên trong kênh, cho phép mỗi người khai thác đóng kênh của họ và thu thập phần thưởng họ kiếm được bất cứ khi nào họ muốn mà không cần khóa băm hình ảnh trước.

Tại thời điểm này, người khai thác đã tìm thấy khối ký hiệu đường dẫn tập lệnh đầu tiên trong coinbase, cho phép trung tâm nhận tiền từ coinbase. Người khai thác đó được thưởng một chút từ phần thưởng khai thác để khuyến khích họ ký hợp tác. Nhưng hãy nhớ rằng: nếu người khai thác từ chối hợp tác, trung tâm có thể tự chi tiêu bằng cách sử dụng đường dẫn hashlock và tiết lộ hình ảnh trước, cho phép tất cả các thợ đào thu thập phần thưởng công bằng của họ.

Điều này chỉ có nhược điểm là buộc tất cả các kênh phải đóng theo chuỗi, cần được mở lại để tiếp tục khai thác. Tùy chọn cuối cùng tồn tại trong trường hợp nhà điều hành trung tâm chọn ngừng xử lý các khoản thanh toán hoặc biến mất. Sau sáu tháng, người khai thác tìm thấy khối có thể yêu cầu hoàn toàn số tiền nếu trung tâm không phản hồi hợp tác hoặc đã chi tiêu số tiền bằng đường dẫn hashlock.

Điều này để lại hai vấn đề cụ thể về mô hình mối đe dọa với những cải tiến được đề xuất của Belcher. Việc quyết định các giao dịch nào sẽ bao gồm trong một khối để lại khoảng chênh lệch về tổng phần thưởng khối dựa trên những gì mà các thợ đào cá nhân chọn để đưa vào các mẫu khối mà họ đang khai thác.

Khi giới thiệu các kênh thanh toán, điều này tạo ra một biên độ sai sót, tức là phần thưởng khối được khai thác thực tế không bằng với những gì một trung tâm khai thác cam kết trong các kênh thanh toán cho thợ đào. Trong trường hợp ước tính phí thực tế nhỏ hơn so với phần thưởng khối, trung tâm có thể chỉ cần cập nhật các kênh thanh toán bằng cách sử dụng đường dẫn chi tiêu hợp tác với số tiền thấp hơn và miễn là họ không yêu cầu đầu ra của coinbase với đường dẫn băm, những người khai thác không có lựa chọn nào khác ngoài việc chấp nhận khoản thanh toán thấp hơn phù hợp với phần thưởng khai thác thực sự là.

Trong trường hợp phần thưởng khai thác cao hơn một chút so với ước tính, lợi ích tốt nhất của trung tâm vẫn là cập nhật các kênh cho người khai thác để phản ánh điều này, vì những người khai thác mà trung tâm xử lý không trung thực có thể rời đi bất cứ lúc nào. Trường hợp cạnh tranh duy nhất có thể có ý nghĩa khi trung tâm đào thải và giữ lại phần thưởng bổ sung là nếu ai đó trả một khoản phí cho người khai thác lớn bất thường, nhưng ngoài tình huống đó, lợi ích của trung tâm và người khai thác có thể điều chỉnh cho phù hợp với bất kỳ sự khác biệt nào giữa phần thưởng ước tính và phần thưởng khối thực tế.

Vấn đề thứ hai là trung tâm là điểm trung tâm có thể bị tấn công DDoS và buộc phải ngăn P2Pool hoạt động. Đề xuất của Belcher liên quan đến việc sử dụng nhiều trung tâm và gửi từng giao dịch coinbase từ các khối khác nhau đến các trung tâm khác nhau. Tuy nhiên, điều này yêu cầu các thợ đào phải mở các kênh từ tất cả các trung tâm mà họ đang sử dụng, theo ước tính của Belcher, một trung tâm cần gấp 50 lần phần thưởng khối (khoảng 650 BTC) để cung cấp thanh khoản cho các thợ đào, trở nên cực kỳ kém hiệu quả về vốn.

Braidpool: Một lần lặp lại khác

đăng ký hạng mục thi bím tóc (cảnh báo: liên kết là tệp PDF tải xuống trực tiếp từ GitHub). Braidpool là một đề xuất từ ​​Bob McElrath và tòa nhà Kulpreet Singh dựa trên đề xuất của Belcher bằng cách sử dụng các kênh thanh toán. Có hai thay đổi chính được đưa ra nhằm cải thiện các vấn đề còn tồn tại với đề xuất của Belcher.

Đầu tiên là sự thay đổi trong cách các trung tâm và công cụ khai thác giao tiếp với nhau. Họ đề xuất yêu cầu các thợ đào đính kèm địa chỉ Tor v3 cho mỗi lượt chia sẻ mà họ phát sóng vào nhóm. Bằng cách này, trung tâm có thể hoạt động mà không để lộ bất kỳ điểm cuối mạng nào dễ bị tấn công DoS.

Sau đó, nhà điều hành trung tâm có thể kết nối với những người khai thác để mở và cập nhật các kênh với họ, giảm bớt nhu cầu cho những người khai thác sử dụng nhiều trung tâm để tránh một điểm tấn công duy nhất. Điều này cho phép Braidpool hoạt động với một trung tâm duy nhất, làm cho toàn bộ hệ thống mạnh mẽ hơn và tiết kiệm vốn hơn.

Cách các giao thức P2P tìm cách giải quyết vấn đề tập trung khai thác Bitcoin Thông minh dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.
Nguồn: Sách trắng Braidpool

Thay đổi thứ hai là việc sử dụng biểu đồ xoay chiều có hướng (DAG) thay vì một chuỗi chia sẻ. Vấn đề với chuỗi chia sẻ là, với mục tiêu thời gian chia sẻ thứ ba mươi hai, độ khó yêu cầu đối với cổ phiếu tăng lên khi quy mô nhóm tăng lên, gây khó khăn hơn cho các công ty khai thác nhỏ hơn. Sử dụng DAG như Ethereum, nơi nó không phải là một trò chơi tổng bằng không của một cổ phiếu duy nhất đưa nó vào chuỗi chia sẻ và những người khác bị mồ côi, cho phép người khai thác tự động đặt độ khó cho các cổ phiếu có thể được điều chỉnh dựa trên tỷ lệ băm mà họ có và cách thức thường xuyên họ có thể tìm thấy những chia sẻ với nó.

Cấu trúc DAG bao gồm tất cả những người đã tham gia vào nó giữa các khối Bitcoin thực tế được tìm thấy, phân phối phần thưởng theo tỷ lệ giữa mọi người dựa trên công việc mà họ đã cung cấp cho DAG. Điều này giải quyết vấn đề mở rộng phương sai cho từng thợ đào khi các nhóm phát triển lớn hơn.

Ngoài hai thay đổi này, phần còn lại của cấu trúc giống như đề xuất của Belcher, coinbase và các tập lệnh kênh đều giống nhau.

Kết luận:

Một số độc giả có thể thắc mắc tại sao Betterhash không được đề cập trong bài viết này. Trong khi phân quyền lựa chọn các giao dịch để đưa vào một khối, nó không phân cấp đầy đủ tất cả các chức năng của nhóm - quan trọng nhất là tính chất giám sát của các quỹ xử lý nhóm. Điều này khiến các thợ đào có thể bị ép buộc thông qua việc từ chối thanh toán tiền nếu người khai thác đang chọn các giao dịch mà nhóm không chấp thuận. Do đó, tôi sẽ không coi nó là một nhóm khai thác phi tập trung, mặc dù nó có cải thiện một chút tình hình trong một môi trường thù địch nhưng không hoàn toàn đầy đủ.

Bài viết này tập trung vào P2Pool và đề xuất các lần lặp lại để cải thiện các hạn chế về quy mô của nó. Vì mục đích không viết hết một cuốn sách, tôi không đề cập đến các thiết kế hiện có hoặc tiềm năng khác. Ngay khi tôi có thể tiếp cận, tôi dự định viết một bài tiếp theo về các cơ chế khác để phân cấp các nhóm khai thác.

Đây là một bài đăng của Shinobi. 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ải phản ánh ý kiến ​​của BTC Inc hoặc Tạp chí Bitcoin.

Dấu thời gian:

Thêm từ Tạp chí Bitcoin