<![CDATA[blockchain - Lev Dubinets]]>https://dubinets.io/https://dubinets.io/favicon.pngblockchain - Lev Dubinetshttps://dubinets.io/Ghost 3.42Fri, 07 Jul 2023 05:52:15 GMT60<![CDATA[How to find the owner of a Handshake domain name]]>Handshake (HNS) is a decentralized naming protocol billed as an alternative to DNS. Much like with regular DNS, it is pretty hard to find the owner of a particular HNS domain name. In fact, because the native payment method is a cryptocurrency, and theres nothing like whois available for HNS,

https://dubinets.io/how-to-find-the-owner-of-a-handshake-domain-name/5f1e81d9cd243ddb21eff9b7Mon, 27 Jul 2020 07:47:12 GMTHandshake (HNS) is a decentralized naming protocol billed as an alternative to DNS. Much like with regular DNS, it is pretty hard to find the owner of a particular HNS domain name. In fact, because the native payment method is a cryptocurrency, and theres nothing like whois available for HNS, it is usually much harder. You can try HNS Explorers such as ShakeScan or HNScan, but you're unlikely to find any way to contact the owner there.

Your best bet is to look at the TXT record set on the top level domain you're interested in. People have begun setting these TXT records in the root DNS to link to their contact info, especially those who are squatting on HNS domains to speculate on their value.

To do this, you can either use a Handshake node installed locally on your machine, or query using NextDNS, which supports Handshake. I have a NextDNS account so I'll use that method.

1. Ensure that Handshake is enabled in your NextDNS settings page.

Enable Handshake in NextDNS settings

2. In my NextDNS configuration page, there is a DNS Server IP that I can use. Make sure you click "Link my IP" right below.

NextDNS DNS Server IP addresses 

3. Use the dig command line tool in your terminal. I'm interested in the domain .x1f, so I'll run this command:

> dig @ TXT +short x1f
Querying TXT records of .x1f on Handshake

And there you can see that the owner of x1f on Handshake has set a TXT record to help me find him. If you don't see any output here, that pretty much means you are out of luck.

<![CDATA[Stablecoins Talk]]>https://dubinets.io/stablecoins-talk/5ec232b7d318b7709d6d3c86Fri, 17 Apr 2020 04:00:00 GMTI recently gave a guest lecture for an Emerging Technologies class at the University of Washington iSchool Master's program (UW IMT 598). The class is focused on blockchain and cryptocurrencies, and my topic was an overview of stablecoins and a deeper dive into MakerDAO and Dai.

The video is embedded below and my slides are available at https://dubinets.io/static/stablecoins

<![CDATA[ZCash Shielded Transaction Censorship]]>https://dubinets.io/zcash-shielded-transaction-censorship/5d1a45a25f415c5128853fd6Wed, 29 May 2019 19:30:00 GMTIn ZCash, privacy is opt-in, which unfortunately makes it possible to censor private transactions. Addresses beginning with a ‘z’ contain coins whose history is shielded by a zero knowledge proof. In this post, a ‘shielded transaction’ is one where a z-address is either an input or output. The ZCash Foundation defines these transactions as ‘shielding’, ‘deshielding’, and ‘private’

I noticed that shielded transactions aren’t being mined in the very next block even if there is plenty of time for the transactions to propagate. ZCash blocks are not even close to full and there are empty blocks being mined while shielded transactions are sitting unconfirmed. I took a closer look and noticed a pattern.

F2Pool, the second largest ZCash mining pool with about 18% of the total hashpower, is censoring shielded transactions.

This is easy to see by doing a quick-and-dirty analysis of the ZCash blockchain. Out of 86,849 shielded transactions year-to-date only 120 of have been mined by F2Pool. Given their share of the hashpower, they should have mined around 15,000 shielded transactions year-to-date. Shielded transactions are underrepresented by F2Pool by three orders of magnitude.

As for the 120 shielded transactions that F2Pool did mine, it could be that they were sent by F2Pool themselves from addresses that were whitelisted internally, but this is a guess as there is no way to know.

The two immediate questions are “When did they start censoring shielded transactions?” and “Why are they censoring shielded transactions?”.

It appears that F2Pool began censoring shielded transactions around April 2017. As for the “why”, we can only speculate. Verification of shielded transactions is not more expensive than it is for regular transactions (it’s generating the proofs that is expensive, not verifying them). Perhaps they don’t want to touch any shielded transactions to avoid participating in illegal activity (weak argument, in my opinion). Or perhaps F2Pool is concerned about the protocol changing how the proofs work and losing blocks. I found a tweet where F2Pool complained that the ZCash Sapling fork caused them to lose 30 blocks, though it doesn’t seem related to the censorship. It’s worth noting that F2Pool also censored transactions in their Ethereum mining pool during the Status ICO, which was very competitive, in order to increase their chances of getting an allocation.

This seems like a pretty big risk to the ZCash network: if more mining pools start censoring shielded transactions, it would make ZCash mostly unusable. To foster a healthier ZCash network, we should:

  1. Send more shielded transactions to incentivize mining pools to collect fees from them.
  2. Use wallets like Zepio Wallet that use shielded addresses by default.
  3. Don’t mine with F2Pool and let them know about it on Twitter.

Lastly, it’s possible that I’m wrong and miscalculating all of this somehow. Here are the BigQuery queries I used to perform this analysis. I’ve also attached the 120 shielded transactions mined by F2Pool in 2019. I know my queries are suboptimal, but I believe they are correct. I would appreciate it if somebody who knows ZCash and/or BigQuery better than I do could review this: