Saturday, December 10, 2022

A Database Overview - from SQL to NoSQL

 Introduction


I am writing this quick introduction to databases, based on my studies (MBA level database class, focused on database theory to implementation using Microsoft SQL Server) and professional experience (using MySQL, SQLite, MariaDB, MongoDB, Neo4J, DLT).




Relational “SQL” Databases


Conjured up in the 1970, relational database was created to address the problem of “how can businesses store large amounts of data, then easily retrieve it”.  The computer system that served to store the data was called Relational Database Management System (RDBMS). The language that allowed businesses to create and retrieve data from the RDBMS was called Structured Query Language (SQL). But raw data cannot just be simply thrown into the RDBMS database. The data first had to be analyzed, and only then can the database be designed. The database design phase involves creation of an Entity Relation Diagram (ERD) to model the business needs of the database, followed by normalization of the data to conform to the “normal form”  to reduce data redundancy.  The RDBMS had to support core basic functions such as Create, Read, Update, Delete (CRUD) methods. And for the RDBMS to ensure that data was stored accurately, it behaved in accordance with Atomic Consistency Isolation Durability (ACID). RDBMS implemented the concept of On Line Transactional Processing (OLTP) to support businesses that broadly adopted RDBMS to handle daily critical business transactions. ACID properties of a RDBMS gave banks the confidence to store highly critical data on RDBMS. And once the transactional data is stored in RDBMS, an Extraction Transform Load (ETL) process loaded the OLTP data into another database that is more geared for analysis. This other database is usually called a data warehouse or data lake. This second database enabled On Line Analytical Processing (OLAP), which was ideal for analysis and reporting. 




Big Data


Relational databases serve the business world with its ability to store transactions with its OLTP features, then provide analytics and insights with its OLAP abilities. But with the advancement of new technologies (namely broadband internet, 5G, and powerful mobile devices to use up that bandwidth), real world data no longer fit into tidy RDBMS schema. What were the major characteristics of this new data? In some studies, the requirements of this new data, the 5V framework was created needed to handle Velocity, Variety, Veracity, Volume, and Value.  Velocity = real time data. Variety = text, pictures, videos, geo-data. Veracity = Volume = social media easily creating and consuming multimedia, multiplied by millions of users. Value = real time data, geo-tagged, enriched by media can provide infinitely more insights than structured data.  




NoSQL Databases


With Big Data, a new class of database was needed - to handle the new, unpredictable format. So with NoSQL databases, a database schema no longer needs to be PREDEFINED. In addition to this, NoSQL databases are usually distributed globally to be close to where the data is used in real time. While sounding reasonable, this poses the problem of how to keep data that is spread around the globe consistent.  Whereas traditional RDBMS was focused on accuracy of data, enforced via the ACID principles, modern data requirements are different. Modern data requirements favored availability of any-even-old data, possibly at the expense of accuracy. This requirement of big data is known as Basically Available Soft state Eventually consistent (BASE), the antithesis of ACID. The Consistency-Availability-Partition Resistance (CAP) Theorem, which is a framework for trade offs required between accuracy (which ACID affords) and availability (BASE offered by NoSQL databases) helped to put a framework around which database type to use. In additional to the flexibility of NoSQL databases, NoSQL databases can be scaled horizontally (as opposed to scaling vertically in a RDBMS system). The benefit of horizontal scaling is that to add extra new compute capacity, just add new servers - instead of stopping a current server and add extra CPU/RAM/storage used in vertical scaling.




How Databases Fit In Cloud Era:


RDBMS were created during the client-server era, which means that the database ran on a server. To access the database, the client needs to connect to a server that usually was running in a room somewhere in the office. For example, to run Oracle Database 12.2, the minimum server configuration is listed here at Oracle. This is hardware that you will need to procure and install somewhere in your office. You will also need an IT person who can install, configure, manage, patch, and upgrade the database software.  Fast forward 30 years to the world of cloud computing, where you can have Oracle now manage both the hardware and software - called “Oracle Database Standard Service”, where the hardware is Oracle Cloud Infrastructure (OCI). Let’s look at another more modern example like MongoDB. MongoDB is a “new SQL” database, gives you the option to 1) MongoDB Enterprise Advanced - run locally using your own hardware, like the olden client-server days or  2) MongDB Atlas aka “MongoDB Enterprise Advanced in the Cloud”.  If you are an Amazon Web Services (AWS) user, you can visit the AWS Marketplace to subscribe to MongoDB Atlas (Pay As You Go) or use an AWS clone of MongoDB called Amazon DocumentDB



Current “Top” Players in the Database Marketplace (1):


SQL:  

  • Oracle, Oracle MySQL, Microsoft SQL Server


New SQL:

  • PostGRES, MongoDB


NoSQL:


  • Document : MongDB ( #5), CouchDB (#40), 


  • Key-Value : Redis (#6), Memcached (#33), etcd (#46), Aerospike (#70), RocksDB (#89), LevelDB (#107)


  • Wide Column: Cassandra (#11), HBase (#26)


  • Graph : Neo4j (#19)


  • Search engine : Elasticsearch (#7), Splunk (#13)





Conclusion


Databases have evolved from plan-ahead SQL RDBMS systems that run on a server located in your office - to ad-hoc NoSQL databases that run in the cloud.  Although RDBMS was invented 50 years ago, most of the world’s data still resides on them and new applications will still be designed with RDBMS. I hope that I have given a broad view here to provide a map to the world of databases.




Footnote:

  1. https://db-engines.com/en/ranking

Monday, December 5, 2022

Security According to Gartner MQs

Trying to figure out how many MQ Gartner has just for security? Me too. Here is my attempt to capture all of them in one chart.  So far, I have captured 1) Secure Service Edge 2) Application Security Testing 3) Security Information & Event Management 4) Enterprise Network Firewalls 5) Web Application and API Protection - previously Web Application Firewalls 6) Endpoint Security Platform 7) Security Awareness Computer-Based Training. Not sure if they will have a MQ for Security Orchestration, Automation and Response (SOAR), Next Generation Firewall (NGFW), etc.











Security Incident and Event Management (SIEM) Overview

Security Incident and Event Management (SIEM) Overview

Starting from the top, a Security Operations Center (SOC) is in charge of proactively keeping company assets safe, such data stored on a company's network. One such tool for the SOC to do their job is to use a Security Incident and Event Management (SIEM) tool. SIEM collects data from a 1) wide variety of sources in 2) wide variety of formats - to enable a real time view and broad analysis of past data. SIEM is more about collecting, indexing, tagging, contextual mining than it is about security per se. That is why Splunk (a logging collection and analytics platform) is a leader in the Gartner SIEM MQ

Sources of data to SIEM: 

  • Endpoint (EP)
  • Firewall (FW)
  • Intrusion Detection System (IDS)

Types of data sent or accessible to SIEM:

  • events
  • messages
  • logs

Types of actions from SIEM:

  • alert
  • analysis
  • reporting


At the bottom, I have listed Security Orchestration, Automation and Response (SOAR) as a receiver of SIEM alerts, and SOAR can provide automated responses to the alerts. SIEM alerts can also be fed to User Entity and Behavioral Analysis (UEBA) to leverage the power of AI/ML to find threats.

Security Landscape

Here is my attempt to draw how terms like "NGFW" and "UEBA" fit in the security landscape. In this drawing, I try to focus on Network Security, and how it is peers to other important security measures such as Application Security and Endpoint Security. 




Monday, August 22, 2022

A quick walk through of compute : mainframes to containers to smart contract

 

This is my stab at the history of computer usage in business enterprises.

Time Shared Mainframes & Terminals

Early machines were big, heavy, and only for enterprise usage. Long forgotten names like Wang, Sperry, DEC roamed these ground, with IBM was the leader and barely growing today. Because these machines were so big and heavy, users had to time share the usage of these machines from dummy terminals. Some of the machines ran on vacuum tubes. Tubes were hot, and a moth flew into one, melted itself on a tube, and caused the computer to malfunction. The term "de-bug" came from this era.

Mini, Micro, and Personal Computer

A The "personal computer" era started with the semiconductor industry producing cheap, powerful processors. Motorola and Intel were leaders in this field. The big and heavy mainframe machines were shrunk from house sized to desk top sized. Microsoft created DOS, but PC usage was obscure until Windows was introduced.

Client and Server, Monolithic & Service Oriented Architecture

On the enterprise front, software was delivered in a client server architecture. Client is the user facing front of of the computer system, usually a PC or a terminal. The back end of that system, invisible to the user, is the server. It is usually found in a room dedicated to servers, hence called back office. The programs that ran in the server included Enterprise Resource Planning, Accounting, Database. The programs (such as ERP) were written in a single large program - hence monolith. Monolithic programs sometimes needed to talk to other monolith programs, and this was done via a Service Oriented Architecture.

Cloud & RESTful API

The computer server infrastructure sat physically in the office, or in a dedicated remote building called data center. But companies did not like buying, maintaining, replacing servers that they owned. Why not lease them? That's what cloud did. They lease compute, and started to port their original "monolithic" programs to the cloud. What if you had one program used by many users at the same time? If you had 100 users, do you have 100 programs running? That is wasteful. Multi-tenancy technology allowed one program to run, but accessed by 100 users. Its slower, but data is consistent, making the system faster overall.

Cloud Native & Containers

Monolithic programs were not designed to scale to more users, more regions, more storage. And they made upgrade components of the software very hard - need to bring down the entire program, instead of just updating the little piece. Big monolithic programs were broken down into small containers. The containers talk to each other through API or queues. If a component of the program needed to be updated (let's say it is responsible for displaying the latest news - not critical if it is part of a stock trading website), just bring down that container, and replace it with a newer container.

The Future : Edge, WASM, Smart Contract

Some say we have swung to far into the container world. It benefits are obvious (scale, modular maintenance, etc), but it also brings a lot of overhead (connectivity, versioning, etc). We suspect adoption will be selective. New startups will pick the latest compute paradigm. But the old, with its vast amounts of technical debt (think COBOL), will change just enough to function, but not change enough to break. Watch out for more "edge" compute, including Web Assembly (WASM), where your browser is smart enough to perform compute, elevating the status of browser from "show" only to "compute and show". Blockchain "smart contracts" will unify business code from both the application and the network itself into once place - with the added benefit that it can natively handle money via cryptocurrency.



Thursday, July 14, 2022

Identity & Access Management (IdM or IAM)

Here is my write up on identity and access management based on my CISSP course.

Identity & access management is the tool, framework, and process to control access to privileged resources. Let's look at current framework to deploy identity and access management : inspired by ISC2 is the IAAA framework : Identity,  Authenticate, Authorize Accounting. Decoding what this frame requires:

  • Identity : the unique attributes that define you, usually validated and issued by a trusted entity
  • Authentication : proof that you are indeed the person that you claim to be, sometimes called identity proofing
  • Authorization (or Access Control) : once you prove who you are, what are you allowed to do and not do
  • Accounting : logging of everything so that there is a forensic trail to audit all activities


Let's dig deeper into IAAA.

Identification - the unique attributes that define you, validated and issued by a trusted entity

Identity of a person usually starts at birth - your name - written on an official document. In California, it is on a "Certificate of Live Birth" document. Other examples identification include passports issued by its sovereign national government, drivers license by the state government, school ID by a university.


Authentication - prove that you are indeed the person that you claim to be

For you to prove that you are you, there are five types of authentication that can be used.

  1. Type I : what you know, such as PIN, passwords, favorite ice cream flavor
  2. Type II : what you have, such as a physical "token fob" 
  3. Type III : what you are (bio), such as fingerprints, iris color
  4. Type IV : where are you, such as work campus
  5. Type V : what you do, such as a signature

Authorization (or Access) - once you prove who you are, what are you allowed to do

Once that your identity is know, you authenticate to be the identity, the IAM/IdM system controls what you can do.  Authorization can be 1) centralized or 2) decentralized. Centralized control is implemented via Single Sign On (SSO) systems. Decentralized control is trusting the the tools, process, and framework will enforce the IAAA framework. 

 

Systems that implements identity and access management : authenticate + authorize

SAML 2.0 (authenticate + authorize)      

Security And Markup Language (SAML) is a framework for systems to exchange   information on security. The information format is in XML. It is common used in Single Sign On (SSO) - using one login (un+pw) to access multiple web applications. Detractors say that it can be too verbose and cumbersome to use.


   

OpenID Connect (authenticate) + OAuth 2 (authorize)




Conclusion

You have a protected resource - such as  data or hardware. You only want to allow authorized users to be able to use it. Identity and Access Management (IdM or IAM) is the tool, process, and framework that can do this. It will follow the Identity Authentication Authorization Accounting (IAAA) framework to ensure that the user is authenticated, authorized to use the resource, and all actions will be tracked.

 

     






Friday, April 1, 2022

Amazon Lightsail - A Easy Way To Deploy A Small Business LAMP Stack Website

Introduction  

Amazon launched Amazon Lightsail late 2016 as a way for small businesses to create and host their own website.  One way to build a website is to leverage LAMP (Linux Apache MySQL PHP) -  an open source software bundle that websites can use to server a web page (Apache), process inputs (PHP), and store/retrieve data (MySQL or MariaDB). I decided to take Amazon Lightsail for a test drive, using my locally working "Ravendale Community Exchange Board" as the example. 

 

 

Ravendale Community Exchange Board LAMP Prototyping on Local Macbook Pro

The Ravendale Community needed a web based exchange board for its citizens to post messages about items for sale and services offered. After the initial requirements were gathered, a prototype was built on a Macbook Pro. The development was done on Ubuntu OS, running inside a VirtualBox that was running on MacOS. XAMPP from apachefriends.org provided the LAMP stack software.




Amazon Lightsail sign up

Once you sign up for an AWS account, you are led to an AWS console. (The version shown here is from March 2022, but there is a new version of the Console out in April 2022). From here, you can pick specific services such as an EC2 instance or build a web app. It is from here that I picked Lightsail.


 

 

LAMP on Lightsail

A website requires a web server, database, and a language to process requests and responses. This is exactly what LAMP - a stack of software put together - can do. Here you can see that I configured a decent machine (2GB RAM, 1vCPU, 60GB SSD) as the server to host my LAMP. 




LAMP from  Bitnami on Lightsail

Bitnami is a company that makes bundles of software easy to download and use. This is what Lightsail uses for its LAMP delivery. This in contrast to apachefriends.org XAMPP that I used for my development environment. Let's see how it will go!

 


 

 

 
Lightsail SSH via Web Browser

On my Macbook Pro, I use "vi" in a terminal for all development. I tend to favor simple editors over GUI IDEA such as IntelliJ or VSCode (both are installed on my development machine). Lightsail makes a SSH shell easy to start up by pressing a button - which brings up a web browser with a terminal.  Note that I also have started a SSH session on my native Macbook Pro, but I would have had to download a license PEM file, change permissions, then start a "ssh" session in a terminal.





Command Line Tools (git, vi, ...) in Lightsail terminal 

Once a terminal to Lightsail is available, I can fully operate as though I am on my own Macbook Pro. For example, I can use "git" to pull source code for the project from github. From the command line, I can easily bring up MariaDB (which replaced MySQL to get away from Oracle) to pre-populate / migrate data into it. The vi editor, a super old and trusty command line editor, already had syntax highlighting on, so even an old language like PHP looks readable.




Lightsail Provides a Static IP Address - Exchange Users Only Need To Go To One Place

Think of this as a P.O. Box - if I bring down Lightsail and bring it back up, I normally would be assigned a new IP address. Which means I need to tell all exchange users to where to point. With a static IP address, users can just continue to use the same IP address to reach the exchange, regardless of what happens in the backgroud. 

 


 

 

 

Web Site Running on Lightsail

With a static public IP address available, residence of Ravendale can now browse and post on the exchange. 

Amazon Lightsail Cost

Pricing is not only transparent, it is low. For $3.5 / month, you get all the goodies of LAMP : Linux, Apache to serve web requests, PHP to process, and MariaDB for data storage. Everything is bundled together, so no need to hobble each component separate, incurring a separate bill for each (compute, network, database).



Conclusion

Amazon Lightsail provide a complete solution (compute, database, networking, easy to install LAMP) and makes building and hosting a website predictable, cheap, and easy. 

Friday, March 18, 2022

Funding in anything Blockchain/DLT/Crypto/Web3/Decentralized Web/DeFi/Fintech/NFT

Funding of blockchain related projects mostly come from venture capitalists and hedge funds, according to Tech Crunch.

March 17th, 2022 : Optimism raises $150M Series B,  $1.65B valuation;  Optimism is creating layer 2 scaling solution built on the Ethereum blockchain using "optimistic roll up" - news link

March 15th, 2022 :  Aptos Blockchain (ex Facebook Diem people) raises $200M, $1B valuation, to create its own layer 1 network (not layer 2 that sits on top of existing networks like Ethereum) - news link

March 15th, 2020 : Hex Trust raises $88M Series B;  - news link

March 14th, 2022 : Gauntlet raises $23.8M Series B, $1B valuation;  Gauntlet is building a blockchain simulation and testing platform for financial systems - news link 

March 14th, 2022 :  ConsenSys Raises $450M Series D Funding, $7B valuation,  as Leading Self-Custodial Wallet MetaMask Reaches Over 30 Million MAUs - news link 

February 7th, 2022 : Polygon raises $450M; Polygon makes an Ethereum scaling solution, or broadly on the blockchain infrastructure play - news link

January 27th, 2022 : Silvergate buys Diem (just assets, no people, see Aptos Blockchain) from Facebook for $182M  - news link

October 5th, 2021 : Hex Trust raises US$10 million in new funding round - news link
 

March 29, 2021 : Hex Trust Raises $6M in Series A Led by QBN Capital - news link



Saturday, February 5, 2022

Maven : An Introduction to Java Build

Maven Introduction

Updated : Feb 3, 2022



Maven is a free software utility, like unix makefile, to automate compiling, testing, and packaging Java source code. In simple terms, a bunch of Java source files is needed to make a program. Maven is a single command to compile all of those Java files into a program, test the program (using JUNIT), then package up the program (into JAR). To configure Maven, it  reads pom.xml to define targets, much like unix makefile; newer build tools like Gradle define tasks.

Hello World Example:

  •     Install Maven

 

%brew install maven # installs Maven on a Mac

%mvn –version # Apache Maven 3.6.3
 

%which mvn # /usr/local/bin/mvn



  •     Create a playground:


%cd /Users/chiangal/Learn/Maven/0Hello

#%cd /Users/chiangal/Learn/JavaFun/MavenHelloWorld

#%cd /Users/chiangal/Learn/Maven/Tmp

  •     Use Maven to create project scaffold


%mvn \

archetype:generate \

-DgroupId=com.vmbc.app \

-DartifactId=dapp-ecs \

-DarchetypeArtifactId=maven-archetype-quickstart \

-DarchetypeVersion=1.4 \

-DinteractiveMode=false

# will create dir dapps-ecs/, with pom.xml and src/

# src/main and src/test


  •  Go to Maven projects “dapps-ecs” directory


%cd dapps-ecs


  •     Look at pom.xml

%cat pom.xml

<project>

    <groupId> com.vmbc.app </groupId> # the company domain?

    <artifactId> dapps-ecs </artifactId> #name of app in build system world

    <version> 1.0-SNAPSHOT </version>

    <name> dapps-ecs </name> # name of app in English

    <dependencies>

…..       <artifactId>junit</artifactId>     # easy way to test Java

</dependencies>

    <build> <pluginManagement><plugin> #build contains plugins

          <artifactId>maven-compiler-plugin</artifactId>

          <version>3.8.0</version> # version of Maven

        </plugin>

    </build>

</project>


  •     Edit App.java to put in "Hello World"

 

%vi src/main/java/com/vmbc/app/App.java # HelloWorld.java



        public class App {

 public static void main() { #             Remember “PlayStation Very Manly”


         System.out.print("hi \n");

       }

public static int giveMeOne() {


           return 1;

  }


}

  •       Edit AppTest.java to test "giveMeOne()"

%vi src/main/java/com/vmbc/app/AppTest.java # HelloWorld.java

  •     Use Maven to test compile

%mvn compile     # [INFO] BUILD SUCCESS, create target/



  •     Use Maven to “package”, which means, compile->test->package into jar

%mvn package     #

Thursday, January 27, 2022

Centralized Exchanges (CEX), Decentralized Exchanges (DEX) : fiat to crypto, crypto to crypto

Cryptocurrencies such as Bitcoin and Ethereum is money, all in the digital form from the start. It is an alternative to fiat money, such as the U.S. Dollar. Fiat money is issued by a government, and is backed by the issuing government. But for those who need money in a currency that is NOT tied to a government, cryptocurrencies offer an alternative. You can buy things, save crypto, transfer crypto - just like you can with fiat money.

Currently to have cryptocurrencies such as Bitcoin or Ether, you need to either 1) have mining hardware and earn crypto doing work 2) buy crypto using fiat money.  The latter is done through a centralized exchange (CEX). 

A quick look at the two types of crypt exchanges:

  • Centralized Exchanges (CEX) : Robinhood, crypto.com, Biance, FTX, Kraken. Centralized because a third party middleman is involved. Which defeats the "decentralization" edict of using crypto and blockchain.

 

  • Decentralized Exchanges (DEX) : UniSwap, SushiSwap. Decentralized because no third party middleman is involved. Transactions are purely peer-to-peer. But to facilitate transactions so that they happen immediately, market makers provide liquidity. Read more here.

 


 



Wednesday, January 26, 2022

Carbon Emissions, Ozone, Green House Effect, Global Warming - In One Pic

The earth is bombarded with harmful UV rays from space. 

The ozone (O3) layer, found high up in the stratosphere, protects the earth from the space UV rays. 

The green house gasses (which contains ozone), found down low in the troposphere, retains heat on earth to keep it nice and warm.

But too much trapped heat, known as the green house effect, causes global warming.  The trap heat is caused by carbon CO2 emissions, such as pollution from cars.

Separately, ozone depletion,  is the lack of ozone that happens over the the Antarctica. The depletion is caused by human made chemicals, such as CFC, eating away the ozone.





 

To reduce green house effect, which will reduce global warming, carbon emissions must be reduced.

SWIFT - the CENTRALIZED payment rail used by global banks

Russia is amassing troops on its border with Ukraine. There is fear that Russia might invade Ukraine. Some countries want to find a way to dissuade Russia from potentially invading Ukraine.

One way to dissuade Russia from potentially invading Ukraine is via financial means.  The plan is to "kick" Russia out of the SWIFT. What is SWIFT? SWIFT is a payment network that connects global financial institutions, such as banks across the globe. Meaning if Russia is not on the SWIFT global payment network, money outside of Russia cannot flow into Russia.

SWIFT is an example of a CENTRALIZED network. Meaning that SWIFT the entity control how money flows around the globe. It is governed by a board of 25 members, mostly from the prosperous nations and populous nations. Depending on your point of view, centralized is either good or bad. In this case for Russia, this is bad. This situation calls for the need of a DECENTRALIZED network - where no board members can assert influence on its network members.  This is where blockchain enters.  BLOCKCHAIN can provide the technology for this. The consensus mechanism in a blockchain determine how the network is used. The consensus algorithm is predetermined up front, where machines vote - instead of humans or nations.


 

 

The answer to a centralized network is to create alternatives to it. Russia created "SPFS", an alternative messaging and payment system to SWIFT. Currently SPFS supports payment transference WITHIN Russia.  China also created its own version of SWIFT called "Cross-border Interbank Payment System"  CIPS. All this to hopefully replace SWIFT so that payment can flow into Russia and China respectively. The value of a network is who is on it. If Russia has its own SPFS, and China has its own CIPS, one might argue that they should have joined together and created a true alternative to SWIFT. Maybe "DSNM" Decentralized SWIFT with No Meddling.

Interestingly, cryptocurrency such as Bitcoin, can be an alternative payment method, instead of using SWIFT. Maybe Ripple XRP?

Google : At The Center of the Metaverse - Live Longer, Better, More Fulfilled

Google strategy for Metaverse  - the super data lake that can feed the Metaverse to make our lives longer, better, and more fulfilled.
 
 
Input : Google collects information on its users. Hard information. Soft information. External information.
 
Output : monetize for ads (bad), help users (good), allow users to contribute, build the Metaverse


 Google strategy

Monday, January 24, 2022

Financial Services - Capital Markets - A Basic Guide on how Blockchain/DLT fits

Capital markets in the financial services industry, per Congressional Research Services, is an place where businesses that need money (aka capital) for a long term can find sources of money from investors. The agreement between those who provide the money and the business that needs to money is called a security. Typically the security is either a debt (loan that is repaid at the end, with interest), bond (loan with periodic payments), or equity (stock). 

 

To see the connection between those with money, businesses that need money (capital), and the medium that allows this to happen, here is a simple chicken scratch.

 



People with Money : in the upper left corner, individuals earn money, have extra money that they can save or invest.

Companies that need Capital : in the upper right corner, businesses have several ways to acquire capital (money), via bond, equity, loans.

Capital market : in the middle where those with money (investors) can provide money to companies that need money (capital)

Capital markets infrastructure has played a critical role in global finance. For the past decades, it has silently been providing the transaction backbone for both capital and financial markets. But it is also antiquated – where a single transaction must traverse siloed system via messaging passing that is currently subject to errors, delays, and cost. Distributed ledger technology (DLT) can help to fix that, by providing a significant paradigm shift in the conception of financial market infrastructure as it can enable instant, authorized access to capital market actors “on a need-to-know basis” regarding several types of data, including asset reference data, asset ownership data and owner identity data. Current financial market infrastructure use cases that can benefit from DLT include: corporate actions, clearing and settlement, collateral management, and bond issuance. The DLT solution must also be enterprise grade to meet the rigors of regulators and compliance – including security, privacy, resilience.


Monday, January 10, 2022

Vaccination : a proxy battle between 1) public good and 2) personal freedom?

My neighbors live right next door to me. They are a hoot to live next to. I am always invited to their parties, where they serve fantastic home made food. But this comes at an indirect cost to the public good. Here is how:

1) Saturday 7:30AM : they start a huge fire BBQ in their backyard in preparation to roast a pig for the party. The smoke enters and exits via the open windows in my bedroom upstairs. I leave the windows open because I love the fresh morning air.

2) Saturday 11:30PM : they exercise their personal freedom to enjoy music, played loudly in their backyard. Not only is my household bothered, the sound radiates for nearly the entire block. My other neighbors want to call the police, but hard to when you just was attending that same party.

In these cases, the public good, as defined by a reasonable person,  seems to be "diminished" - smoky air, loud music - because a family chooses to exercise their personal freedom do as they deem fit.

Extrapolating from this, COVID vaccination might be a battle in a similar vain : a personal choice NOT to be be injected by this untested mRNA experiment - versus the public good that vaccination will stop the spread and make you less sick. Are the two cases - 1) neighbor wants to BBQ and blast music vs 2) a person refuses vaccination - the same?  (Note : I am 50-50 on this, so there is no bias here).

To put some thinking around this, I propose a simple framework. 

Definition of public good, responsibilities, and expected : roughly stealing from wikipedia, public good is "shared benefit for all". An example of public good is clean streets. So as an individual,  1) expectations as a public good consumer : clean streets  2) what am I expected (responsibilities) to do to uphold the public good  : don't litter 3) do laws enforce public good.

Definition of harm to the public good: I define this as anything person/thing/law that diminishes the benefits of public good. So if clean streets is a public good, someone littering is harming the public good.

Definition of personal freedom: I am entitled to enjoy my God given life, and no public good shall  mess with that!

Overlap causes conflict: This is the root of the problem - personal freedom of one (I want to play loud music) intersects with public good good another ( I expect peace and quiet from any loud music - especially rap/grunge rock/classical music).

A framework to resolve conflict: maybe it should be to determine 1) who every came first gets to set the rules - "hey I was here first" 2) majority rules 3) an elected central committee decides.