Unique decentralized identifiers present significant human interface challenges. We begin to address these with two research papers exploring petnames, self-proclaimed names, and edge names.
We’d like to thank NLnet for funding both the implementation of a petnames system in Goblin Chat and for their generous grants supporting this research.
Petnames: A humane approach to secure, decentralized naming
HTML ODT ORG
This paper is co-authored with Mark Miller, Zachary Larson, Kate Sills and Eli Yaacoby. It is an introduction to petname system design and describes how it can meet the challenges of implementing naming in a distributed application.
Implementation of a petnames system in an existing chat application
HTML ODT ORG
This paper documents our experiences implementing a petname system inside Goblin Chat, a peer-to-peer social application. The paper walks you through the methods used to build up the features of a petname system, as well as results and surprises we met along the way.
2 Likes
Feedback on Petnames: A humane approach to secure, decentralized naming
Overall it’s a wonderfully clear and concise overview.
A few minor editing suggestions:
- Section 2.1: “The rendering it done in terms of a live mapping;” should be “The rendering is done in terms of a live mapping;”
- Footnote 7: This content is essentially present in the body of section 2.2. (three paragraphs after the footnote).
- Inconsistent usage of “petnames system” versus “petname system”.
Feedback on Implementation of a petnames system in an existing chat application
It’s nice to see such a deep-dive into implementation issues and rationale.
Some suggested edits:
- Section 2.2: “See the Spritely Goblins paper for a detailed description of the underlying framework, but now provide a brief summary to help understand how we implemented the petnames system.” should maybe say “but we now provide”?
- Section 2.2: ‘Objects can fulfill multiple functions by means of provided multiple “methods”.’ could be ‘Objects can fulfill multiple functions by providing multiple “methods”.’
- Section 2.3.1: “We implement this with a bi-directional hashmap that can be serialized to disk and restored.” is repeated at the beginning and end of the same paragraph.
- Section 2.3.3: “As elided to in initiating the subscription” should be “As alluded to in initiating the subscription”
- Section 3: “in contrast to the relative each of implementing” should be “in contrast to the relative ease of implementing”
I may have missed it, but I don’t recall reading about how you handle the case where multiple contacts have an edge-name for the same onion-address. How do you choose which one to display?