Bất kỳ thách thức tính toán nào có thể được chuyển thành bằng chứng công việc?


20

Sự khai thác dường như vô nghĩa của việc khai thác tiền điện tử đã đặt ra câu hỏi về các lựa chọn thay thế hữu ích, hãy xem những câu hỏi này trên Bitcoin , CST , MO . Tôi tự hỏi liệu có tồn tại một thuật toán có thể chuyển đổi thực tế bất kỳ thách thức tính toán nào (có giải pháp có thể được xác minh hiệu quả) thành một thách thức khác như vậy \ Psi (\ mathcal C) (được sử dụng để chứng minh công việc) khôngCΨ(C)

  1. Hàm Ψ được chọn ngẫu nhiên, sử dụng một số chuỗi ngẫu nhiên (công khai) r .
  2. Giải quyết Ψ(C)thường khó như giải quyết C .
  3. Nếu một giải pháp được tìm thấy cho , sau đó là một giải pháp có thể được tính hiệu quả cho thử thách ban đầu .xΨ(C)CΨ1(x)C
  4. Biết một giải pháp cho không giúp ích gì trong việc tìm kiếm giải pháp cho . Ψ ( C )CΨ(C)

4 '(Cập nhật). Như Nô-ê đã chỉ ra trong một nhận xét, điều kiện trước cần được tăng cường để yêu cầu rằng tiền xử lý cũng không được cung cấp bất kỳ lợi thế nào trong việc giải . Ψ ( C )CΨ(C)

Điều kiện cuối cùng này là cần thiết để không ai có thể đưa vào một vị trí thuận lợi chỉ bởi vì họ biết dung dịch . Sử dụng phương pháp này, mọi người có thể gửi các vấn đề tính toán mà họ muốn giải quyết và cơ quan trung ương có thể chọn một số giải pháp xứng đáng (như tìm người ngoài hành tinh so với phá mật khẩu). Lưu ý rằng nó dường như không phải là vấn đề nếu vấn đề chỉ mất một tuần để giải quyết (tôi đoán những người ngoài hành tinh đó không thể che giấu tốt như vậy;), vì điều này có thể mang lại phần thưởng lớn hơn cho giải pháp. Dù sao, những chủ đề này không liên quan đến giải pháp cho vấn đề lý thuyết của tôi, nhưng tất nhiên tôi rất vui được thảo luận về chúng trong các bình luận / trên diễn đàn.C

Một giải pháp khả thi sẽ là như sau: maps thành , nghĩa là, để giải quyết và một số thách thức khó tính toán khác. Một vấn đề với điều này là việc biết một giải pháp cho sẽ giúp việc giải quyết có phần dễ dàng hơn (dễ dàng hơn bao nhiêu tùy thuộc vào độ khó của ). Một vấn đề khác là ngày càng trở nên khó khăn hơn .C ( C , H Một S H r ) C C Ψ ( C ) H Một S H r Ψ ( C ) CΨC(C,HASHr)CCΨ(C)HASHrΨ(C)C


3
Có lẽ điều này có thể có liên quan: eprint.iacr.org/2017/203.pdf
Andreas

3
Sự khác biệt giữa "thử thách tính toán" và "thử thách bằng chứng công việc" là gì?
Hoặc Meir

2
Chắc chắn, nhưng định nghĩa về bằng chứng công việc thường đòi hỏi phải xem xét một số thách thức, vì tài sản cốt lõi xác định chúng là không thể khấu hao. Đây là lý do tại sao các công việc như eprint.iacr.org/2017/203.pdf đã được thực hiện - bạn cần đảm bảo không thể khấu hao cho hầu hết tất cả các ứng dụng của PoW, đặc biệt là tiền điện tử. Dù sao, bạn đang tìm kiếm một giải pháp có thể kiểm chứng công khai, hoặc một giải pháp có thể kiểm chứng riêng tư là đủ? Bạn có muốn một kế hoạch thực tế hiệu quả, hoặc bạn ổn với một giải pháp lý thuyết?
Geoffroy Couteau

5
@domotorp tại sao bạn nghĩ rằng eprint.iacr.org/2017/203.pdf không liên quan đến câu hỏi của bạn?
Alon Rosen

5
Mặc dù nó không cung cấp sự giảm bớt từ bất kỳ vấn đề tồi tệ nhất nào trong P, bài báo đưa ra PoW hữu ích dựa trên một loạt các vấn đề. Cụ thể, bất kỳ vấn đề nào có thể giảm xuống đối với vectơ trực giao (OV), bao gồm tất cả các vấn đề về đồ thị có thể thống kê được trong logic thứ nhất. Nó cũng áp dụng cho vấn đề k-OV (được phỏng đoán yêu cầu khoảng n ^ k thời gian), cũng như các vấn đề khác từ thế giới phức tạp hạt mịn. Vì vậy, trong khi có lẽ không chung chung như bạn mong đợi, kết quả vẫn khá chung chung. Và đối với các vấn đề tôi đã đề cập ở trên, các thuộc tính 1-4 thực sự hài lòng.
Alon Rosen

Câu trả lời:


8

( Lưu ý : Andreas Bjorklund đã đề xuất một giải pháp trong các nhận xét mà tôi tin là tốt hơn so với mô tả bên dưới. Xem http://eprint.iacr.org/2017/203 , bởi Ball, Rosen, Sabin và Vasudevan. Tóm lại, họ đưa ra bằng chứng về công việc dựa trên các vấn đề như Orthogonal vectơ có độ cứng được hiểu rõ và theo đó nhiều vấn đề (ví dụ, k-SAT) có thể được giảm tương đối hiệu quả. Ví dụ PoW của họ cũng khó như một vectơ trực giao trong trường hợp xấu nhất, ngay cả khi trường hợp đầu vào dễ dàng, để chúng tránh được nhược điểm lớn của giải pháp được mô tả bên dưới.CΨ(C)C

Giải pháp được mô tả dưới đây có thể được hưởng lợi từ sự đơn giản của nó --- nó có thể được mô tả cho một người không phải là chuyên gia --- nhưng theo tôi về mặt lý thuyết thì nó ít thú vị hơn nhiều.)

Một giải pháp là có thể nếu người ta đưa ra giả định mạnh mẽ rằng "thuật toán nhanh nhất cho là ngẫu nhiên về cơ bản" (và nếu chúng ta mô hình hóa hàm băm mật mã như một lời tiên tri ngẫu nhiên). Một cách để chính thức hóa điều này là nói rằngC

  1. CTFNPFP (nếu không, tôi đoán đó không thực sự là một thách thức hợp lệ);
  2. thuật toán ngẫu nhiên nhanh nhất cho chạy trong thời gian dự kiến trên một ví dụ điển hình; và TCT
  3. tồn tại một hàm tính toán hiệu quả từ đến miền của các giải pháp cho cho sao cho luôn tồn tại với một giải pháp cho .{ 0 , 1 } k C k log 2 T s { 0 , 1 } k f ( s ) Cf{0,1}kCklog2Ts{0,1}kf(s)C

Lưu ý rằng giả định ngụ ý rằng tìm kiếm vũ phu của về cơ bản là thuật toán tối ưu cho . Vì vậy, đây là một giả định khá mạnh mẽ. Mặt khác, nếu không thỏa mãn các tính chất này, thì tôi khó có thể tưởng tượng được việc thỏa mãn cả hai điều kiện của bạn (2) và (4).{ 0 , 1 } k C Cklog2T{0,1}kCC

Sau đó, được cung cấp hàm băm , mà chúng ta mô hình hóa như một lời tiên tri ngẫu nhiên, chúng ta xác định như sau, trong đó đối với một số là đầu vào ngẫu nhiên cho . Mục tiêu là xuất ra sao cho là một giải pháp cho . Nói cách khác, nên băm thành "đồng tiền ngẫu nhiên tốt" cho thuật toán trên.Ψ H ( C ; r ) r { 0 , 1 } » k Ψ H x { 0 , 1 } * f ( H ( r , x ) ) C ( r , x )H:{0,1}{0,1}kΨH(C;r)r{0,1}kΨHx{0,1}f(H(r,x))C(r,x)

Hãy xem điều này đáp ứng tất cả các điều kiện của bạn.

  1. "Hàm được chọn ngẫu nhiên, sử dụng một số chuỗi ngẫu nhiên (công khai) ." Kiểm tra!rΨr
  2. "Giải quyết thường khó như giải ." Lưu ý rằng thuật toán ngẫu nhiên đơn giản cho chạy trong thời gian dự kiến ​​nhiều nhất là cộng với chi phí đa thức và theo giả định về cơ bản là thời gian chạy của thuật toán tối ưu cho .C Ψ H ( C , r ) 2 kΨ(C)CΨH(C,r)2kC2kTC
  3. "Nếu tìm thấy giải pháp cho , thì giải pháp có thể được tính toán một cách hiệu quả cho thử thách ban đầu ." Điều này có thể được thực hiện bằng cách tính toán , đây là một giải pháp cho bằng giả định.Ψ ( C ) Ψ - 1 ( x ) C f ( H ( r , x ) ) CxΨ(C)Ψ1(x)Cf(H(r,x))C
  4. "Biết một giải pháp cho không giúp ích gì trong việc tìm kiếm giải pháp cho ." Theo định nghĩa, việc giải quyết yêu cầu tìm sao cho là một giải pháp cho . Vì chúng ta đã mô hình hóa như một lời tiên tri ngẫu nhiên, chúng ta có thể hạ thấp thời gian chạy dự kiến ​​của bất kỳ thuật toán nào giải quyết vấn đề này bằng độ phức tạp truy vấn dự kiến ​​tối ưu của vấn đề truy vấn trong đó được đưa ra bởi một hộp đen và chúng ta được yêu cầu tìm một giải pháp cho cùng một vấn đề. Và, một lần nữa vì là một nhà tiên tri ngẫu nhiên, độ phức tạp truy vấn dự kiến ​​chỉ là nghịch đảo của phần tử các phần tử Ψ ( C ) Ψ H ( C ; r ) x f ( H ( r , x ) ) C H H H x { 0 , 1 } k C T 2 k 2 - kk r { 0 , 1 } H C r CCΨ(C)ΨH(C;r)xf(H(r,x))CHHHx{0,1}k là các giải pháp (tối đa là một yếu tố không đổi). Theo giả định, thời gian chạy dự kiến ​​tối ưu của bất kỳ thuật toán nào cho là , ngụ ý rằng phân số này không thể lớn hơn . Vì và được chọn thống nhất một cách ngẫu nhiên, điều này thậm chí đúng với tiền xử lý được phép phụ thuộc vào và (nhưng không phải ) và đặc biệt là đúng ngay cả khi chúng ta biết trước một giải pháp cho .CT2k2kkr{0,1}HCrC

Đây là một giải pháp rất tốt đẹp. Nơi duy nhất mà tôi thấy khả năng cải thiện là điều kiện (2). Đối với nhiều vấn đề trong , có các thuật toán trong thời gian cho một số . Sẽ thật tuyệt nếu một cái gì đó như thế này có thể được bảo tồn, nhưng tôi không chắc liệu nó có thể được thực hiện hay không. Chắc chắn phương pháp của bạn đã vượt trội so với phương pháp hiện đang được sử dụng cho tiền điện tử! c n c < 2NPcnc<2
domotorp

Trên thực tế, có lẽ thậm chí không cần phải thay đổi nhiều trong blockchain. Chỉ cần cộng đồng có thể đồng ý rằng tại một số thời điểm nhất định, một cần phải được thêm vào blockchain có hàm băm giải quyết bất kỳ vấn đề thực tế nào. Trên thực tế, có thể blockchain tiêu chuẩn có thể tiếp tục và đây có thể chỉ là một thử thách độc lập, độc lập. Có thể trên thị trường một ví dụ solo như vậy sẽ có giá trị hơn so với tiền truyền thống, giống như Rogue One tốt hơn sw7 hoặc sw8. x
domotorp

Vui vì bạn thích nó :). Tôi chỉ muốn làm rõ rằng trong khi các điều kiện của tôi về có nghĩa là "tìm kiếm vũ phu trên một số không gian tìm kiếm về cơ bản là tối ưu", thì chúng không ngụ ý rằng tìm kiếm vũ phu trên không gian tìm kiếm ban đầu về cơ bản là tối ưu. Ví dụ, đối với SAT, điều này không giống như yêu cầu thuật toán nhanh nhất để chạy trong thời gian . 2 nC2n
Nô-ê Stephens-Davidowitz

Trong trường hợp sáng tác - ví dụ: vấn đề tính toán thừa nhận một định nghĩa vấn đề trong đó vấn đề tính toán có thể bao gồm các vấn đề nhỏ hơn, giải pháp của nó dễ dàng hơn và có một giải pháp không dựa trên thành phần, sẽ không giải thích được cho vấn đề này ?
dùng3483902

Tôi nghĩ một vấn đề khác với giải pháp này là những gì bạn đã chỉ ra trong một nhận xét cho câu hỏi của tôi, cụ thể là, nếu ai đó có thể tiền xử lý một cách hiệu quả, họ có thể có được lợi thế nghiêm trọng. Tôi nghĩ rằng đây là một vấn đề khá nhạy cảm. Hãy tưởng tượng rằng tôi gửi một vấn đề mà giải pháp (trong một định dạng chuẩn) có thể được kiểm tra trong n thời gian, nhưng tôi có một phương pháp bí mật để kiểm tra xem nó trong Cn thời gian. Điều này cho phép tôi khá là một lợi thế để giải quyếtΨ(C). nΨ(C)
domotorp

1

Kỹ thuật đơn giản sau đây mà tôi gọi là kỹ thuật xổ số giải pháp (SLT) có thể được sử dụng cùng với các kỹ thuật khác (chẳng hạn như có nhiều vấn đề POW, kỹ thuật được đề cập trong câu trả lời của Noah Stephens-Davidowitz, v.v.) để giúp biến đổi các thách thức tính toán thành bằng chứng khả thi vấn đề công việc. SLT giúp cải thiện các vấn đề với các vấn đề khai thác tiền điện tử ngoài các điều kiện 1-4.

Giả sử rằng là một thách thức tính toán của các hình thức “tìm một hash phù hợp k cùng với một chuỗi x như vậy ( k , x ) D .”Ckx(k,x)D

Vấn đề thiết lập : Giả sử rằng D là một tập hợp, H là hàm băm mật mã và C là một số hằng. Giả sử hơn nữa rằng dữ liệu ( k , x ) là một mẩu thông tin đó là dễ dàng để có được sau khi một xác định rằng ( k , x ) D nhưng mà không thể có được bằng cách khác.Ψ(C)DHCData(k,x)(k,x)D

Vấn đề Mục tiêu: Tìm một cặp ( k , x ) như vậy mà k là một hash phù hợp và ở đâu ( k , x ) D , và nơi H ( k | | x | | Dữ liệu ( k , x ) ) < C .Ψ(C)(k,x)k(k,x)DH(k||x||Data(k,x))<C

Bây giờ chúng ta hãy điều tra làm thế nào vấn đề thỏa mãn các yêu cầu 1-4.Ψ(C)

  1. Chúng ta phải giả sử đã được chọn ngẫu nhiên cho SLT để đáp ứng tính chất này.C

2-3. thường sẽ ngày càng trở nên khó khăn hơn so với C và đây là một điều tốt. Khó khăn của một vấn đề chứng minh công việc cần phải được điều chỉnh một cách tinh vi, nhưng vấn đề ban đầu C có thể có hoặc không có mức độ khó điều chỉnh tốt (hãy nhớ rằng khó khăn trong việc khai thác Bitcoin được điều chỉnh hai tuần một lần). Khó khăn của vấn đề Ψ ( C ) bằng với khó khăn trong việc tìm kiếm một số thích hợp ( k , x ) D nhân với 2 nΨ(C)CCΨ(C)(k,x)D . Do đó, vì hằng sốClà mịn du dương, những khó khăn củaΨ(C)cũng là mịn du dương.2nCCΨ(C)

Mặc dù vấn đề là khó khăn hơn vấn đề gốc C , gần như tất cả các công việc để giải quyết các vấn đề Ψ ( C ) sẽ được chi cho chỉ đơn giản là tìm kiếm một cặp ( k , x ) với ( k , x ) D thay vì tính toán băm (người ta không thể tính liệu H ( k | | x | | Dữ liệu ( k , x ) ) < CΨ(C)CΨ(C)(k,x)(k,x)DH(k||x||Data(k,x))<Chay không cho đến khi ai đã tính toán và người ta không thể tính toán dữ liệu ( k , x ) trừ khi một xác nhận rằng dữ liệu ( k , x ) D ).Data(k,x)Data(k,x)Data(k,x)D

Tất nhiên, thực tế là khó hơn C thể hiện một số mối quan tâm mới. Đối với một vấn đề hữu ích, nó rất có thể là trường hợp đó người ta sẽ muốn để lưu trữ các cặp ( k , x ) nơi ( k , x ) D ở một số cơ sở dữ liệu. Tuy nhiên, để nhận phần thưởng khối, các thợ mỏ phải chỉ tiết lộ một cặp ( k , x ) nơi ( k , x ) DH ( k | |Ψ(C)C(k,x)(k,x)D(k,x)(k,x)D thay vì tất cả các cặp ( k , x ) D bất kể H ( k | | x | | Dữ liệu ( k , x ) ) < C hay không. Một giải pháp khả thi cho vấn đề này là cho các thợ mỏ chỉ đơn giản là tiết lộ tất cả các cặp ( k , x ) trong đó ( k , x )H(k||x||Data(k,x))<C(k,x)DH(k||x||Data(k,x))<C(k,x) lịch sự. Thợ mỏ cũng sẽ có khả năng từ chối chuỗi nếu những người thợ mỏ đã không được đăng chia sẻ công bằng của họ về cặp ( k , x ) D . Có lẽ, ta nên đếm số lượng các cặp ( k , x ) D để tính như những người có chuỗi giá trị dài nhất là tốt. Nếu hầu hết các thợ mỏ gửi giải pháp của họ, sau đó quá trình giải quyết Ψ ( C ) sẽ sản xuất cũng giống như nhiều giải pháp như quá trình giải quyết C .(k,x)D(k,x)D(k,x)DΨ(C)C

Trong kịch bản mà những người thợ mỏ gửi tất cả các cặp , Ψ ( C ) sẽ đáp ứng tinh thần của điều kiện 2-3.(k,x)DΨ(C)

  1. có thể hoặc không thể đáp ứng điều kiện 4 tùy thuộc vào vấn đề cụ thể.Ψ(C)4

Other Advantages of this technique:

SLT cung cấp các lợi thế khác ngoài các điều kiện 1-4 là mong muốn hoặc cần thiết cho một vấn đề chứng minh công việc.

  1. CΨ(C)CΨ(C)C

  2. CCCCA

APCPC

PCPC

Quy trình loại bỏ vấn đề này rất tốn kém về máy tính và trình xác nhận. Tuy nhiên, SLT loại bỏ hầu hết các khó khăn tính toán của kỹ thuật này để có thể sử dụng nó nếu cần trong một loại tiền điện tử (những trường hợp mà kỹ thuật này được sử dụng có lẽ sẽ khá hiếm).

  1. CCCCΨ(C)(k,x)(k,x)DH(k||x||Data(k,x))CΨ(C)Ψ(C)

  2. PeλxλP

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.