Sunday, January 3, 2021

The problem with Bitcoin

Middlemen induced carrying cost is the main problem with Bitcoin and all public ledger based currencies.

Until a few years ago, paying a $2.50 fee to withdraw cash from the ATM was the norm. Fee-free withdrawal was available only at your local bank's ATM and that too was limited to a few withdrawals per month. Now, with credit union networks or by maintaining a certain balance, one rarely comes across ATM fees. Bitcoin takes us back to paying a fee, not just for a withdrawal, but for any transaction with it. Let's work out why this fee cannot be removed and why a better solution is needed for wider adoption of public ledger based currencies.

With cash, one central bank issues the currency, regulates its supply and checks for fraud such as counterfeit bills. Once the currency is printed, the cash could undergo many transactions before it comes back into the banking system. Verification is done at the point of transaction without the requirement of a public record of the transaction. For example, you buy groceries, you pay with the cash in your wallet, the grocery store clerk checks that it is familiar looking money and accepts the payment. The proof of the transaction is that you got your groceries and the grocery store has the physical currency you used as payment.

The problems with the central bank approach are: virtually unlimited paper money can be created by a small number of decision makers - thereby eroding trust in the currency, slower innovation by established financial systems such as SWIFT, periodic financial cataclysmic events such as the dot com crisis in 2000 and the housing bubble in 2008, etc. Having the inherent value of a currency tied to purchasing power is actually a good thing for a central bank with reserve currency, but not so much for countries whose currency does not get accepted beyond their borders. 

Bitcoin provides an elegant solution to many of the shortcomings of the current system and kudos are due to the early adopters for supporting the value of cryptocurrencies with real money. 

However, there are structural shortcomings to the current generation of cryptocurrencies. Let's start with the public ledger - a record of all transactions done on a coin, and in my opinion one of the biggest shortcoming. The reason for Bitcoin's public ledger is that since the currency is digital, it can be easily copied. To prevent copying, the transaction must be publicly validated and recorded so that if the same money is used for a different transaction, that transaction will fail. This carrying cost - of always remembering the transaction along with the actual cost of the transaction are unsustainable for widespread adoption. 

Although physical cash isn't "fee free" either, it is very likely always better than Bitcoin in terms of transaction costs. It takes resources to operate the mint, mine the metals to make coins, pay for law enforcement for checking compliance, pay salaries to central bankers, etc. Even if the world were to fully move to a cryptocurrency based society, these agencies would still be needed to some extent, so the current system is cost-neutral.

An ideal cryptocurrency would function with cash-like properties - uniqueness, fungibility, stateless verification and low transaction cost. Are there central bank issued cryptocurrency or quantum computing solutions that can address the above problems? 

I think than an algorithmically managed coin issuance scheme operating like a Decentralized Autonomous Organization (DAO) but operating under regular tuning by the Federal Reserve will be a strong candidate for the next generation US Dollar. Another option would be to stay decentralized but use the uniqueness guaranteed by the quantum mechanical property of teleportation. More of this later, perhaps when work-related downtime again aligns with the Christmas break. It's going to be a busy 2021.

Happy New Year everyone. 

Kuntal. 

PS - the US Congress did a great thing recently by passing the Corporate Transparency Act (CTA).  The lawmakers that deserve praise and support are: Carolyn Maloney, Mike Crapo, Sherrod Brown, Maxine Waters and Patrick McHenry.



Thursday, December 17, 2020

Dysfunctional Autonomous Organizations (DAOs)

 Juxtaposing three news articles from this week: the University of California considering a tuition hike, a new parliament in India and Sweden moving to a bitcoin-like official currency eKrona, leads one to cast a skeptical eye on whether the government is the rightful arbiter of how to best allocate tax revenues. 

At a time when California communities are suffering from high unemployment due to COVID and education remains the one dependable pathway to higher income, it is unthinkable for the regents to further "tax" the populace. 

In India, the ongoing farmer protests call into question the central government's method of running the country, the unnecessary money being spent build a shrine to autocracy provide the answer on how out of touch the new rajahs are with the populace. 

While Swedish bankers can't keep track of the source of external money that flows into the country [1], they seem to be proactive in ensuring that the internal tax base is maintained and has improved traceability with the move to eKrona.

Rather than representing the people, the UC Regents and the government of India are operating like pseudo Decentralized Autonomous Organizations. Instead of the ideal software-contract run organizations where decisions are taken algorithmically and transparently, these organizations are "decentralized" in the sense that organization outlives the operatives and are "autonomous" in the sense that their decisions are not changeable by the people having a stake in them. An appropriate term for such organizations would be "Dysfunctional Autonomous Organizations."

What can a regular person do? Simply voting for a change does not seem to be enough. Thoughts?

Saturday, October 31, 2020

Thoughts on tracking large engineering projects

 Here's a short summary of my thoughts on efficient tracking of large projects that I have used with some success and gradually refined over time. 

  1. Only track milestones.
  2. Minimize the number of tracked milestones.
  3. Make the dependencies between milestones explicit.
    This requires minimal tooling.
  4. Express upstream dependencies only.
    A milestone owner must document what they depend on, not where their deliverable will be used.
  5. Do not track effort.
  6. Do not track offsets from milestones.
  7. If a milestone’s date is in the past, assume it to be done.
  8. Track changes in committed milestone dates. This is the weekly tracking that is needed.
  9. Build tooling such that every team only updates their own milestones and the tooling alerts the dependent milestone owners of changes.

This can be all done with Excel and minimal IronPython. There is a place for rigorous tracking using MS Project for tasks and resources, but in my role as an engineering lead, I need to react to movement of large milestones and I've found the above methodology quite useful. 5 and 6 are bread and butter for program managers and 7 borders on heresy but for a lead engineer these guidelines do help reduce the management time spent on things that are on track.

What are your best practices?
Regards,
Kuntal.  


Wednesday, August 26, 2020

गली का कुत्ता

 आज कल भारत मे अजीबोगरीब कुत्ते पाले जा रहें हैं। बैंकों का कर्जा न चुकाने वाले, जिनहे आम लोग धनी बुलातें हैं, अपनी गाड़ी, कपड़े, उच्चारण के अलावा कुत्ते भी विदेश से लातें हैं । भारत में बोंबड़े, शाही, आदि, जैसे पालतू  कुत्तों की कमी तो है नहीं तो फिर विदेशी कुत्तों की क्या जरूरत हो सकती है? संभव है की वातानुकूल घरों मे भारतीय कुत्तों से सर्दी सहन नहीं हो पाती। यदि सारी जनता को भी विदेशी चमड़ी का शौक चढ़ गया तो गल्ली के कुत्तों की देखभाल कौन करेगा?

गल्ली का कुत्ता बनने के लिए कुत्ते को कुछ उपक्रम दिखाना पड़ता है। अंजान व्यक्तियों के आगमन पर भोंकना, रोटी देने वालों के परिवार के सदस्यों के पीछे दुम हिलना, भटकी हुई गाय, बकरी को डराकर फिर बाहर निकालना यह सारे अनिवार्य काम कुछ सप्ताह तक करने के बाद ही कोई निराश्रय कुत्ता एक गल्ली का कुत्ता बन सकता है। 

यह पद कोई स्थायी पद नहीं। मध्यरात में पड़ोस की गली के कुत्तों के साथ ज़ोर से भोंकना, गल्ली के शराबी की बातें गौर से न सुनना, उपद्रवी बच्चों को कांटना, इत्यादि वर्तन से यह पद खोया जा सकता है। 

हमारे भवन के तल कोष्ट पर यानशाला है। इसके कोई कोने मे हर रात भालू नामक कुत्ता सोता था। दिन मे भालू अपने कुत्ते वाले कामों मे मस्त रहता था। इस प्राणी का नाम किस भले आदमी ने रखा यह तो अब राम ही जाने, लेकिन अब लोग उसे वहीं नाम से बुलाते थे और वह भी अपना नाम जानता था I हो सकता है कि यही भालू को बगल की गल्ली वाले उसे अन्य नाम से बुलाते हों पर कुत्ते का क्या है ना आधर कार्ड ना राशन कार्ड, जो मर्जी वो कार्य I 

भालू के लिए मेरी माँ हर रोज़ दो रोटीयाँ बनाती और संध्या का घरकाम संपूर्ण करने के बाद, उसे खिलाने जाती  I इस नगण्य बरताव का बदला भालू बहुत प्यार से देता था I जब माँ पैदल बस स्टॉप जाती तो भालू उसके पीछे जाता और बस आने तक वहां बैठा रहता था I जब माँ लौटती थी तब खुशी खुशी भौंक कर और दुम बड़ी उत्साही से हिलाता था I क्या आपने ऐसा कोई विदेशी कुत्ता देखा है? 

चलो छोड़िये I क्या बेकार में तुलना करना I जिन्होंने इस देश की गालियों को गाड़ी के शीशे के पीछे से ही देखा है वह लोग क्यूँ इस फिजूल बात में पड़े  I जब गाड़ी पे लाल बत्ती हो, जनता के पैसों से घर, नौकर और सुरक्षाकर्मियों हो तो जनता जैस थोड़ी ना रह सकते हैं? आखिर जनता को भी अपने शासक का पद समझाना एक शासक का ही तो सेवापूर्वक काम है I 

गली के कुत्ते का क्या है I  आज है, कल गाड़ी से कुचल गया I 


Monday, April 6, 2020

Systems co-operatives for India

While India continues to suffer from death from malnutrition, with almost 9 hundred thousand deaths in 2018, it is with deep despair that one notes that Indian farmers are throwing away produce during the COVID-19 related lock-down.

The government is fully culpable for these and other deaths due to the hasty imposition of the lock-down. But it is time for each one of us to take steps to build support systems that ensure that India becomes a developed country, where poverty and malnutrition are a thing of the past and we can truly establish the country that every school child pledges to form everyday.

If engineers, marketers, financial experts, artists and lawyers can get together to build the following, it will help steer us in that direction:

  1. Information dissemination
    1. For better or for worse, WhatsApp is the medium of communication within a section of the populace. We need engineers to work with WhatsApp to clearly mark "certified" stories, whose authorship is fully traceable.
    2. Censorship of any identified author must be impossible. This will ensure that Twitter-like suspension of accounts that express unpopular opinions does not take place.
  2. Task-oriented networking
    1. How can we connect a farmer throwing away produce to the migrant laborer who needs food while he is walking from the city to the village.
    2. We need a social network that enables task oriented connections.
  3. Foreign exchange monitor
    1. I feel physical pain as I write this but with the foreign exchange that Nirav Modi / Mehul Chokshi stole from India, India could have bought 200,000 ventilators. That is 5 times the current number of ventilators in India.
    2. Investor visa attorneys - every developed country in the world allows permanent residency based on investment. This is a legal way to do money laundering that enables transfer of wealth from developing countries to developed countries. Neo-colonialism is alive and well. We need lawyers in every developed country to trace the beneficiaries of such visas and ensure that developing countries' precious foreign exchange is not drained illegally.
For all of the above, we need public activists, communications experts, project managers, etc. who can move these "systems co-operatives" forward. The Amul approach is worth emulating in other systems. If there are such activities already going on, I will be joining them. If there aren't, I pledge to start and support them with time and money. Feel free to reach out to me on Twitter.

Wednesday, April 1, 2020

A Primer on the Value of a Currency

There's a song in the movie पूरब और पश्चिम (East and West) movie, that has the line "पूरब वाले हर जान की कीमत जानते हैं" (Easterner's know the value of each life as opposed to Westerners who value materialism). India's nationwide lock-down in response to Covid-19, the resultant death from starvation, and the haphazard movement of supporting migrant labor brings into focus the value of human life in India.

Compare the size of economic stimuli being applied by countries across the globe in an effort to contain the growth of the disease and it is clear that India's per-capita stimulus is quite low.

Let's get into the reasons why:

Every country in the world can print money. That money can be used to buy things locally. The only thing that holds governments back from printing money is that it leads to inflation, thereby bringing the value of the money back to its original value.

Now say that country A wants to buy from country B. Country B would not accept the currency from country A since the government of country A could simply print all the money it needs. That leads to inter currency exchange rates. To arrive at an exchange rate, one must convert each of the currencies to a mutually agreed value. That value could be derived from a commodity that is heavily traded between the two countries or it could be derived from the relative value of the currency from country A and the currency from country B as compared to a third reserve currency that both countries trust.

For a currency to act as a reserve, the government that prints the reserve currency must be stable, trustworthy, transparent and be run on sound economic principles. The country that prints that currency must trade widely so that the value of its currency with respect to goods is widely acknowledged.

The only country that meets the above criteria is the USA and that is what makes the US dollar the world's reserve currency - the currency of choice to keep savings in. The US can print the money it needs since there are systemic checks and balances in place that the entire world trusts. This explains the extraordinary size of the US stimulus as compared to those from around the world.

All other countries in the world including those in the European Union, need to keep a liquid hoard of US dollars so that it can be used to buy things outside the EU. Both the EU and China have been trying to make the Euro and the Yuan become reserve currencies but that have only succeeded marginally and instead they too have to keep up their "forex reserves" (foreign exchange reserves).

Since India cannot print its own money, India needs to produce things of value that other countries would want to buy from India with US dollars. At the rate things are going, ventilators might very well become the preferred reserve currency in the world. Also, since it is virtually impossible for any country to build everything its populace needs by itself, India will need to keep a strong forex reserve that can be deployed in times of national crises such as that triggered by COVID-19.

India also needs strong independent institutions rather than relying on regional or national level strong-men since strong institutions truly establish lasting trust in a country and its policies. The chaos caused by the sudden imposition of a nationwide lockdown imposed without thought given to food delivery, labor migration, etc. demonstrates the need for institutional clear-headedness and not personality-based leadership. Even in the US, President Trump had to follow the voices of reason coming from Drs. Fauci and Birx and extend the shutdown, despite wanting to open up the economy by Easter.

Finally, the death of a child due to starvation starkly illustrates the value of an Indian life, determined by the present day Indian government. In contrast, the low fatality rate in Germany shows the value of investment by a government into the wellbeing of its own people. I don't want to translate the fatality rates into a math equation: one German life is equal to x Indian lives type of an exchange rate, but that is the sad truth.

Manoj Kumar was wrong.


Tuesday, March 17, 2020

Ready. Set. ∫.



This write-up is about integrating hardware intellectual property (IP) into a System on Chip (SoC).

One reason we did not choose a particular process node for a SoC we made in the past is that a peripheral team did not have resources for porting to that node. Although material savings far outweighed the NRE expense of porting, we had to forego on the material savings since we just did not have the people to do the port.

How does one avoid this?
  1. Each team needs to incorporate external implementation into their delivery flow.
  2. Even in times of financial stability - when no resource constraints are on the horizon, one must be set up to switch to a 3rd party at moments notice.
  3. Keep IP delivery and minimum acceptable tests ready for delivery to a 3rd party. They are needed to qualify internal deliverables anyway.
  4. When IP is received, test it with the full set of tests and do final bug fixes in-house.

But will this will lead to IP leakage?
  • That's where "crown jewels" come in. Correctly classify the IP value ahead of time. Be selective in the classification.
Preparation
  1. Keep legal agreements and list of preferred vendors ready.
  2. Internal resources are needed to engage with 3rd party, qualify deliveries both ways and for final delivery to SoC team.
  3. Implement encryption options so that subsystems can only work with rest of the infrastructure.

Save money for the company. Deliver faster.
Kuntal.