dapps primer

you aren't in a hurry. here be research problems. take it slow and carefully read everything.

background

https://www.call-cc.org/

https://golang.org/

protocol

Tracker

+------------------------------------------------------------------------------+
| +------------------------------------------+ +-------------+ +------------+  |
| |                    krpc                  | |     dns     | | hypermesh  |  |
| |                                          | +-------------+ |  ethernet  |  |
| |                                          +---------------+ |  batman    |  |
| |                                                          | |  ip        |  |
| +----------------------------------------------------------+ |  cjdns     |  |
| +---------------------------+  +---------------------------+ |  loki      |  |
| |          recondb          |  |         registry          | |  yggdrasil |  |
| |                           |  |                           | |            |  |
| |                           |  |                           | |            |  |
| +---------------------------+  +---------------------------+ |            |  |
| +---------------+  +---------------------------------------+ |            |  |
| |      dht      |  |                sigchain               | |            |  |
| |               |  |                                       | |            |  |
| |               |  |                                       | |            |  |
| +---------------+  +---------------------------------------+ |            |  |
| +------------------------------------------------------------+            |  |
| |                                                                         |  |
| |                                                                         |  |
| |                                                                         |  |
| +-------------------------------------------------------------------------+  |
+------------------------------------------------------------------------------+

hypermesh

encrypted multi-protocol overlay network. services can specify network type requirements. users can select the primary network type for their mesh and enable network bridges as needed.

physical network

  • IP
  • BATMAN
  • ethernet

logical network

  • Tor
  • Loki
  • CJDNS
  • Yggdrasil

urpc

krpc-compatible messaging system with extensions.

DNS

  • Registry
  • OpenNIC/ICANN (via Tor, cached in registry)
  • other namespaces

Tracker DNS replaces the DNS resolver in your system or network with a secure decentralized registry that can resolve names in a variety of namespaces. the most basic entry is a cryptographic pet name which can be assigned to any addressable resource by the owner of the registry. records are labelled with cryptographic capabilities which control who they are visible to. peers may resolve records they have access to as subdomains of the pet name they associate with your identity or registry key.

lets say bob has published a record for his website. remember, this record is stored in his tracker registry, not at an ICANN or OpenNIC registrar.

{
  "name": "blog",
  "ttl": 3600,
  "type": "AAAA",
  "value": "fccf:269d:7560:0e5f:6c2c:85fd:ee42:9d4f"
}

alice recieves this record via tracker replication. for the sake of simplicity, lets assume her label for bob is also bob.

dig blog.bob

;; QUESTION SECTION:
;blog.bob.     IN AAAA

;; ANSWER SECTION
blog.bob. 3600 IN AAAA fccf:269d:7560:0e5f:6c2c:85fd:ee42:9d4f

;; Query time: 10 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

pet names MUST be unique from the perspective of the registry. clients MAY use a peer's self label as a pet name as long as that name is unique and does not belong to another namespace.

namespace bridge

if you operate a tracker gateway, you can also bridge domains from any supported namespace into tracker by publishing cryptographic assertions that can be used to verify your ownership of the domain. there will be some requirements on the nameserver to ensure the integrity of the link records.

DHT

SigChain

ReconDB

hosts exchange replication keys which are used to fetch database updates from DHT.

Registry

apps

Tracker has a fairly large protocol overhead, which makes it unsuitable for use and an embedded database. the preferred approach is to have several applications running under the built in supervision system.

results matching ""

    No results matching ""