Skip to main content

· 8 min read

American Kingpin by Nick Bilton is the story of Ross Ulbricht, the creator Silk Road, arguably the most dangerous website to have existed on the Internet.

Here are some of my notes from the book:

1. Fundamental belief

“It is not the government’s right to tell the people what they can and cannot put in their bodies,” Ross began, going on to explain that drugs—all drugs—should be legalized, as it would make society safer and people have a right to do what they want with their bodies.”

“How can you legalize something that kills tens of thousands of people a year?” The College Democrat agreed.

Ross calmly countered, “So do you think we should outlaw Big Macs from McDonald’s too, because people gain weight and have heart attacks and die as a result of them?”

The fundamental belief which ultimately led Ross Ulbricht to create Silk Road. Shows a lot of what we currently find right or wrong has been made so for benefits of big corps or people in power.

2. Ability to code up a prototype yourself is a superpower

“He spent innumerable hours writing front-end code, back-end code, and code that helped sew those digital dialects together. Ross was teaching himself all of these programming languages on the fly. He was technically doing the equivalent of building eBay and Amazon on his own, without any help and without any knowledge.”

Ross did the majority of the coding work on his site on his own. Only later he asked a friend for help. The fact that he can get a prototype out on his own was very powerful. Also, he couldn't have asked for help - as mostly what he was doing was illegal, and even he understood that.

3. Everyone has their struggle

“And he certainly didn’t tell them that the gaming simulation he had been building for months, which would simulate a seasteading project, had failed, as no one wanted to purchase it. He didn’t mention all those odd jobs he had done off Craigslist to make a few dollars, including editing science papers. He didn’t say that everything he had done had felt like a complete failure to him. One brilliant idea after another that no one else thought was brilliant.”

If you leave aside that what Ross created was illegal, the sheer audacity of his goals was remarkable. And if, even he, has had such periods of doubt, why should the rest of us have it any easier? In a way, the struggle strengthens your muscles to endure things.

4. Intentions, always good?

“René then went on to explain that he had experienced an epiphany of late, that we all work so hard in our jobs, and for what? “There is no level of success that would make me feel happy all the time,” he reflected. “Those little achievements are little fleeting moments.”

Ross scratched his beard, seemingly disagreeing with his friend. “I imagine there is some silver lining to . . . pushing yourself to the limit,” Ross said. “I’ve had similar experiences with my work, where that becomes everything, more important than anything.”

“I want to have had a substantial positive impact on the future of humanity by that time,” Ross remarked.”

In his own mind, Ross was trying to have a good impact on humanity.

5. How things turn bad

“If word got out that it was okay to sing to the cops and steal hundreds of thousands of dollars in cash, the Dread Pirate Roberts wouldn’t be the most feared pirate sailing the Dark Web, but rather a weakling pushover. The Silk Road would be known as a place where you could break the rules without reprisal.

This led to the third option for Green: killing him.”

In an effort to preserve what he was creating at Silk Road, Ross made a very rational decision of killing someone. Shows that there's a very thin line between right and wrong. Morality and immorality. And many times, it justs depends upon the story we tell ourselves.

6. Killing someone, justified?

“Yes, but the use of force is completely justified if you have to defend your own rights or personal property,” young Ross had argued while discussing one of the latest Murray Rothbard books he had devoured. Back then it had just been idealistic, hypothetical banter by a group of college students.”

“Now, as the Dread Pirate Roberts, the more Ross thought about it, the more he wondered if beating Green up would be enough of a punishment to deter others on the site from betrayal. He started to wonder if he might not have a choice but to put his libertarian theories to their ultimate test. Curtis Green had, after all, stolen DPR’s “personal property.” All $350,000 of it.”

So, the ordering of the killing for Ross aka Dread Pirate Roberts was just putting his theories to practice.

This eerily reminds me of Dostoevsky's Crime and Puninshment, where the protagonist Raskolnikov logically argues that killing the old woman was the right thing to do.

7. Repeat. Repeat.

“One of the strangest of these idiosyncrasies was the bizarre fact that he read everything—literally everything—three times. It didn’t matter what it was; if it had text on its pages, Gary would read it once, then again, and then once more. When he received an e-mail, he would read it three times before replying. He would read news articles three times. Books; text messages; research papers; someone’s tax forms. He did this, he told people, to ensure that he remembered more information than those around him. When he was younger, he had heard that the brain retains only a small percentage of words when you read, so he reasoned that if he started consuming every snippet of text at least three times, he would remember more.”

There's a very curious character of Gar Alford, who works at IRS and apparently reads everything 3 times. By going through the same material three times, he is able to catch nuances and details which others tend to miss.

So someone in 2011 was already practising the mantra of going slow which the tech world is slowly adopting now.

Slow

Art of going Slowly

8. Mission and Meaning

“Let me tell you a little parable,” Dread wrote to one employee. “It’s the middle ages in Europe. . . .” He went on with the story: A man “walks onto a construction site and he sees a group of laborers carving stone blocks for a building. Most of the men are working slowly, with long, unhappy faces. “What are you doing?” the man asks the laborers, to which they reply, “What does it look like we’re doing? We’re carving stone blocks.” But then the man sees another worker who has a glint in his eye and a smile across his face. This worker seems to be toiling at twice the speed of the others, and his stone carvings are impeccable. So the man goes over and asks him, “What are you doing?” To which this laborer looks back and answers: “I’m building a cathedral to the glory of God.”

Human beings seek meaning in the work they are doing. You provide them meaning - they can withstand anything. A great book to read on this topic is Man's Search for Meaning by Viktor Frankl in which he talks about how the captives in the Nazi concentration camps survived arduous conditions.

9. What can a single person do?

“ That every single person can have a sweeping and massive impact on the world they live in. Some choose to have a positive effect, others a negative; some don’t know the difference. But most people think their role in this big, big world is meaningless. Just a job.

Here, Jared, one of the homeland security agents who helped catch Ross Ulbricht reminisces how he had set out to end Silk Road based on a single pill he had caught in the customs checking. How these pills were destroying the fabric of American society and how his work has prevented it from debilitating further.


Ross Ulbricht was finally caught and was given a double life sentence. He is serving his term now and will possibly remain in jail for the rest of his life.

For those interested, many believe that Ross Ulbricht was railroaded and there's campaign to get his sentence reduced.

· 6 min read

What public issues do you care about today? It can be anything. Like:

  • Do you support Aadhar or it is too insecure to be trusted?
  • What is the real truth behind Rafale scam? Was preferred treatment given to a particular company or not?
  • Should you worry about the Rohingya refugees or they are just too small to worry about?

Do you really have a strong, well-researched viewpoint on any of the above or you have just formed an opinion based on the numerous Whatsapp forwards and Facebook shares you have seen?

To tell you frankly, I am kind of numb. Unless any of these things affect me directly I can't figure out what is true from untrue. There are so many sources of information on every topic, I am not sure who is correct, and who is just taking a particular angle for his own incentives.

Take the case of Aadhar issue before the SC judgement. There were different sources of information. The activists were criticising Aadhar for its security loopholes and citing the different hacks which have come in public light. The government /UIDAI, on the other hand, was pointing to how Aadhar helped in direct benefit transfers to the poor.

I spent a significant amount of time going through the reports of both sides and found that the activists were better researched, while the Govt./UIDAI was just giving evasive statements like "13 feet wall", etc.

But I am sure not many people spent too much time on it. If giving Aadhar helped them get a service easily, they would do it. The underlying assumption is that there are more qualified people who are taking care of the security and privacy aspects of Aadhar.

But, is this assumption well founded?

There was so much information around Aadhar that it was almost impossible for a common person to parse all the arguments and counter-argument. Who was telling the truth and who was not - normal people don't care. They have bigger problems to care about. Most people took one side based on the limited information they had and stuck to it. Irrespective of new facts coming to light. This is the classic tendency to avoid cognitive dissonance. Once you take one side, you want to stick to it.

Has more information led to a more balanced discourse

I would argue, No.

The advent of so many channels of communication has led to a situation where the information is too much to process. You have WhatsApp forwards, Facebook shares, media websites and TV channels with everone sharing their point of view. What do you do? You choose a point of view and follow channels which confirm your point of view. Less cognitive dissonance, less energy to be spent in understanding new facts. Ezee, Pzee. You live in your own echo chamber.

Interestingly availability of more information has not made the public discourse more balanced. It has made it more polarised. You now have facts to support any point of view you may have. It's immaterial if that is analysed in the complete context or not.

information-overload Information Overload - Malady of the new age

Disinformation - The new tool of control

According to Wikipedia, disinformation is false information spread deliberately to deceive. Disinformation is a tool in the hands of more powerful.

Today, facts are generated to support a point of view. This is the classic phenomena of fake news. This is only possible because the legitimacy of a certain point of view has come to be dictated by how many people hold that point of view - irrespective of the fact whether it is true or not.

This fact is well understood by governments and political parties. They use disinformation as a tool to shape public opinion. Recently Shivam, a young karyakartaa resigned from BJP. In his account, he elaborates how BJP was using propaganda techniques for political gains.

This is an example of UIDAI using emotional appeal to generate public opinion in favor of Aadhar

This numbness from information overload is dissuading people from engaging in public debates. What we don't realise is that why our apathy to engage in public debate and politics is leading to a bleak future for the nation. I have written more about it here.

What could be a possible solution?

  1. Increase public debate on important policy issues with reasons for decisions being explained. Bodies like TRAI already do a public consultation. Similar initiatives should be done by bodies like Niti Aayog, etc. when drafting policy initiatives.
  2. Third-party audited metrics to understand if a particular scheme gave the benefits that were expected. Case in point, there has been no 3rd party audit of the benefit claims made by Aadhar.
  3. Fix accountability. Who is going to pay the price if some scheme didn't give the expected benefits. Share the results in the public domain.
  4. Organize debates in public with people actually taking the decisions and not by political spokesperson etc. Get into details of arguments and don't just appeal to the emotions of the viewer.

TV show debates don't work. They are sensationalised to increase viewership and are often censored by the need to tow a particular party line. I like US Senate hearing formats for this. The parties are well researched and knowledgeable and pointed questions are asked. A sample questioning here.

To summarise

  1. Increase in availability of information has made us numb. We are more inclined to chose sides, then stick to it - than critically evaluate all the facts and reach an informed view.
  2. Public discourse has become more partisan (my side vs your side) rather than evaluating facts. It has reduced the overall quality of discourse.
  3. Disinformation is a tool which works in favor of the powerful. Govts/political parties can spend money (e.g. BJP whatsapp groups/social media org) and thus have an undue advantage over volunteer-based activist organizations.
  4. Possible Solution - Increase in organized public participation and demand for scrutiny in public with experts.

· 6 min read

While I had heard about the idea of Hacker Culture, I recently encountered this curious fact.

In a recent interview, Paul Graham the famous founder of YCombinator, was sharing the fact that his co-founder in his startup, ViaWeb which was later acquired by Yahoo was a convicted felon. His co-founder, Robert Morris, or RTM as he is more commonly known, was the creator of Morris Worm which was one of the first such worms which used the Internet to spread. RTM went on to do great things in life from becoming a prof to being co-founder of YCombinator, again with PaulG.

morris-1 The floppy disk with the source code of the Morris worm is now kept in the Boston Museum of Science

Source: Morris Worm turns 25

What blew my mind was this: A convicted felon was the founder of a great startup (ViaWeb) and a world-leading incubator (YC). When I think about a felon, I mostly picture a person who is badass, scruffy and generally not a nice guy. But I was so wrong. It just meant that the law of the land was not advanced enough to understand what RTM was doing. It shows that law is a living creature and depends on the societal and technological context in which it operates.

Hackers are generally painted in a negative light and most people think that hackers do shady things by stealing money by sneaking into systems. Very few people see them as pioneers who are pushing the boundaries in their field, figuring out gems which push our society forward.

Paul Graham has a great book, Hackers and Painters, which tries to elucidate the opposite point of view. Hackers are similar to creative people in other domains, its just that they have chosen technology as their playing field.

I delved a bit deeper into this, primarily via two books - Underground by Julian Assange and Suelette Dreyfus and American Kingpin by Nick Bilton.

Underground talks about the stories of early hackers in Australia, USA, the UK of which Mendax(aka Julian Assange) was also part. American Kingpin focuses on the story of Ross Ulbricht, the creator of Silk Road. I plan to do a detailed review of these books sometime, but that's for another post.

books-1 Books: American Kingpin and Underground

So, the hacker scene originated in the 1980s when the BBSs(Bulletin Board Systems) came into the picture. It started with phreakers messing with telephone systems to get free phone calls across the world. This opened a new world for them as they can exchange notes with people across the world and boast about their skills.

The Internet in the initial days was dominated by academic and research institutions. It was designed primarily for research institutions like NASA, universities, etc. to collaborate with each other on their projects. Hackers started getting onto such systems tinkering with the servers and information they had.

What are the primary drives which motivate hackers

  • Explore and tinker with systems. Play with a system to figure out what it can or cannot do.
  • "Own" a system - Gives a sense of power
  • A sense of community - To meet a group of people who think like you. Enjoy the same things when normal society treats you as an outcast and you always get a sense that you don't belong there.
  • Irreverence for authority - If something is forbidden by an authority, that makes it more interesting to do it.

But, the majority of the social progress belongs to such outcasts.

I can hear you asking, "Why?"

Well, creating something new needs you to have a streak of irreverence, otherwise you will be bogged down by society's questions and criticism. By default, most people think that nothing new could be done. We are programmed by evolution to conserve energy. (Remember the time when humans were hunter-gatherer and securing food was the prime worry of our ancestors! Those genes haven't yet gone away). It takes a lot more energy to examine why things are how they are and propose a better solution, which is more in sync with the current state of societal and technological progress.

The strange thing is that the way our current society is organized doesn't have anything sacrosanct about it but is just a point in the evolution of the society. It can be changed, and it will be changed

Anarchism

Wikipedia defines Anarchism as a political philosophy that advocates self-governed societies based on voluntary institutions. Anarchism holds the state to be undesirable, unnecessary and harmful.

The state is the ultimate symbol of power. By definition, citizens give up a part of their sovereignty to create a state and agree to follow the legal structure of the state. This ensures that people don't kill each other and live in relative peace.

Anarchists question this fundamental belief that state is good. They argue that though the state was designed to serve its citizens, it becomes an institution of and for itself, and people running it wield unprecedented power. This state becomes the Leviathan.

Anarchism has at roots similar beliefs which power the hacker culture. The irreverence for authority. In that sense, how right are we as a society to paint hacker culture or anarchism as impalatable concepts. Aren't these ethos fundamentally important to take our society forward in the changing technological context?

Some question which I find myself asking:

  1. Why India produces no great hackers? Barring a few exceptions (e.g. Yaha worm) we are severely lacking in this field.

It is unfortunate, that as a nation the most famous hacker we have is Ankit Fadia, who is, in reality, a charlatan. Some argue that it is our subservient upbringing and risk-averse training which has led to this. But, then..

  1. Why China, even though has similar subservient upbringing, produces lot more hackers? (Political ideology? Nationalistic drive?)

Some people argue that the next world war will be fought in the cyberspace and Zero Day exploits will be used as weapons of mass destruction. If that day really comes to pass, are we prepared to face it?

References

Underground - Julian Assange & Suelette Dreyfus

Started with BBSs and telephone phreaking, which became more and more advanced with the coming of the Internet.

American Kingpin by Nick Bilton

The core belief of Ross Ulbricht was that it should be individual's choice what they chose to put or not put in their body. He believed in libertarianism and rejected the authority of the state to meddle with drug control.

Citizen Four

Story of NSA Whistleblower - Snowden

Risk - A film by Laura Poitras

Story of Julian Assange - The founder of Wikileaks

· 4 min read

One of the biggest hurdle in crypto reaching to mass audience is the importance of private key management and how the loss of private key can lead you to losing your crypto wealth.

Private Key Management

Why is private key management tough?

Cyber security is mentally taxing. Though physical security is also mentally taxing, that’s why we have locks, frisking, etc , but we have learned to accept them and they are part of our day to day lives.

  • Fingerprint based office entry solutions
  • Frisking by guards before entering
  • Security guards in apartments

We are just not used to threat in cyber realm and don’t want the pain to secure it. This is at odds with the current practice of increasing amount of value and wealth in cyber domain. Most of us spend large number of waking hours in the cyber space - working on laptops, talking on mobile, chatting, etc. Large part of our wealth currently is secured in banks/funds which we interact digitally using websites/apps. With the increasing adoption of crypto, we will now also be responsible for securing our wealth. Hence, learning about cyber security is fundamental for the times to come.

Also, as engineers and product designers we should strive to make this shift in need for cyber-security frictionless, so that more and more people can transition to this new paradigm.

Projects

Some projects which are working in the same space:

  • Gnosis Safe
  • WalletConnect - It’s an open-source project that enables desktop Dapps to interact with mobile Wallets.
  • Shamir's Secret - Sharded private keys with friends which enables authentication only when n-out of-m keys are available

Alternative Mechanisms

  • Project at ETHBerlin - Using private key enabled Govt ID (Estonia Govt ID) for login?
  • Proposal by Alex van de Sande - Login with ENS subdomains - Code
  • Tenzorum - Key Management protocol for decentralised web

Identity/Biometric based mechanisms

What are the issues with tying private keys with Identity?

Software Wallets

Hardware wallets

  • Paper wallets
  • Crypto Steel
  • Trezor/Ledger Nano
  • Ethercards - Physical Ether gift cards

Can U2F keys be used as crypto private key hardware wallets? What are the security issues involved?

Instructive Videos

Working Groups

Instructive Blogs and Posts

· 6 min read

Many people come to me ask about how they should proceed to become a developer in the blockchain space. I thought it would be a good idea to put down my thoughts in a post so that I can easily refer people to this.

As many of you may be aware, blockchain and cryptocurrencies are the craze these days and everybody wants to understand what they are all about. IMO, the current interest is overhyped. Blockchain is not the solution to every problem we are facing today. But to discard them as just another hype would be a mistake. At the least, it warrants a careful examination of how they can change the world.

To me, blockchain represents a fundamental way in which we think about cooperation and trust in society and are a foundational technology. Maybe it will not have any significant impact in the short term (1-2 yrs), but it will significantly alter the tech landscape in medium to long-term (5-10 yrs).

So, if you are really interested in this space, think for the long-term

Now let's get to the question of how can one start to learn about this space and become a "blockchain developer". I am assuming that you already are a developer/ have capability to code but in some other domain. Maybe you are an Android dev or a react dev or work on any of the other myriad technologies out there.

The beauty about this space is that most of the exciting development in blockchain space happens in open source. If you want today, you can look into the source code of bitcoin and figure out how it exactly works. Of course, you need to be able to understand the source code written by other people, which is not trivial.

Github repos for popular projects

Bitcoin Ethereum HyperLedger

Also, the blockchain and crypto community is very open and most of the discussions happen over Github issues, telegram groups, Reddit or mailing lists.

To get started, you have to get a broad understanding of what is blockchain, how its different from traditional technology, what is consensus, etc. You need not understand all this in great detail, but you should have a hang of it. In my opinion, starting with Bitcoin and Ethereum are the best way to learn about all this. For the first 15-20 days, just leave everything else and try to understand how does bitcoin and Ethereum work and what are the various concepts involved. Don't get into coding yet, as that is the simpler part and would be easier once you have the basic concepts sorted.

The best resource for learning these concepts is http://www.bitcoin.cc/

It has lots of explanatory videos and articles. It is more focused on bitcoin but does a good job of explaining the basics.

Once you are done with this, head on to Ethereum Github and digest its white paper

This repo also has a lot of good resources on blockchain aggregated in a single place.

Now, to become a developer you need to understand that there are primarily 2 types of blockchain networks.

**1. Permissioned networks

  1. Permissionless networks**

In permissionless networks, anybody can go ahead and start a node and start mining blocks and participate in the network. Good examples of such networks are Ethereum and Bitcoin

In permissioned networks, only those people who are authorised can run a node which contributes to the network. Such networks are more suited for business use cases, where a business or different parties involved in a business run nodes for the network.

The important thing to note here is that the identities of these nodes are known and everybody in the network knows who is running a particular node. This makes the job of achieving a consensus much easier. If you want to run permissioned networks, HyperLedger is a good project to follow.

From a developer perspective, there are few opportunities in this space:

  1. Build permissioned networks for businesses

Many businesses are trying to understand how they can use blockchain in their use cases. For example, a car manufacturing company may want to use blockchain for their supply chain. Such business use cases, mostly need a permissioned network as the nodes who will operate in the network are mostly known.

Hyperledger Fabric is a good protocol to develop permissioned networks. To get started, go through its documentation. Its decently well explained and should give you a good foundation to start with.

  1. Build decentralised protocols

A lot of research goes into the different type of protocols which are used by the blockchain. Things like which consensus mechanism should be used, what should be the tradeoffs between scalability and trustlessness and how the incentives for different players should be aligned.

These are the sort of things which core developers of Bitcoin and Ethereum worry about. For getting involved in such work, you need to have strong CS and Math chops. You can start getting involved with building protocols by contributing to the Bitcoin or Ethereum project and build your way from there.

  1. Build dApps on existing protocol

The third kind of thing which you can do is to focus on building dApps and smart contracts. dApps are Decentralised Applications which run on existing protocol. Ethereum is the easiest way to get started on this. Ethereum uses a language called Solidity which is similar to Javascript and any frontend developer can easily try to start dabbling in it. Solidity also has a great documentation which can help you get started.

This is also the domain of ICOs. Most Ethereum based ICOs need a smart contract which encodes the logic of their platform. So developers can get projects developing smart contracts for clients who want to do ICOs.

Apart from Ethereum, there are many new protocols which have come up like Stellar, EOS, etc. Each protocol has made its own set of trade-offs which makes it suitable for particular projects. But I would suggest if you are just starting in this field, start with Ethereum - as it has the highest number of devs working on it and most simple queries you may have can easily be solved by searching on Google or StackOverflow.

Dedicated StackExchange for Ethereum Dedicated StackExchange for Bitcoin

While trying to learn about blockchain, keep in mind that development for decentralised web (blockchains, etc.) is very different from the standard centralised development which most developers are used to. So, in the early days, you may have to break your head trying to get an intuition for how it works. But don't get disappointed and lose hope.

Blockchain community is very open and helpful and if you are stuck in some place, just ask. Post it on relevant forums on Reddit, telegram, StackOverflow etc. and I am sure somebody will help you.

All the best in your learning journey! Give a shout out to me on twitter if you need any help.

· 7 min read

The consensus problem in distributes system is an age old problem. A strong form of consensus problem can be defined as follows:

Given a set of processors, each with an initial value:

  • All non-faulty processes eventually decide on a value
  • All processes that decide do so on the same value
  • The value that has been decided must have proposed by some process

These three properties are referred to as termination, agreement and validity. Any algorithm that has these three properties can be said to solve the consensus problem.

Now these faulty processors can have 2 types of faults.

  1. Crash faults - Where faulty processes just stop. They don't act any further.
  2. Byzantine faults - In this case, we don't assume any thing about the faulty processes. These processes can behave aribitrarily. They can send wrong message, correct message to some and false message to some, lying, deceiving, anything is fair game.

If the processes only have crash faults, then achieving consensus is relatively easy. We can be sure that all messages we get are from correct processes as the processes which are faulty don't send any messages. Systems which only tolerate crash faults can operate via simple majority rule, and therefore typically tolerate simultaneous failure of up to half of the system. If the number of failures the system can tolerate is f, such systems must have at least 2f + 1 processes [1].

While if the processes can be Byzantine, they can send incorrect messages or correct messages to some and incorrect messages to others.Byzantine nodes are special in the sense that they can do any arbitrary thing (lie, deceive, etc). This lack of any assumptions about the nodes is very powerful and this is the reason why this problem is so interesting.

For solving for consensus in presence of crash faults, simpler algorithms like Raft and Paxos work. But these algorithms don't work in presence of Byzantine faults.

The problem of consensus with Byzantine Faults is discussed in Leslie Lamport's paper on Byzantine General's Problem. A solution for this was also proposed by Lamport, a good discussion about which can be seen here.

The problem with this algorithm is that it's a very costly algorithm. Leslie Lamport's solution to Byzantine General Problem requires O(nm+1) message transmissions where n is the total number of nodes and m is the number of byzantine nodes such that n>3m.

Practical Byznatine Fault Tolerance

Practical BFT is a consensus algorithm proposed by Castro and Liskov which solves Byzantine General's Problem in a more efficient way. Practical BFT requires O(n2) messages to achieve consensus in presence of Byzantine processes.

pBFT involves 3 stages in normal case operation

  1. Pre-prepare
  2. Prepare
  3. Commit

Screen-Shot-2018-07-21-at-7.03.46-PM Fig 2. Normal case operation of pBFT

pBFT algorithm (as described in the original paper) solves for consensus in case of classic distributed systems. Though this has been adapted for blockchain based systems like in case of Hyperledger Fabric and Tendermint.

One important thing to keep in mind is that pBFT based consensus works only in case of permissioned networks - where the identity of nodes is known. Anyone can't just join these network. The operation of the algorithm is based on the identity of nodes being known.

Blockchain helps in achieveing consensus in distributed systems as it groups transactions in blocks in order to amortize the high commit latency (on the order of ten minutes) over many transactions. Also, linking blocks via cryptographic hashes into an immutable chain, makes it easy to verify the historical record (via Merkle proofs).

More in section 3.3 of this thesis.

In next section we will talk about Tendermint in more detail.

Tendermint

Tendermint was one of the first consensus algorithms to adapt pBFT for blockchains. Tedermint consensus algorithm is used by Cosmos Network.

Screen-Shot-2018-07-21-at-4.56.53-PM Fig 1. Basic description of Tendermint protocol

Tendermint involves 3 stages

  1. Propose
  2. Prevote
  3. Pre-commit

Once the above steps are done then the network moves to commit stage.

Why does pBFT need 3 steps?

Similar reasons as need for 3 stage for Tendermint explained below

Why is a commit stage needed in pBFT? StackExchange Thread

Why a 3 step protocol is needed in Tindermint?

A single stage of voting allows validators to tell each other what they know about the proposal. But to tolerate Byzantine faults (which amounts, essentially to lies, fraud, deceit, etc.), they must also tell each other what they know about what other validators have professed to know about the proposal. In other words, a second stage ensures that enough validators witnessed the result of the first stage.

As the primary can be byzantine, it may not send the request m to some of the honest nodes and the nodes in that case will not reply. But in that case, 2f+1 votes will not be obtained? - Or f faulty nodes and f+1 honest nodes vote for the message.

Why is a primary needed in pBFT?

Primary comes in handy to arbitrate the order of requests (Miguel Castro's talk - link in reference)

Leaderless Consensus Systems

Paxos proposes a consensus system without a leader, but it is more complex than a leader based system. So, key reason for having a leader based consensus system is the relative simplicity of design and reasoning about the consensus system.

Tendermint vs pBFT Reddit Discussion

  1. Tendermint executes one consensus instance at a time (in PBFT there are several parallel instances), as this is more appropriate in the context of blockchain systems.
  2. Tendermint (similar to Raft) has simplicity as one of key design decisions. There is no difference between normal case and view change phase.
  3. Tendermint is optimised for gossip based communication and is designed for high number of nodes (hundreds). Messages in Tendermint are of constant size and does not depend on system size, contrary to PBFT View-Change message that contains 2f+1 signed Prepare messages and that depends on system size.

Tendermint vs Casper Reddit Discussion

Tendermint was a bonded proof-of-stake specification before Casper.

One major reason why Ethereum didn't adopt Tendermint as its PoS was because Tendermint would halt when >= 1/3 of the voting power disappears. Tendermint favored consistency while Casper was designed to favor availability in case of network partition (CAP theorem) and that was the original point of philosophical departure.

Designing Fault Tolerant systems

When designing fault tolerant systems, 3 key properties should be kept in mind (Stackexchange Thread)

1. Crash or byzantine failures

Should the system be designed to withstand nodes just stopping to do anything (i.e. no messages at all) or should it also consider nodes which exhibit arbitrary behaviour?

2. Eventual or strong consistency

Should the system provide certainty, that some state is final and not revertible or are we okay with irreversibility with high probability?

3. Open or closed membership

Is it known in advance (and to all nodes) who is participating in the protocol? E.g. a reliable database used by google has a defined number of nodes, which are known to all other nodes. In Bitcoin it is unclear even how many miners are participating in the consensus algorithm.

For the most well known consensus algorithms, the properties are:

Bitcoin / Ethereum: Byzantine failures, eventual consistency, open membership RAFT / Paxos: Crash failures, strong consistency, closed membership PBFT / Zyzzyva: Byzantine failures, strong consistency, closed membership


Now there are two basic results in distributed systems which determine the trade-offs for a consensus system. These are CAP theorem and FLP Impossibility.

CAP Theorem

Otherwise called ‘Brewer’s Theorem,’ CAP theorem states the impossibility of simultaneously satisfying more than 2 out of 3 guarantees in a distributed system: consistency, availability, and partition tolerance.

Facing DDoS, Tendermint stops

FLP Impossibility

The FLP result shows that in an asynchronous setting, where only one processor might crash, there is no distributed algorithm that solves the consensus problem.


References

  1. Miguel Castro explaining pBFT

a. Practical consensus (without Byzantine nodes)

b. pBFT (with Byzantine nodes)

· 4 min read

I recently did a tweetstorm on applicability of blockchains in supply chain. Here's an unrolled version:

1/ Nowadays, blockchains are peddled as a solution to many problems. But quite simply they are nothing more than distributed databases - with one important difference. There is no central party which operates/controls these databases.

2/ Blockchains can only be useful in cases where there are multiple parties and there is a problem of trust. i.e. neither they trust each other nor there is a central third party which everyone trusts. If any of these conditions are not true, blockchain is not needed.

3/ One particular case which many people tout as a good use case of blockchains are Supply chains. Somehow its intuitive to people that blockchain should help here. Coz’

4/

a. Supply chains are complex and involve multiple parties

b. There are almost always problems of trust. You can’t expect disparate suppliers to trust each other, can you?

Isn’t it obvious that blockchains should help in supply chain?

Screen-Shot-2018-06-30-at-9.57.06-AM

5/ Well, it’s not that simple. Blockchains do not “know” anything about the physical “wet” world. So, somebody/something needs to push that data about the “real” world on the blockchain. And this is where the problem starts.

6/ How do we know that the data being pushed on the blockchain is accurate?

In a supply chain, generally, data about containers are pushed on the blockchain by IoT sensors. Data in the blockchain is as good as the reliability of the sensors.

7/ What if a sensor on a container has been tampered with? Or the sensor is removed from the container and attached to some other container? Blockchain can’t do anything about this. There need to be other methods to control this. Anti-tampering solutions.

8/ Though what blockchain can help in is that - the data stored in the blockchain can’t be censored. If there are multiple parties operating the blockchain network, any rogue operation will be visible to all the parties running the nodes.

Screen-Shot-2018-06-30-at-9.57.31-AM

9/ This is a big improvement over centralised databases like SQL where the admin of the database or the admin of the server can make changes in the database without anybody knowing. Or the admin can can prevent specific entities from writing to the database (because there's only one copy and he is the incharge of it). This is censorship and this is what blockchain prevents.

10/ The key problem is that there is no unique way to identify a container digitally apart from the sensors/tags/codes attached to them - and these tags can easily be replaced/removed/tampered with.

11/ Unless… Unless the item itself has a unique digital fingerprint. In that case, tracking the item on blockchain makes sense. Diamonds, for example, are said to have a unique laser reflection fingerprint. https://diamonds.everledger.io/

Screen-Shot-2018-06-30-at-9.57.20-AM

12/ Or you have a physical lock on the object which can be digitally controlled. In this case, you must ensure that the gain for any attacker in breaking the lock is lower than effort in breaking the lock. http://slock.it uses such smart locks for renting things like cycles, etc.

Screen-Shot-2018-06-30-at-9.57.44-AM

13/ To conclude: Blockchains can’t provide product provenance in a supply chain. It is still the domain of sensors and how reliable they are. What blockchains can do though is that, if some data is stored in the blockchain - it can’t be altered.

14/ If somebody tries to alter it (basically attacks the blockchain), every other node in the supply chain will know about it and hence appropriate steps can be taken. Nothing more. Nothing less.

15/ So, next time somebody comes and tells you that blockchain can solve the issues in supply chain - please ask them how would they ensure that the data pushed on blockchain is not getting tampered. And then grab a beer :)


Thanks Nilesh for providing initial feedback on the post.

· 8 min read

I recently came across this excellent tweet thread on Indian politics and electoral dynamics. One of the things which struck me was that BJP was founded in 1980, but was able to form a long-term government only in 1998. Political ventures take a long time to bear fruits. The changes we want to see, need to be prepared for much in advance.

Today, I see a general apathy towards political activity, at least in youth, or the limited circles I am part of. "Politics" is considered a dirty thing and nobody wants to get into politics as a choice. We all discuss why the government is not doing anything, and why every political party is corrupt, but we hardly do anything about it. I am guilty of this as much as anybody else.

I think somehow we have come to believe that governance and political activity is not for "us". It is something which "other" people will do. One of the often heard comments is that politics is too "dirty" and "corrupt". You have to be a certain type of person to succeed in that game. In fact, during the election result telecast of recent Karnataka Assembly election, the panelists were casually discussing that participants spend around Rs. 5-10 crore together on each assembly seat. Although the Election Commission has a limit on the amount that can be spent (the limit for this years Karnataka Assembly election was 28 lakhs per candidate), I think it is openly known that these guidelines are not followed. So, no wonder people self-select themselves if they can play this game or not.

I wonder if this was still the case when people like Atal Bihari Vajpayee and Jayprakash Narayan were young. JP was invited by Pandit Nehru to join Congress when he returned from the US after completing his studies in Berkeley. I don't hear such things happening today. Was that because India was fighting the Independence struggle at that time and people really wanted to involve good people in the movement. And now when we have the country to ourselves, we are much more lax in our attitude?

Wasn't there a time when at least few of the bright young people wanted to get into politics and become the Prime Minister? I no longer hear young folks saying so. Why is that?

Well, just to be sure, I am in no way implying that being a politician is easy. Convincing large number of people to think that you are the right person for the job and vote for you is no mean feat. You need to have empathy for the different sects of people and persuasion skills to make your voice heard.

But so are many other endeavors. For example, doing startups is tough. The failure rate is more than 90% and only a few turn out to be massive success. But still, I see many young people wanting to start a business of their own and bring a change in the world. I remember a time when nobody thought that doing startups was cool. Parents considered it a very risky proposition and didn't want their boy or girl to join a startup. Many early employees of Flipkart still recount their story - how joining a startup in early 2007-2009 was considered a crazy move by their parents and peers.

But no longer so. People know how startups can change society and reward them personally also. Of course, only a few will venture this path - but at least a few do. I think the success of companies like Ola and Flipkart has a lot to do with changing these sentiments.

But why are there no young people excited to join politics?

When I ask this question, some people point me to what happened with Aam Aadmi Party (AAP). Many of my friends used to actively volunteer for AAP in its early days when Arvind Kejriwal still hadn't won the Delhi election - and AAP was a movement against corruption. The passion with which people talked about AAP was really inspiring. AAP was seen as a party which would disrupt the political system and inspire honest well-meaning people to participate in the political process.

Though that story turned out a bit differently. Many of my friends are now disappointed with the way things have turned with AAP and sadly its the end of a dream. But if one experiment has failed, why are not more experiments being made?

People often think that whatever happens in politics doesn't affect us. We just need to focus on our career and if need be, shift to a different location where the situation is better. Well, let me tell you - you are still affected. I have felt this myself.

I am a native of Jharkhand (erstwhile Bihar), but most of my professional career I have spent in big cities like Delhi, Hyderabad and now Bangalore. Even if I want to return to my state now, I don't have any company or opportunity which can gainfully employee me. Although Jharkhand is a mineral rich state, the corruption in political setup and administration has ensured that there are no software companies or MNCs which set up shop there. It doesn't have multiple flourishing MNCs or tech ecosystem like Bangalore does. And the price I pay for this is that I have to stay away from my parents and family. People of Karnataka in that way are better off. They can find good employment opportunities in a place close to their home - where their parents and family live. So, if you think that our political apathy doesn't affect us - think again.

But changing cities within a country is still easier. What about changing countries? The same scenario is repeated between countries. People leave India and settle in the US, because the US provides them better opportunities for their talent. Who would not want to stay in their own country if they have the same opportunities as the US? China has done well in this regard. They now have a tech ecosystem which is equivalent to the US and this has led to many Chinese expats returning from the US.

There are glimmers of hope though. I recently came to know that BJP is inviting young leaders from different fields into their cadre. These people are funded by the central fund for contesting elections. So, this allows people fight in elections even though they don't have the ability to raise funds required to fight an election on their own. There are good people like Yogendra Yadav and Jayaprakash Narayan who have started their own political parties and hopefully will attract more youth.

I think the key issue is that of support infrastructure. Today, if there is a young guy/girl who is interested to do something in politics, how does he go about it? Are there any grass route level organizations through which he can begin to test the waters and figure out if politics is really for him or not? I personally don't know of any such bodies/groups - and would be happy to learn more about it.

Let me contrast this with the startup ecosystem since this is the only other high-risk venture I know about. Doing startups is also a fairly risky business - but today we have lots of support infrastructure for people who want to get a better understanding of it. There are many events organized around startups. People can join existing startups or join as an entrepreneur-in-residence in existing venture/angel funds. There are many successful founders who share their experience in meetups. Of course, the journey is still long and arduous - but there are pointers on where to start. But when it comes to political activity, there is a complete void, or maybe I am just not aware of such channels. At least this shows that they are not so accessible. What can be done to make political activity more approachable? What type of organizations should be created to support this?

The word Politics comes from Greek: πολιτικά, (Politiká) which means "affairs of the cities". It is a way to organize people and reach a common decision which the society as a whole follows. For any human society to organize itself and follow a certain path, politics is necessary and so are politicians. It is how societies govern themselves. Note that originally, it didn't have any negative connotation of 'corruption' or 'backstabbing' which this word has come to denote.

How can we make politics accessible to more people and get more bright young people excited about it? I think there are many of us who want to do something about it - but just don't know how to go about it. It is imperative that we as a nation figure this out, before its too late.

· 8 min read

Wow! What a story!

These are the words I am mumbling as I finish the last pages of Shoe Dog - A memoir by Nike's founder Phil Knight

Its a compelling story and a salute to the spirit of entrepreneurship. It never occurred to me that a brand which seems to be omni-present now, had such humble beginnings. It was just a "Crazy Idea" in the minds of a young guy in Oregon, USA.

I am sure I will not be able to capture all the beautiful moments in this book, there are too many to list. But here are a few thoughts which captivated me while reading the book.

1. What is "business"?

I thought of the phrase, "It's just business." It's never just business. It never will be. If it ever does become just business, that will mean that business is very bad.

Is business just about making money? That is one of the questions which Phil visits frequently. At each point he says that, although money is needed for keeping the business alive, it is not why they were doing this. It was a "mission". To create a place where people would "belong". Money is to business, as blood is to human life. Although blood is needed to keep feeding different parts of the body with nutrients, it is not why we live.

Nike went through many crises in terms money. There were times when their cheques bounced, when they couldn't pay off their debts. So money was absolutely crucial for their survival. But money was not why they were doing this.

2. Giving people chance

The way Phil hired people was unique. He didn't look for the degrees or the experience they have. It was always a gut feeling. If he liked the guy, he would hire him. Irrespective of what his degree was, what he was currently doing in life. The key thing which he looked for was a sense of "purpose". Mission. If he thought the guy has that, he will hire him. No questions asked.

3. The search for meaning

Oneness - in some way, shape or form, it's what every person I've ever met has been seeking.

It just amazes me, how Phil goes from mundane practicality to deep philosophy within a few moments.

At the heart of it, whatever we do, is just another step in finding an answer to this search. This perpetual quest. Isn't it?

4. The Why?

I told her that I flat-out didn't want to work for someone else. I wanted to buid something that was my own, something I could point to and say: I made that. It was the only way I saw to make life meaningful.

People often ask why someone becomes an entreprenuer. After all, the "risk-reward" calculation never makes sense. I think the above line captures the idea very elegantly.

5. To Young People

I'd tell them to hit pause, think long and hard about how they want to spend their time, and with whom they want to spend it for the next forty years. I'd tell men and women in their midtwenties not to settle for a job or a profession or even a career. Seek a calling. Even if you don't know what that means, seek it. If you're following your calling, the fatigue will be easier to bear, the disappointments will be fuel, the highs will be nothing you've ever felt.

Wow! Just wow!

If you don't take anything else away from this book, just internalise the above lines.

6. On giving up

And those who urge entrepreneurs to never give up? Charlatans. Sometimes you have to give up. Sometimes knowing when to give up, when to try something else, is genius. Giving up doesn't mean stopping. Don't ever stop.

In the startup world, we often hear this oft-quoted sutra of not giving up. And here, the founder of a 100bn dollar company says that it's OK to give up. In fact knowing when to give up is genius.

Those who urge entrepreneurs never to give up are charlatans. Yes, charlatans.

7. Giving back

Phil and Penny Knight donate 100 mn USD every year, and he says that he will continue doing so for the rest of his life.

Bill Gates and Warren Buffet also have committed significant amount of money to charity. This makes me wonder - why do all rich people finally end up giving back their wealth to the society? I think this really proves the often quoted fact that they were not in it for the money.

May be after a point, the greater joy which you can buy from money is by giving it back to those who need it more.

8. Mental Whitespace

I spent a fair portion of each day lost in my own thoughts, tumbling down mental wormholes, trying to solve some problem or construct some plan.

To deliberate on big plans and detail out their execution you need mental whitespace to think about them, ponder about the details. Steve Jobs is known for keeping time for planning and thinking about things. Jeff Bezos keeps his schedule light so that he gets ample time to think and manoeuvre big plans.

However, I think keeping time for mental whitespace is becoming more and more difficult in this constantly connected world of ours. You always have an urge to check your mail or twitter notifications. All this constant flow of information decreases our ability to focus and plan for the long term.

How do we prevent this distractedness and focus on more important things?

9. Private person

Phil says that he is an intensely private person. But he managed to go to Japan, set up his company, fight with banks and take his company public. Many people think that entrepreneurship or leading is a thing for extroverts, those who are more comfortable in front of people than in solitude. Phil shows that as long as you believe in your mission, you can scale a company inspite of being intensely private.

This also reminds me of the book Quiet by Susan Cain which talks about the power of introverts.

10. Working part time

Phil started Blue Ribbon Sports (which later became Nike Inc) in 1964, but he started working full time on it only from 1969. Between 1964-68 he worked as a full time employee at PwC as an accountant as Blue Ribbon Sports wasn't earning enough to pay for his salary. He worked on his startup only after work and during weekends. In 1968 he joined Portland State University as an assistant professor as it allowed him more time to work on his startup.

The popular narrative of our times is that, if you want to do a startup, you have to commit full time into it. And here is a man who built a 100 bn dollar brand while having a full time job for the first 5 years of its inception.

11. Competition and being in the moment

People reflectively assume that competition is always a good thing, that it always brings out the best in people, but that's only true of people who can forget the competition. The art of competing, I'd learned from track, was the art of forgetting, and I now remind myself of the fact. You must forget your limits. You must forget your doubts, your pains, your past. You must forget that internal voice screaming, begging, "Not one more step!"

Anybody who has participated in any competition of significance would attest to the fact that the secret of success in a competition is forgetting that you are in a competition. You just have to be present in the moment and act as you would naturally act. If you constantly think about the importance of a competition, it would cloud your thought process and you won't be able to give your best.

This idea is also one of the key ideas in Miyamoto Musahi's The Book of Five Rings. If you have preconceived plans then you would not be able to react swiftly, just be in the moment and act.

12. You can sell it if you believe in it

Before starting Blue Ribbon Sports, Phil toured the world and spent considerable time in Hawaai. In Hawaai, he took a job of selling encyclopaedias and had a horrid time at it. He thought that "selling" is not suited for his private nature. But when he went out for selling shoes imported by his company, he enjoyed it and had great success.

The key thing is belief. If you believe what you are selling is genuinely good for the customer, you would have a great time doing it. Gary Vaynerchuk, who is a renowned entrepreneur and hustler, also tells the same thing. Unless you really, deeply believe that what you are selling is genuinely good for the customer, you won't be good at selling it.

I wonder how many folks in sales today really believe in what they are selling.

· 11 min read

I first picked up Dostoevsky in summer of 2008. Though I had vaguely read about him somewhere, what really made me purchase the books was the fact that the books were pretty cheap. 120 bucks for a 400-500 pages book. I picked up both Crime and Punishment and The Idiot. Little did I know the masterpieces they were. Crime and Punishment was a book which made me marvel the depth of understanding an author can have about the human psyche. I just didn't think that it was possible to write in such depth about one thinks.

I was aching to read The Brothers Karamazov(TBK) for a long time. Many forums suggested that it is the most evolved work by Dostoevsky. Though it is a 1000 page tome, and committing to it was a big hurdle. Finally, I got around to finishing it this month, and man did it blow my mind! Though I still like Crime and Punishment more, TBK will easily be the in the top 5 books I have ever read.

Here are my notes from the book:

1. The thirst for life

Some driveling consumptive moralists—and poets especially—often call that thirst for life base. It's a feature of the Karamazovs, it's true, that thirst for life regardless of everything; you have it no doubt too, but why is it base? The centripetal force on our planet is still fearfully strong, Alyosha. I have a longing for life, and I go on living in spite of logic. Though I may not believe in the order of the universe, yet I love the sticky little leaves as they open in spring. I love the blue sky, I love some people, whom one loves you know sometimes without knowing why. I love some great deeds done by men, though I've long ceased perhaps to have faith in them, yet from old habit one's heart prizes them.

One of the key questions in the book is - Is life worth living? There are many aspects of life which give you so much pain and one often thinks whats the point of all this. Dostoevsky accepts all the ill wills of life and still finds beauty in this life which makes it worth living. The Karamazov brothers have different views of life, but all of them still have a great thirst for life, the need to live it to the fullest.

2. To love life before logic

“I think every one should love life above everything in the world.”

“Love life more than the meaning of it?”

“Certainly, love it, regardless of logic as you say, it must be regardless of logic, and it's only then one will understand the meaning of it. I have thought so a long time.”

Many of us try to find meaning in Life. Viktor Frankl in his famous book Man's Search for Meaning says that "meaning" is the most important thing in life and empowers one to go through any hardship. Though here Dostoevsky implores that life should be loved without any logic. There is no logic needed to love life. Life should be loved in itself.

  1. Intractability of God

if God exists and if He really did create the world, then, as we all know, He created it according to the geometry of Euclid and the human mind with the conception of only three dimensions in space. Yet there have been and still are geometricians and philosophers, and even some of the most distinguished, who doubt whether the whole universe, or to speak more widely the whole of being, was only created in Euclid's geometry; they even dare to dream that two parallel lines, which according to Euclid can never meet on earth, may meet somewhere in infinity. I have come to the conclusion that, since I can't understand even that, I can't expect to understand about God. I acknowledge humbly that I have no faculty for settling such questions, I have a Euclidian earthly mind, and how could I solve problems that are not of this world?

Dostoevsky questions how is it possible to "understand" good if the sense organs and the mind through which we try to make sense of the world are so limited. We know that there are many things which we can't understand because of the physical design we have. The way human eyes see the world is very different from how a bee with its compound eyes sees the world. Bats perceive the world only through sound waves.

Our brain is also limited and designed to understand and perceive the world in a particular way. With all these limitations, is it fair to ask questions about God? God by definition is something outside the system we exist in and trying to understand Him using tools within the system is definitely questionable.

4. Loving others

“I could never understand how one can love one's neighbors. It's just one's neighbors, to my mind, that one can't love, though one might love those at a distance.

For any one to love a man, he must be hidden, for as soon as he shows his face, love is gone.”

This is an idea which Dostoevsky also talks about in his book The Idiot. Loving the idea of humanity and human beings in their totality is easy, but when it comes to loving a particular person its lot harder. You see the faults in them. The physical imperfections. The faults in their character. Its no longer an idea, but a concrete reality and what you have in reality may be very different than the idea of a person you have in mind.

the face of a man often hinders many people not practiced in love, from loving him. But yet there's a great deal of love in mankind, and almost Christ-like love.

Though a Christ-like love is still possible, and that is what we should try to strive for. This is advocated by his character Alyosha, who is his mouthpiece for his idea of benevolent love, which Dostoevsky belives is possible.

5. Solitariness and the importance of others

For every one strives to keep his individuality as apart as possible, wishes to secure the greatest possible fullness of life for himself; but meantime all his efforts result not in attaining fullness of life but self-destruction, for instead of self-realization he ends by arriving at complete solitude. All mankind in our age have split up into units, they all keep apart, each in his own groove; each one holds aloof, hides himself and hides what he has, from the rest, and he ends by being repelled by others and repelling them.

For he is accustomed to rely upon himself alone and to cut himself off from the whole; he has trained himself not to believe in the help of others, in men and in humanity, and only trembles for fear he should lose his money and the privileges that he has won for himself. Everywhere in these days men have, in their mockery, ceased to understand that the true security is to be found in social solidarity rather than in isolated individual effort

Though the novel is written in the 1800s, it's interesting to see that individualism was still on the rise then as it is now. People are getting more and more self-centered. Though this gives them a new freedom in terms of what they can do as an individual, they lose the feeling of belonging to a society and the solidarity that comes along with it.

Aristotle has written in Politics,

“Man is by nature a social animal; an individual who is unsocial naturally and not accidentally is either beneath our notice or more than human. Society is something that precedes the individual. Anyone who either cannot lead the common life or is so self-sufficient as not to need to, and therefore does not partake of society, is either a beast or a god. ”

Human beings reinvigorate in the company of others. The phenomena of Individualism is getting more and more pronounced as people get increasingly reliant on social media for interacting with each other rather than personal connections. This creates a hole in the individual as he constantly searches for something he belongs to. Our social relationships give us a sense of who we are and add meaning to our life. The rise in individualism is taking that away from us.

6. One can't judge one's fellow men

Remember particularly that you cannot be a judge of any one. For no one can judge a criminal, until he recognizes that he is just such a criminal as the man standing before him, and that he perhaps is more than all men to blame for that crime.

If I had been righteous myself, perhaps there would have been no criminal standing before me. If you can take upon yourself the crime of the criminal your heart is judging, take it at once, suffer for him yourself, and let him go without reproach

The crime committed by others is also because of the way he was treated by the society or the environment in which he grew up. Thus, the society in general and we as being part of it are also responsible for his crime.

Why was the society not able to give him such an environment which enabled him to grow into a loving person? So before judging others, we must also understand that we are also part of the reason why they are so.

7. Habit

It's because people are not used to it. Everything is habit with men, everything, even in matters of nationhood and politics. Habit is the principal driving force.

Man is a creature of habit. Even in politics and nationhood, we are driven by habit. That is why different nations have different political discourses and people are OK with it, though it would seem ridiculous for people of other nations.

For example, China since becoming the People's Republic of China is dominated by a single party rule and people respect the party members there. Indian people, on the other hand, detest too much power in one political party and we see different parties forming the government in consecutive elections, partly driven by the anti-incumbency factor.

8. God and Ethics

‘But what will become of men then?’ I asked him, ‘without God and immortal life? All things are lawful then, they can do what they like?’ ‘Didn't you know?’ he said laughing, ‘a clever man can do what he likes,’ he said.

This is one of the key ideas in Crime and Punishment also. If there is really no God, then all things are lawful. The protagonist in Crime and Punishment, Raskolnikov uses this line of thought to justify the murder of an old lady for money and it seems perfectly fine.

Is God invented to enforce morality? If there is no God, then will human beings kill each other and end the human race. Is God necessary for the preservation of the species?

9. God as Hope

What should I be underground there without God? Rakitin's laughing! If they drive God from the earth, we shall shelter Him underground. One cannot exist in prison without God; it's even more impossible than out of prison.

When Mitya, one of the three Karamazov Brothers, thinks about the idea of there being no God, he just revolts at it. How can a man spend time in prison without God? And even outside of the prison, it is not possible to live without God. God is the ultimate source of hope. A hope that even though this world is cruel, the all-merciful God is watching him and all of this will be compensated for in "the next world".

10. Does God or Satan exist?

Je pense, donc je suis, I know that for a fact; all the rest, all these worlds, God and even Satan—all that is not proved, to my mind. Does all that exist of itself, or is it only an emanation of myself, a logical development of my ego which alone has existed for ever

In this conversation with Devil, Devil says that he is not sure if God or Satan exists. Maybe it is just a development of his ego, something which the brain has created for its own need.

Its a book with many gems. The way the characters are developed and the philosophical quandaries they go through will break you apart before tying up again.

If you are planning to give this book a try, go for the translation by Pevear and Volokhonsky. I hear it is the best.