Reusable Proofs of Work

แปลโดย : Claude 3 Opus (Pro)

Reusable Proofs of Work

By the 2000s, about a decade after Finney began advocating for electronic cash in Extropian circles, there still was no successful electronic cash system. Although an array of ideas had been discussed on the Cypherpunks mailing list, and Finney had personally reviewed many of the proposals, none of them had taken off. In some cases, like Chaum’s or Hettinga’s startups, this was because the product turned out to not be commercially viable—or at least that’s what it had seemed like. But in other cases, like Nick Szabo’s Bit Gold or Wei Dai’s b-money proposals, the systems had never been implemented in the first place.

Perhaps it was because of his expectations for the potential of electronic cash had been more restrained than that of Tim May and other crypto-anarchists in the first place, or maybe it was just because of his generally optimistic character, but where many other Cypherpunks had by this time grown disillusioned, Finney wanted to give the idea another go. He decided to finally develop a proof of work-based electronic cash system—even if it had to be done in a simplified form.

In 2004, he launched Reusable Proofs of Work, or RPOW (pronounced as “arpow”) for short. He invited people to try the system out, advertising the electronic cash scheme on a simple blue-and-green web page featuring an RPOW logo in comic book style. (Think of the “POW” letters marking the spot where Batman’s uppercut meets some poor henchman’s jaw.)

“Security researcher Nick Szabo has coined the term bit gold to refer to a similar concept of tokens which inherently represent a certain level of effort,” Finney wrote on the project’s website. “Nick's concept is more complex than the simple RPOW system, but his insight applies: in some ways, an RPOW token can be thought of as having the properties of a rare substance like gold. It takes effort and expense to mine and mint gold coins, making them inherently scarce.”

Where Bit Gold was designed around a “property club,” RPOW, too, would be managed by dedicated servers. For the prototype, Finney had set up an RPOW server himself, which performed the basic operations needed to make the electronic cash system work: it issued new RPOW tokens (the currency units), and checked that tokens weren’t being double-spent.

Importantly, the RPOW server would only issue new tokens if one of two conditions was met: either a valid hash had to be submitted, or an older token had to be deposited in exchange.

The first option was a straightforward proof-of-work function. If user Alice wanted an RPOW token, she would have had to connect with Finney’s server (potentially over Tor for optimal privacy), take some data unique to the server and to herself, and start hashing it until she’d find a valid hash (starting with enough zeroes). She’d then send the hash to the server, which would check it for validity, and (if valid) send her a unique RPOW token in return—really just a unique string of data. The server would also store a copy of the token in a local database.

When Alice wanted to spend the RPOW token, let’s say to buy an MP3 file, she’d simply send it to the intended recipient, Bob. It wouldn’t technically matter for the RPOW system how she’d send it, as long as she’d be sure it made its way to Bob without anyone intercepting it. (A message to Bob encrypted with his public key would do the trick.)

When Bob would receive the RPOW token, he’d need to validate it, and make sure it hadn’t been double-spent. He’d therefore immediately forward the token to the RPOW server, which would check that it was included in its internal database, and wasn’t double-spent. If valid, the server would confirm this to Bob, so he could send Alice the MP3 file. The server would also mark the RPOW token as spent, deeming it invalid for future use.

Finally, the server would issue Bob a new RPOW token, and include this new token in its internal database. As such, Bob could spend this new token later on.

So let’s say Bob were to spend his new RPOW token to buy access to Carol’s website. As Carol received Bob’s RPOW token, she’d once again send it to Finney’s RPOW server. The server would confirm validity, mark it as spent in its internal database, and issue a new RPOW token to Carol, which would in turn also be added to the server’s internal database.

In this way, the proof of work represented by a single valid hash (created by Alice) could effectively continue circulating indefinitely. It was, indeed, reusable proof of work.

หลักฐานการทำงานแบบใช้ซ้ำได้

ในทศวรรษ 2000 ราวๆ สิบปีหลังจากที่ฟินนีย์เริ่มสนับสนุนเงินสดอิเล็กทรอนิกส์ในวงการ Extropian ก็ยังไม่มีระบบเงินสดอิเล็กทรอนิกส์ที่ประสบความสำเร็จ แม้ว่าจะมีการอภิปรายแนวคิดมากมายในเมลลิ่งลิสต์ของ Cypherpunks และฟินนีย์เองก็ได้ตรวจสอบข้อเสนอจำนวนมากด้วยตัวเอง แต่ก็ไม่มีข้อเสนอไหนที่ได้รับความนิยม ในบางกรณี เช่น สตาร์ทอัพของชอมหรือเฮตติงกา สาเหตุก็เพราะผลิตภัณฑ์กลายเป็นสิ่งที่ไม่คุ้มทางการค้า หรืออย่างน้อยก็ดูเหมือนจะเป็นอย่างนั้น แต่ในกรณีอื่นๆ เช่น ข้อเสนอ Bit Gold ของนิก ซาโบหรือ b-money ของเวย์ ได้ ระบบเหล่านั้นไม่เคยถูกนำมาใช้จริงตั้งแต่แรก

อาจเป็นเพราะความคาดหวังต่อศักยภาพของเงินสดอิเล็กทรอนิกส์ของเขาถูกจำกัดมากกว่าของทิม เมย์และพวกอนาธิปไตยนิยมเข้ารหัสคนอื่นๆ แต่แรก หรืออาจเป็นเพียงเพราะบุคลิกที่มองโลกในแง่ดีโดยทั่วไปของเขา แต่ในขณะที่ Cypherpunks คนอื่นๆ อีกหลายคนรู้สึกผิดหวังในเวลานี้ ฟินนีย์กลับอยากให้ความคิดนี้อีกโอกาสหนึ่ง เขาตัดสินใจที่จะพัฒนาระบบเงินสดอิเล็กทรอนิกส์ที่ใช้พิสูจน์งานเป็นพื้นฐานสักที แม้ว่าจะต้องทำในรูปแบบที่เรียบง่ายก็ตาม

ในปี 2004 เขาเปิดตัว Reusable Proofs of Work หรือเรียกสั้นๆ ว่า RPOW (ออกเสียงว่า "อาร์เพาว์") เขาเชิญชวนให้ผู้คนลองใช้ระบบนี้ โดยโฆษณาแผนการเงินสดอิเล็กทรอนิกส์บนเว็บเพจแบบเรียบง่ายสีน้ำเงินและเขียวที่มีโลโก้ RPOW ในสไตล์หนังสือการ์ตูน (ลองนึกถึงตัวอักษร "POW" ที่ทำเครื่องหมายจุดที่หมัดอัปเปอร์คัทของแบทแมนชกเข้าที่ขากรรไกรของสมุนน่าสงสาร)

"นักวิจัยด้านความปลอดภัยนิก ซาโบได้ใช้คำว่าบิตโกลด์ (bit gold) เพื่ออ้างถึงแนวคิดที่คล้ายกันของโทเคนที่แสดงถึงระดับความพยายามที่แน่นอนโดยธรรมชาติ" ฟินนีย์เขียนในเว็บไซต์ของโครงการ "แนวคิดของนิกซับซ้อนกว่าระบบ RPOW อย่างง่าย แต่ข้อคิดของเขาก็ใช้ได้ ในบางแง่มุม โทเคน RPOW อาจถือได้ว่ามีคุณสมบัติของสารหายากอย่างทองคำ มันต้องใช้ความพยายามและค่าใช้จ่ายในการขุดและผลิตเหรียญทองคำ ทำให้มันหายากโดยธรรมชาติ"

ในขณะที่ Bit Gold ถูกออกแบบให้อยู่รอบๆ "สโมสรทรัพย์สิน" RPOW ก็จะถูกจัดการโดยเซิร์ฟเวอร์เฉพาะเช่นกัน สำหรับต้นแบบ ฟินนีย์ได้ตั้งเซิร์ฟเวอร์ RPOW ขึ้นมาเอง ซึ่งทำการดำเนินการพื้นฐานที่จำเป็นเพื่อให้ระบบเงินสดอิเล็กทรอนิกส์ทำงานได้ มันออกโทเคน RPOW ใหม่ (หน่วยสกุลเงิน) และตรวจสอบว่าโทเคนไม่ได้ถูกใช้จ่ายซ้ำ

สิ่งสำคัญคือ เซิร์ฟเวอร์ RPOW จะออกโทเคนใหม่ก็ต่อเมื่อเงื่อนไขข้อใดข้อหนึ่งใน 2 ข้อเป็นจริงเท่านั้น คือต้องส่งแฮชที่ถูกต้อง หรือต้องฝากโทเคนเก่าแลกเปลี่ยน

ตัวเลือกแรกคือฟังก์ชันพิสูจน์งานแบบตรงไปตรงมา ถ้าผู้ใช้อลิซต้องการโทเคน RPOW เธอจะต้องเชื่อมต่อกับเซิร์ฟเวอร์ของฟินนีย์ (อาจผ่าน Tor เพื่อความเป็นส่วนตัวที่เหมาะสม) เอาข้อมูลที่ไม่ซ้ำกันบางอย่างจากเซิร์ฟเวอร์และตัวเธอเอง แล้วเริ่มแฮชมันจนกว่าจะพบแฮชที่ถูกต้อง (เริ่มต้นด้วยศูนย์มากพอ) จากนั้นเธอจะส่งแฮชไปยังเซิร์ฟเวอร์ ซึ่งจะตรวจสอบความถูกต้อง และ (ถ้าถูกต้อง) ส่งโทเคน RPOW ที่ไม่ซ้ำกันกลับมาให้เธอ ซึ่งจริงๆ แล้วก็แค่สตริงข้อมูลที่ไม่ซ้ำ เซิร์ฟเวอร์ก็จะเก็บสำเนาของโทเคนไว้ในฐานข้อมูลท้องถิ่นด้วย

เมื่ออลิซต้องการใช้จ่ายโทเคน RPOW สมมติว่าเพื่อซื้อไฟล์ MP3 เธอก็แค่ส่งมันไปให้ผู้รับที่ต้องการ นั่นคือบ๊อบ โดยทางเทคนิคแล้วมันไม่สำคัญสำหรับระบบ RPOW ว่าเธอจะส่งมันอย่างไร ตราบใดที่เธอมั่นใจว่ามันไปถึงบ๊อบโดยไม่มีใครดักได้ (ข้อความถึงบ๊อบที่เข้ารหัสด้วยกุญแจสาธารณะของเขาก็ทำได้)

เมื่อบ๊อบได้รับโทเคน RPOW เขาจะต้องตรวจสอบความถูกต้อง และมั่นใจว่ามันไม่ได้ถูกใช้ซ้ำ ดังนั้น เขาจะส่งต่อโทเคนไปยังเซิร์ฟเวอร์ RPOW ทันที ซึ่งจะตรวจสอบว่ามันรวมอยู่ในฐานข้อมูลภายในหรือไม่ และไม่ได้ถูกใช้ซ้ำ หากถูกต้อง เซิร์ฟเวอร์จะยืนยันกับบ๊อบ เพื่อที่เขาจะได้ส่งไฟล์ MP3 ให้อลิซ เซิร์ฟเวอร์ก็จะทำเครื่องหมายโทเคน RPOW ว่าถูกใช้ไปแล้ว ถือว่าใช้ไม่ได้สำหรับอนาคต

สุดท้าย เซิร์ฟเวอร์จะออกโทเคน RPOW ใหม่ให้บ๊อบ และเพิ่มโทเคนใหม่นี้เข้าไปในฐานข้อมูลภายใน ดังนั้น บ๊อบจึงสามารถใช้โทเคนใหม่นี้ในภายหลังได้

สมมติว่าบ๊อบจะใช้โทเคน RPOW ใหม่ของเขาเพื่อซื้อการเข้าถึงเว็บไซต์ของแคโรล เมื่อแคโรลได้รับโทเคน RPOW ของบ๊อบ เธอก็จะส่งมันไปยังเซิร์ฟเวอร์ RPOW ของฟินนีย์อีกครั้ง เซิร์ฟเวอร์จะยืนยันความถูกต้อง ทำเครื่องหมายว่าใช้แล้วในฐานข้อมูลภายใน และออกโทเคน RPOW ใหม่ให้แคโรล ซึ่งก็จะถูกเพิ่มเข้าไปในฐานข้อมูลภายในของเซิร์ฟเวอร์ด้วยเช่นกัน

ด้วยวิธีนี้ หลักฐานการทำงานที่แสดงโดยแฮชที่ถูกต้องเพียงอันเดียว (ที่อลิซสร้างขึ้น) จะสามารถหมุนเวียนต่อไปได้อย่างไม่มีที่สิ้นสุด มันเป็นหลักฐานการทำงานแบบใช้ซ้ำได้จริงๆ

Last updated