Zooko's triangle

{{Short description|Trilemma in computer science concerning network naming schemes}}

{{Use dmy dates|date=October 2020}}

Image:Zooko's Triangle.svg

Zooko's triangle is a trilemma of three properties that some people consider desirable for names of participants in a network protocol:{{cite web|author=Zooko Wilcox-O'Hearn|url=http://zooko.com/distnames.html|archive-url=https://web.archive.org/web/20011020191610/http://zooko.com/distnames.html|archive-date=2001-10-20|title=Names: Decentralized, Secure, Human-Meaningful: Choose Two}}

  • Human-meaningful: Meaningful and memorable (low-entropy) names are provided to the users.
  • Secure: The amount of damage a malicious entity can inflict on the system should be as low as possible.
  • Decentralized: Names correctly resolve to their respective entities without the use of a central authority or service.

Overview

Zooko Wilcox-O'Hearn conjectured that no single kind of name can achieve more than two. For example: DNSSec offers a human-meaningful, secure naming scheme, but is not decentralized as it relies on trusted root-servers; .onion addresses and bitcoin addresses are secure and decentralized but not human-meaningful; and I2P uses name translation services which are secure (as they run locally) and provide human-meaningful names – but fail to provide unique entities when used globally in a decentralised network without authorities.{{Efn|Zooko Wilcox-O'Hearn has since deleted the original blogpost}}

Solutions

Several systems that exhibit all three properties of Zooko's triangle include:

  • Computer scientist Nick Szabo's paper "Secure Property Titles with Owner Authority" illustrated that all three properties can be achieved up to the limits of Byzantine fault tolerance.Nick Szabo, [http://nakamotoinstitute.org/secure-property-titles/ Secure Property Titles] {{Webarchive|url=https://web.archive.org/web/20171124205314/http://nakamotoinstitute.org/secure-property-titles/ |date=24 November 2017 }}, 1998
  • Activist Aaron Swartz described a naming system based on Bitcoin employing Bitcoin's distributed blockchain as a proof-of-work to establish consensus of domain name ownership.Aaron Swartz, [http://www.aaronsw.com/weblog/squarezooko Squaring the Triangle: Secure, Decentralized, Human-Readable Names] {{Webarchive|url=https://web.archive.org/web/20110115224458/http://www.aaronsw.com/weblog/squarezooko |date=15 January 2011 }}, Aaron Swartz, 6 January 2011 These systems remain vulnerable to Sybil attack,Dan Kaminsky, [http://dankaminsky.com/2011/01/13/spelunk-tri/ Spelunking the Triangle: Exploring Aaron Swartz’s Take On Zooko’s Triangle] {{Webarchive|url=https://web.archive.org/web/20130116021932/http://dankaminsky.com/2011/01/13/spelunk-tri/ |date=16 January 2013 }}, 13 January 2011 but are secure under Byzantine assumptions.
  • Theoretician Curtis Yarvin implemented a decentralized version of IP addresses in Urbit that hash to four-syllable, human-readable names.{{Citation |title=Curtis Yarvin: Urbit- A Clean Slate Functional Operating Stack – λC 2016 |url=https://www.youtube.com/watch?v=bTisf4oxIFo |language=en |access-date=2022-07-09}}

Several platforms implement refutations of Zooko's conjecture, including: Twister (which use Swartz' system with a bitcoin-like system), Blockstack (separate blockchain), Namecoin (separate blockchain), LBRY (separate blockchain – content discovery, ownership, and peer-to-peer file-sharing),{{cn|date=July 2021}} Monero, OpenAlias,{{cite web |url=http://openalias.org/ |title=OpenAlias |author=Monero core team |date=2014-09-19 |access-date=2015-02-03 |archive-date=11 February 2015 |archive-url=https://web.archive.org/web/20150211014939/http://openalias.org/ |url-status=live }} Ethereum Name Service, and the Handshake Protocol.{{cite web |url=https://handshake.org/ |title=Handshake |author=Director of The Handshake Project |date=2021-07-12 |access-date=2021-09-02 |archive-date=25 August 2021 |archive-url=https://web.archive.org/web/20210825165310/https://handshake.org/ |url-status=live }}

See also

Notes

{{Notelist}}

References

{{reflist}}

{{Object-capability security}}

Category:Secure communication

Category:Decentralization