After great community collaboration DYOR has rebranded into CryptoWiki.me 🥳 a moment to celebrate!
From now on all new information will be added within the CryptoWiki.mecommunity website! No longer over here. So be sure to move over to stay on top of new research developments!
Same content - better & cleaner experience 🤝
DYOR started out in 2015 on Fandom and has now grown to ~3500 pages on CryptoWiki.me 🤩
All the information that you can find in these pages is public knowledge with sources provided. The community is encouraged to add truthful and unbiased entries to further this body of work.
Follow @cryptowiki_me on Twitter to be up to date on pages being created or edited.
"Handshake is a decentralized, permissionless naming protocol compatible with DNS where every peer is validating and in charge of managing the root zone with the goal of creating an alternative to existing certificate authorities. Its purpose is not to replace the DNS protocol, but to replace the root zone file and the root servers with a public commons."
"Handshake is a decentralized naming protocol for allocating ownership rights to Top Level Domains (TLD), such as a .com or a .org, which one can use for websites, email addresses, or crypto addresses. Handshake users can purchase the rights to a TLD through an auction system, where participants submit bids in the form of HNS tokens. The winning bidder then registers the TLD under their cryptographic keys by entering the pair into Handshake's Proof-of-Work (PoW) blockchain, which acts as a distributed alternative to Certificate Authorities (CAs)."
"Handshake, a project aiming to enable robust identity online by creating a decentralized alternative namespace for (primarily) domain names. Without going into excessive detail, the way the current domain name system works is appalling from both a governance and security standpoint—a single centralized entity (ICANN) decides what TLDs (.com, .org. etc) will be allowed to exist, and a large set of trusted (but in some cases VERY untrustworthy) certificate authorities manage the infrastructure that assures your browser that the website it is browsing is actually the real (e.g.) google.com. ICANN, despite token efforts to the contrary, is mostly captured by US interests, and domains which the USG doesn’t like have in the past been seized from their rightful owners via legal action against registrars.
What Handshake does is move the root of trust from ICANN to a blockchain (one which is very similar to Bitcoin in terms of its consensus rules), and uses an on-chain auction process to allow anyone to register a TLD that they wish to use. In practice this means that instead of me registering ericmeltzer.com (not actually mine, haha) and essentially having the right to rent “ericmeltzer” from Verisign in perpetuity, or until some random 3 letter agency decides they don’t like something I put up, I can register the .meltzer TLD on handshake, and direct a nameserver to point eric.meltzer to whatever site I choose. Put very simply, this brings Bitcoin’s “objectively verifiable possession” model to names! So now, instead of bouncing from registrar to registrar with the hellhounds of Elsevier hot on their heels, Scihub can simply register a domain on Handshake and have a permanently unseizable address for their service.
Why this is exciting from an “internet person” perspective should be obvious; unseizable domains, and also a massive opening-up of the namespace itself. I can’t wait to see who gets farts.poop first, and there are a couple of other goofy ones I won’t even mention here because I don’t want to get sniped. From an investor perspective my excitement mostly stems from the fact that domain names in aggregate are currently more valuable than all cryptocurrencies combined, so a more difficult to seize implementation of the naming system is very cool. Finally, with my crypto-person hat on, the Handshake system will also be very easy to use as a human-readable crypto addressing system! So if I register “eric/” on Handshake, I can then put a TXT record with my Bitcoin address, and people with compatible wallets can simply send Bitcoin to “eric” instead of a long human-unreadable address. This same logic can of course be followed for naming on any kind of system one might conceive of, from social networks to gaming. If this has piqued your interest and you’d like to read more about Handshake, there’s a fantastic article here."
"Handshake was a long-secret project spearheaded by Joseph Poon (co-creator of Bitcoin's Lightning Network and Plasma payment channels), Andrew Lee (CEO of Bitcoin payments gateway Purse), Christopher Jeffery (CTO of Purse and creator of Bitcoin node software Bcoin), Boyma Fahnbulleh (Bcoin developer), and Andrew Lee (Founder of VPN provider Private Internet Access). From the start, its goal was to build a decentralized alternative to the existing system for allocating and managing Top Level Domains (TLDs).
The current Domain Name System (DNS) stack relies on a group of Certificate Authorities (CAs) that work to verify the authenticity of website ownership and prevent malicious actors from intercepting search requests. Handshake is attempting to remove the reliance on these trusted third-parties by having its public Proof-of-Work (PoW) blockchain serve as the source of truth. Instead of registering a domain name with a CA and storing it on the root zone file, users can purchase a TLD with Handshake's native token, HNS, and register it under their public key on the decentralized Handshake network. The relationship between public keys and TLDs on Handshake is similar to that of an address and a user's UTXO account balance on Bitcoin. The Handshake software also originates from a fork of the Bitcoin client Bcoin, which was first developed by Christopher Jeffery."
Audits & Exploits
- Bug bounty program can be found [insert here].
“A flaw was discovered in the Handshake protocol that could unintentionally increase the total HNS coin supply beyond its designed limits,” the post reads. “A user with a reserved name claim could have accidentally generated small amounts of extra HNS by modifying their wallet. In the worst-case scenario, a malicious miner could generate nearly unlimited extra HNS in every block. The bug was never exploited and is now fixed.” Matthew Zipkin, former developer at BitGo and a contributor to Bcoin, alerted the team of the vulnerability on March 24."
"The Handshake intends to have a similar governance system to Bitcoin, whereby anyone in the Handshake open source community can submit improvement proposals advocating for a specific code change. By Bitcoin's standards, the community would openly debate any new proposal before deciding on whether to merge the software changes into the Handshake's client codebase. Once accepted and implemented, node operators must be persuaded to adopt the new changes. New changes are only considered successful or complete on-chain when the majority of network nodes download and run the new client code without breaking consensus."
Self Funding Mechanism
- No (15-9-2020).
- From its FAQ (15-9-2020):
"On the 615817th Bitcoin block height, the BTC blockhash will be committed into the Handshake genesis block. While it can be immediately mined, the genesis block is only locked in after six confirmations. After the first six confirmations of valid Bitcoin blocks, the genesis block will not change, even with a deep reorg. The code is available for download. Transactions will enabled after two weeks worth of blocks."
"The Handshake blockchain launched on Feb. 3, 2020, at Bitcoin block 615,817 (Fun fact: the pubkeyhash of Satoshi's first Bitcoin transaction to Hal Finney was used to generate the genesis block, so Satoshi, and only Satoshi, can claim Handhsake's first coinbase transaction). The release allowed miners to start creating new blocks in exchange for newly minted HNS but little else. HNS wasn't available for trading until the following day, and on-chain transactions and ability to claim domain names remained locked until Feb. 17, 2020 (or Handshake block 2016). Now, users are able to bid on Handshake-based TLDs through auction process run on specialized smart contracts. Namebase, a company established to act as an exchange, cloud wallet, and registrar for Handshake names, serves as an interface to facilitate these domain name auctions."
"Handshake has pioneered the advent of privacy-preserving airdrops. The top 250,000 GitHub users ranked by their number of followers with a minimum of 15 followers have had their SSH and PGP keys added to a Merkle tree. Likewise, an additional 30,000 keys were taken from the PGP WoT Strongset and added to the tree. In order to preserve privacy, each key included in the airdrop merkle tree has had a random nonce encrypted to it and posted publicly."
"Donations to other open-source projects: 1.36 billion coins have been earmarked to be distributed by the protocol over time to stakeholders in the greater FOSS and cryptocurrency communities who redeem their allocations by submitting various proofs.
- Pre-Launch Blockchain Development: 7.5%
- AKA the initial core development team
- Financial Contributors and Pricing: 7.5%
- AKA the initial investors
- Free and Open Source Software Developers: 65.0%
- The lion's share of the premine was used for a no-strings-attached airdrop to the FOSS community through crawling GitHub and the WoT Strongset for SSH and PGP keys. No cryptocurrency project in the history of this industry has done this before, and the library that was hand-written to enable this is open-source.
- Domain Name Holders: 7.5%
- AKA Alexa Top 100,000 TLD owners are incentivized to claim their names that have been pre-reserved on Handshake.
- CA/Naming Corporations and Other Blockchain Projects: 7.5%
- Non-Profits and FOSS Projects: 5%
- Other non-profit organizations"
- From this article (12-9-2020):
"HNS is used to pay for names. Initially, top-level domains are released into circulation through auctions. HNS is used to place bids in TLD auctions. TLD owners can then sell subdomain space in HNS.
HNS is also used as gas to pay transaction fees. Every auction bid, name transfer, or subsequent economic transaction on Handshake requires a fee denominated in HNS. In seven months, users have submitted 1.7M+ transactions.
HNS is locked in TLD auctions. Being locked refers to its use as escrow for users’ auction bids. In order for users to lock up HNS, it must maintain its value for the duration of an auction. Total HNS locked, today at over 27M, is a measure of HNS as a store of value asset.
Store of value assets should be provably scarce and HNS is increasingly so. Auction lockups temporarily constrain HNS supply. Winning bid amounts are burned from circulation, permanently constraining HNS supply. Nearly 10M HNS have been burned to date."
"Total HNS Burned is now 22.7M HNS, or 6% of circulating supply. Total HNS Burned is up 58% so far this year."
"For EC keys, the privacy preservation mechanism is straightforward and is something akin to HD key derivation, using the encrypted nonce as a scalar to derive a new key not known to the public. For RSA keys, a more novel approach, called GooSig, is necessary. All of this is required to obfuscate the link between the key and the key owner's real world identity. Every person with a valid key has several thousands of HNS coins tied to their keys when coin transfers are unlocked after 2016 blocks, or in approximately 24 hours from the time of publication, have been mined.
One block yields 2000 HNS up to a total supply of 2.04 billion coins. At the time of publication, there have been 3.7 million coins mined. A third of all coins, or 680 million HNS, are mineable and the other two-thirds of all coins, or 1.36 billion HNS, are earmarked for airdrop redemption. Naturally, some coins likely won't be redeemed by airdrop recipients. There's another mechanism that further diminishes the total supply. Coins exchanged for domain names on Handshake are sent to a sort of smart contract, known as a covenant, that get locked up and effectively burned, decreasing the amount of coins in circulation."
"The total circulating supply of HNS was hampered during the period of transfer lockups, reflecting only mining rewards, that is, until transfers were unlocked on February 13th, when the blockchain surpassed 2016 blocks. The subsequent and sudden increase in total circulatory supply jumped by 63%, increasing the total circulating supply from 3.7M to 237.8M, over the course of 24 hours."
- Whitepaper can be found here (29-11-2018).
- Code can be viewed here.
- Built on its own PoW blockchain. Block time of 10 minutes. Block reward of 2000.
- Programming language used:
How It Works
- From its FAQ (15-9-2020):
"Handshake provides a means, including key management and server/service authentication, for decentralized web services to experiment. The Internet currently relies upon a single trust root DNS zone and an amalgamation of private companies providing trusted Certificate Authorities to secure the internet, Handshake is an experiment and exploration in alternatives. By providing a way to do decentralized lookup of name records, one can produce hashes and keys to identify resources over decentralized networks without a trusted Certificate Authority corporation.
Handshake needs to reach global agreement on names and its owners. To do this, we need to develop ordering of when a name has already been registered in a decentralized way. In essence, we need decentralized global agreement on ordering. Handshake uses its own blockchain to do so. While there has been much misunderstanding on the purpose of a blockchain, the purpose is primarily to ordering events which occur over time (did A happen before B?). If no ordering of events are necessary, a blockchain is not needed. The Handshake blockchain creates an ordering of name registrations, so one knows when a name has already been registered. Without a global decentralized agreement on the order of registrations, we cannot know whether Alice owns the name or Bob does (did Bob make a false claim of registration after Alice already made one). Handshake has everyone run the same software rules so everyone can programmatically come to agreement on name ownership. When a name is registered, the owner has a cryptographic key which is under their control, which assigns ownership to themselves, and can write records on Handshake which identifies, authorizes, and locates resources associated with their name. As these records are also ordered, one can have greater assurance on whether the records are expired or current."
"PoW: Handshake is secured by Proof-of-Work mining using a customized hashing algorithm that has yet been dubbed a name. It is a combination of blake2b + sha3 (keccak). Handshake mainnet went live on Feb 3, 2020. In less than 2 weeks, hashrate on Handshake has climbed to 19.46 TH/s—amounting to Bitcoin's hashrate when Bitcoin had been running in production for nearly 4 years. Notably, ~45% of the total network hashrate is currently represented by one mining pool: 6Block. However, the network has been getting more decentralized over time as more miners come online, because initially, 100% of the network was being mined by 6Block."
"While the hashrate has been holding steady in the 30s to 40s TH/s range, average network difficulty is constantly adjusting to hashrate with its sensitive "hashrate barometer". While Handshake's technology is rooted in Bitcoin, because it is derived from bcoin, a JS reimplementation of Bitcoin Core, Handshake's difficulty algorithm, unlike in Bitcoin, is taken from Bitcoin Cash's custom difficulty algorithm. This means that Handshake's difficulty adjusts every block, so every 10 minutes—a much higher adjustment cadence than the roughly 2 weeks it takes Bitcoin to adjust difficulty (source).
Globally, there are a minimum of 61 nodes currently connected on and running Handshake."
"Handshake uses Proof-of-Work (PoW) consensus to reach a global agreement on the ordering of HNS transactions and when a user registers a domain name. Its nodes each run the same software rules so every participant can reach an agreement on name ownership.
Handshake's consensus rules resemble that of Bitcoin, whereby the valid chain is the longest chain with the most accumulated work (i.e., hash power). Like Bitcoin, network consensus is probabilistic because a new competing chain, known as a fork, could emerge with more accumulated work and invalidate the current chain. Handshake opted for PoW over alternative consensus mechanisms because of its known security parameters and its ability to support compact light client proofs. Its blockchain leverages the latter feature by allowing users to participate in consensus and resolve names via Simplified Payment Verification (SPV) nodes (i.e., light clients) instead of full nodes.
Handshake's original code was a fork of Bcoin, which is an alternative full node software to Bitcoin's more popular client, Bitcoin Core. While Handshake's codebase has evolved well-beyond the Bcoin implementation, Handshake still shares several properties with Bitcoin, such as a UTXO (Unspent Transaction Output) model for recording transactions and Nakamoto-style rules for reaching consensus. Handshake also features a few technical components, including compact SPV proofs, the Urkle Tree data store, and covenants, to help optimize for user-experience, storage, and functionality.
Handshake supports SPV clients in conjunction with compact proofs, which lets users operate a full DNS (Domain Name System) locally. This architecture enables the network to reach a direct resolution on domain name ownership without relying on a "central authoritative proxy."
Handshake uses its own provable data storage structure called the Urkel Tree, which the project founders designed for blockchain use, so Handshake data never touches levelDB or any other data store. Urkel is a series of append-only flat files, allowing it to act as a standalone database with traditional database features such as "snapshotting, crash-consistency, range queries, and iteration." This design provides the foundation for Handshake's compact SPV proofs and helps accelerate data queries so it can potentially "match the speed of the existing root zone."
Handshake also implements on-chain domain name auctions using specialized "smart contracts" called covenants. Covenants are a form of smart contract specific to UTXO networks that can help expand the suite of expressible use cases. Handshake uses covenants to run its on-chain Vickrey auctions for Top Level Domains (TLDs). HNS holders bid on a domain name by locking their tokens in a Handshake covenant, which holds all of the tokens offering to purchase a given TLD for the duration of the auction. Once the auction ends, this covenant gives the winner the right to claim that domain name and allows the remaining participants to exit (i.e., reclaim their tokens). The winner's tokens get sent to a second convent, which removes those HNS coins from circulation permanently."
"Handshake miners generate new blocks using the BLAKE2b + SHA3 hash algorithm, and hashes in Handshake are Big-Endian. Because Handshake is SegWit-only, there are no output scripts, just addresses (which themselves are witness program version + witness program hash). A witness program can encode a public key or a script hash, but those keys and scripts will appear in transaction inputs as witness stack items.
As for the mining process, miners compete to produce a block header less than the target set by Handshake's difficulty level. Handshake adjusts the difficulty level, or how hard it is to discover a valid block header, every block to keep block times around ten minutes. The network borrows from Zcash's difficulty retargeting algorithm, which uses a variation of DigiShield. Handshake opted for a reimplementation of DigiShield because it performs well when faced with abrupt changes in network hash rate."
- From the website (15-9-2020): "Multiple implementations may exist." So far, no known one came up.
- From its FAQ (15-9-2020):
"Handshake names are registered for one year at a time. Names can be renewed annually by paying a standard network fee. There are no social or technical guarantees with the renewability or ownership, this is an experimental system, please read the code to see details of how it currently works. Renewals for names are bi-annual and cost a standard network fee. Currently, miners will receive the transaction fee as part of their block reward."
- From its FAQ (15-9-2020):
"Users can buy or register domains through a Vickrey auction using HNS coins. All possible names are released weekly over the first year after launch. Users may submit blinded bids on the Handshake blockchain anytime after a name is released for auction. Bidding is open to everyone for ~5 days after the reveal period, and have ~10 days to reveal their bid price. A winner is assigned the name and, as it is a Vickrey auction, pays the second highest bid at the end of the reveal period. The winning bid amount of HNS coins is burned and permanently removed from circulation. Losing bids are returned and not burned."
Their Other Projects
"It’s a dedicated way to access the uncensorable internet ecosystem made possible through the distributed Handshake Network, as well as anything else you would normally search for. Built using NW.js and Chromium, the browser runs a full Handshake node and light client to enable access to Handshake-compatible sites and the traditional web. In doing so, it strengthens the Handshake protocol and disintermediates the centralized players in web browsing.
“Without all the bloat of the modern web, the internet is even better,” McKie said. “Every site you know and love will load more quickly.”"
- Can be found [Insert link here].
The spike you're seeing in the chart indicates over 13 thousand transactions executed in one day. It so happens that, on that day, there was a spike in the number of name redemptions on the Alexa Top 100,000 that were expired. We think that this is attributed to a single person who scraped the top 100,000 list for expired names, bought them all at deep discounts on a regular domain name registrar, and collected the 503 HNS bounty per name redeemed on the list, making a ~33% profit per name if we assume 1 HNS = $0.20 and $3/name.
On Handshake, if you own a name belonging to the the Alexa Top 101-100,000, then you'd receive 503 HNS as an incentive for redeeming your name. If you own a name belonging to the Alexa Top 100, then your incentive is disproportionately higher. No pre-reserved Top 100 name has yet been redeemed.
Coins Burned: The total number of HNS that has been burned since mainnet launch is over 1 million. This represents the total number of HNS that's been spent on name auctions to procure the names that have become available so far (over 13,000 names have been opened for auction to date).
Name purchasing comprises of 0.4% of the total transaction volume, based on number of coins burned. The activity that comprises the majority of transaction activity would, again, be airdrop redemptions."
"HNS burning has climbed as successful name auctions are registered upon completion, with now 6,369,449 HNS burned and removed from circulation. At the time of this writing, over 20,000,000+ HNS is locked in the various Handshake covenants. The chain retains consistent daily usage, averaging 10,000-25,000 transactions day. We’ve now surpassed the 1 million transaction milestone, and are now well over 1.2million transactions since the chain launched just 164 days ago."
- From Our Network (5-6-2021):
"More than 1.28M names have been registered to date, growing 25% month over month for the last six months. Daily bid volume is at all time highs with ~10k bids a day. Winning bid amounts are burned from supply, a deflationary pressure on the $HNS currency. Total HNS Burned to date is 21.7M HNS, equal to more than 1% of total supply burned in just sixteen months since network launch."
- From its FAQ (15-9-2020):
"Many other decentralized naming systems did not allow for secure “light clients” (simple payment verification mode), forcing every potential user to run a full node, equivalent to saving all the domains in the world on your computer.
Another key differentiator is that Handshake is the first to pre-reserve names for existing trademark name holders."
"Handshake is not the first blockchain project to try its hand at replacing the current DNS. Namecoin started looking into a similar solution as early as 2011. But Joseph Poon alluded to, Namecoin attempted to replace the TLD layer as well, which disincentivized existing domain name owners from adopting this new blockchain-based alternative. In contrast, Handshake blacklisted all 1,500 of the current ICANN TLDs to remain backward-compatible with the current DNS layer. With this setup, users can add their domain names to the Handshake network without altering how they access .com domains.
As for the more recent ENS (Ethereum Name Systems), Imran Khan of Token Daily says it operates as "a Second-Level Domain provider" that "uses the Ethereum blockchain to manage two centralized TLDs." On the flipside, Handshake is looking to replace the current root zone file, the DNS stack's base layer that manages all TLDs, with one managed by distributed infrastructure."
Pros and Cons
Team, Funding, Partners
- Full team can be found [here].
- Joseph Poon
- Andrew Lee
- Christopher Jeffrey
- Ming Ng; "collaborates closely"
- Got incubated by Purse.io and Private Internet Access
- From Messari (15-9-2020):
On the development front, a group of teams collaborated under an entity called the Handshake Alliance to build the infrastructure and tools needed to prepare the network for its mainnet launch. Handshake Alliance members included Namebase as well as Urkel Labs, Connext, and Amentum, among others. Some of the developments included the HNScan block explorer and the HNSPool mining pool discovery tool. The alliance dissolved once Handshake's mainnet went live."
"Is backed by the likes of a16z crypto, Founders Fund, Polychain Capital, and Draper Associates. The investors combined to purchase 7.5% of the protocol at a $136 million valuation. Most notably, the project will not have an entity behind it and all the investment will go into the protocol."
"The project remained in stealth mode until early Aug. 2018, when the founders announced it raised $10.2 million from various financial contributors, including participation from a16z, Founders Fund, Polychain Capital, and Draper Associates. These investors combined to purchase 7.5% of the initial supply of HNS, valuing the Handshake network at $136 million.
Despite the influx of capital, the group committed to giving away the $10.2 million to Free and Open Source Software (FOSS) communities. As of Jan. 2020, Handshake has granted a portion of this funding, as well as a discrete supply of HNS tokens, to 30 open source projects, including the Apache Software Foundation, the TOR project, and Wikipedia. The group also intends to give away the majority of HNS tokens to open-source contributors by way of a digital faucet, which is a software tool that allows users to generate free tokens."
- From its FAQ (15-9-2020):
"Handshake’s original incubators, Purse.io and Private Internet Access, provided enough support to build and launch the platform without additional funding. The pre-launch project contributors don’t require additional capital from subsequent investors, but what was needed is their deep expertise in early stage technology venture valuation. Accepting their investment at mutually agreed upon terms ensures Handshake launches at a reasonable valuation and enables the network to immediately bootstrap the decentralized market for Internet names. Beyond that Handshake has everything needed and that capital is better deployed by the FOSS organizations to which have been pledged [$10.2M] to contribute it.
Knowledge empowers all and will help us get closer to the decentralized world we all want to live in!
Making these free wiki pages is fun but takes a lot of effort and time.
If you have enjoyed reading, tips are appreciated :) This will help us to keep expanding this archive of information.