...by Daniel Szego
"Simplicity is the ultimate sophistication."
Leonardo da Vinci

Tuesday, July 26, 2016

Notes on Business Productivity

From a clear economic point of view Business Productivity is simple: human resource is simply too expensive and too risky. So Business Productivity software solutions make to increase the speed of carrying out a task or increase the general availability of a human resource. Examples are efficient collaboration and project systems, offline and home office availability, automated business processes and so on.  
However if we stay with the economic point of view: the cheaper and more effective solution is to fully replace the human resource with artificial intelligence software. In this sense in Business Productivity, the major question is not how a certain activity can be delivered with more efficient Business Productivity software solutions, but the question is if a certain activity still needs humans or is it possible to replace fully with artificial intelligence. 

It may sound shocking for the first sight, however the same thing has been being happened with the human physical labor in the last hundred years: everything that could be automated were automated.

Welcome to the second machine age.   

Sunday, July 17, 2016

Blockchain and the technology limits

Considering the Blockchain Hype that will be being evolved in the next couple of years, one of the most important questions, where are the limits of the Blockchain technology. In other words, for which Business scenarios does the technology make sense and which are the tipcial examples where rather traditional client server models should be used.

- Decentralized database: blockchain is actually a database that is stored with all the past changes in all of the full nodes of the network. In this sense it is critical that the size of the data that is actually stored in the blockchain is limited. Perhaps there will be in the future for efficient mixed blockchain - off-chain storage possibilities, however until that point blobkchain should be regarded as an extreme expensive storage, in which only a limited amount of highly sensitive data should be stored.  

- Transactions: The state of the database is modified or even read out by several transactions by different actors.

- Trust: Central use case of the blockchain is to guarantee a trust of several different agents, so that normally these agents would not trust each other. From the system perspective both trust of the state of the central database and the validity and order of the transactions should be guaranteed.

As a conclusion, in examples where a lot of data have to be stored, there are no many actors that are cooperating, there is trust outside the system as well or transactions do not really play  a relevant  role, rather classical client server models should be evaluated. 

Wednesday, July 6, 2016

Blockchain 2 Business, Blockchain 2 Customers

Considering Blockhain applications it should be considered that the classical market segmentation look differently. We can not really speak about B2B (Business to Business) or B2C (Business to Customer) solutions as the Blockchain itself is usually not a company and it is not run or operated  by a company. Instead they are rather community solutions, developed by community, operated by individuals and can be used practically by everyone. As a consequence, these old terms should be newly interpreted: 

- B2C (Blockchain to Customer): Blockchain services for end-users.
- B2B (Blockchain to Business): Blockchain services for other companies.    

Notes on Blockchain privacy and private Blockchains

Blockchain applications like Bitcoin or Ethereum are highly secure by design, despite some of the data that is stored in the Blockchain are actually far from being private. Even in the Bitcoin Blockchain practically every pieces of transaction and account are visible even with a simple browser, like Bitcoin Block explorer. That is certainly not a desired functionality, professional Blockchain 2 Customer or Blockchain 2 Business services would require extended information privacy. Let we just summarize some of the possibilities.

- decentralized public ledger: that is the most basic model, all accounts and all transactions are publicly available, all mining and validating nodes of the network run public as well.  

- private identity: all transactions and accounts are visible in the blockchain however identity behind an account is practically impossible to identify. There are attempts for such a mechanism in Bitcoin protocol with the always newly generated addresses. 

- private transactions: well it is pretty difficult question. On the one hand all transactions have to be validate by all nodes, on the other hand it is a normal customer requirement that certain transactions should be fully analysed only from theirs owner and not from other third party users. If the two requirements technically satisfiable in the same time is questionable.  
- private network nodes: processing and mining of information is not available for everyone, but only a certain group has got the privilege to do. 

- private blockchain: the whole blockchain is not available for everyone and does not contain every transactions but only transactions of a certain application and party of member companies are recorded and certainly the information is only for this group visible. 

The major question is certainly if it makes sense to create such a private blockchain applications or is it better to use for such a scenarios classical client server models. 

Tuesday, July 5, 2016

Cloud Storage versus Dezentralised P2P Storage

Current trends of the decentralized software development makes new applications and platforms to appear every day. One exiting direction is to build decentralized or P2P storage systems on the top of exiting Blockchain technologies, like SWARM on the top of Ethereum. Certainly these technologies are pretty much in the experimental phase, despite it is interesting to evaluate which advantage or disadvantage can have a P2P storage system for example comparing with a classical cloud storage. 

- Zero downtime: well cloud systems have got surely the high availability characteristic. The same property can be found however  at a P2P storage as well. Copies of a document or data is generally stored on a lot of nodes: if an adequate distribution algorithm is implemented to store copies based on availability and geographical location of the nodes, than high availability can be guaranteed.  
- Fault tolerance: The same is true for fault tolerance. Adequate distribution of the copies of different pieces of information on different nodes can realize a highly fault tolerance system, similarly as at a Cloud storage. 

- Scale up - Scale down: well from the point of scaling up or down the two systems have got more or less the same characteristic. One can always get some more storage with a couple of clicks, one can set some storage free similarly.

- DDoS resistance: Well Cloud is more or less centralized or at least based on several huge centralized cloud center, as a consequent they are not so immune for a DDoS attack as a fully decentralized P2P network. 

Censorship-Resistant: Possible censorship is a major characteristic even of a cloud storage system. As the cloud service itself is operated by a large company like Microsoft or Amazon, there is always an easy possibility for censorship. On the contrary on a P2P system for a successful censorship at least 51 or perhaps 100% of the resources are required that is economically pretty expensive.

- Security: Security is a big issues for a P2P storage system. As our data is stored overall of the world, the only way to provide professional service is that the data itself is so highly secured that even the hoster of the node can not make the decryption. As it is theoretically possibly to realize such a strong decryption mechanism, the question is if accessing the data remains performant enough. 

- Price: The second big question is the price of such a system that can be influenced by two factors. On the one hand a P2P storage can be more expensive than a Cloud storage as most of the data are stored in more copies. On the other hand, a P2P storage can be cheaper as well as most of the resources are extreme cheap, meaning that they are stored on resources that otherwise would not be utilized. 

As a conclusion, I would say the major risk is the security - performance characteristic. If these two properties can be realized in a way that is comparable with a Cloud storage or at least acceptable to the market, than there is a chance that in a year or two decentralized P2P storage services appear.