...by Daniel Szego
quote
"On a long enough timeline we will all become Satoshi Nakamoto.."
Daniel Szego

Monday, June 12, 2017

Bittcoin - Ethereum and the cryptoderivatives


Although current Blockchain systems like Bitcoin or Ethereum clearly represent breakthrough technologies for realizing financial services without the need of central trust, they suffer with a basic problem to realize a wide range of financial services: They focus on instant payments and money sending. Most financial products however are not build on the instant payment but rather on a promise of a future payment. In this sense instead of the basic services, like a certain M amount of money, Bitcoin or Ether is transferred, the basic protocol should focus somehow on the fact that a certain amount of M money will be transferred in a future t time point. As a consequence atomic transactions should be rather build up with the help of <M,t> tuples. Certainly it is a very good question if the Blockchain can help somehow that the certain amount of M money is really or with a high probability will be really transferred at the t time point.    

Notes on social networks and digital identity


From a general semantical perspective there is not much different between the different social networks, like Facebook, LinkedIn, Xing or Yammer. They provide more or less the same services; they are actually different based on two fundamental differences: 

1. the target market: as for instance LinkedIn attempts to aim the whole world as professional network, Xing aims only the DACH market, Yammer rather concentrated only on the internal corporate fields.  
2. they work with different digital identities: as for example Facebook works with a rather personal identity, LinkedIn clearly aims only professional networking. 

On a long run it can be predicted that multi-identity social networks will appear: on which I can reveal one part of the data of my identity to one group of people and make connections with a total different data set to another group of people. It is certainly a good question how it can work from a practical side, one option is having totally separated identities, like "digital avatars" for public professional networking - private professional networking - personal connections - family connections and so on. Another option is to make the possibility to configure everything on the individual property basis, like a certain property is available only for my professional connections but not for my personal ones.    

It is an open question as well how such a multy-identity service can be implemented in a hacking resistance way, clearly in such a scenario an identity theft would be fatal.  

Tuesday, May 16, 2017

Comparing enterprise Blockchain frameworks: Hyperledger vs Azure Blockchain as a Service

Current trends of the Blockchain revolution reached from the Blockchain 1.0 version to the 3.0 with rocket speed. As Blockchain 1.0 systems concentrated mostly on the different versions of Bitcoin, like LiteCoin, Dogcoin, Blockchain 2.0 systems tried to extend the original concept to a general programming paradigm. Most prominent examples are Ethereum, Counterparty or RKS.

Blockchain 3.0 systems try to extend or further develop the different versions of smart contract systems in a way that they are applicable for typical enterprise scenarios as consortium Blokchain solutions. Two major examples are Azure Blockchain as a Service and Hyperledger. Both frameworks starts with the basic problem statement that in a real enterprise scenario a pure Smart Contract based system is simply not efficient enough. It does not scale enough for the different enterprise use cases and putting everything from data to business logic into a smart contract is not necessarily a suitable scenario. Despite of the same problem statement they use two fundamentally different approaches. 

At Azure Blockchain as a Service (Figure 1) basically a third party SmartContract system has been integrated. Typically Ethereum or different versions of Ethereum, but some other solutions are also possible out of the box  at the moment, like Chain or Emercoin. To extend the business functionality an Off-Chain highly secure system is proposed, the so called cryptlets, that are cryptographically  secured small programs that are running in dedicated hardware containers, called Enclaves. Crpytlets are planned to realize secure business logic and communication with the Blockchain in two directions: on the hand external input data via Oracles can be securely integrated by Cryptlets, on the other hand Business logic that requires a higher performance but should not necessarily run on the Blockchain can be efficiently implemented. On top, Azure Blockchain as a Service provides some additional elements, like key vault for securely storing keys, or Azure Active Directory integration for identity management. 



Figure 1. Azure Blockchain as a Service Architecture

Hyperledger on the other hand redefines the whole Blockchain concept with different building blocks (Figure 2). The consensus mechanism and transaction validation are split into different parts, like Consensus manager, Distributed Ledger or Ledger Storage that provides the possibility to implement different kind of Blockchain or Blockchain style protocols. They usually provide a state based representation that is pretty far from the original UTXO based concept, so probably it is better to speak about a rather Blockchain style protocol. SmartContracts and business logic can be implemented by the so called Chaincode services. They are practically secure nodes, virtual machines, containing a secure container and executing a certain program at each of the chaincode node. They can be implemented in different languages (at the moment is Golem, but other programming languages will be available as well). The framework is extended with additional services as well, like identity management.


Figure 2. Hyperledger Architecture.

The following table tries to summarize the major ideas of the two architectures:


From a conceptional point of view the two frameworks represent two different directions. Hyperledger moves into the direction of defining a general framework and building blocks for implementing different kind of a consortium Blockchain protocols, Azure Blockchain as a Service integrates exiting Blockchain solutions and extends them with a crypto framework to realize any kind of highly secure on-chain - off-chain protocol. In this sense they should not necessarily regarded as competitor technologies to each other, as an example Cryptlet technology can have the realistic use-case for instance to extend a Hyperledger based Blockchain system.



Friday, May 12, 2017

Notes on corporate Blockchain solutions


Corporate Blockchain solutions provide exciting ways of building up new solutions for existing business use-cases and they provide the way for implementing brand new use-cases as well. Some companies and frameworks concentrate strong on the corporate Blockchain direction, like Hyperledger  from Linux foundation or Azure Blockchain as a Service from Microsoft. 

However getting technology alive with some of the classical multinational enterprises will be much more difficult than it is expected. Most of these companies and decision makers are still struggling with the cloud technology and regard to Blockchain as something suspicions alien thing. They have the very traditional, "If it is working do not modify" mindset. Even if corporate Blockchain solutions are being experimented they are used in reimplementing some old-fashioned use-cases one by one, usually in which Blockchain is not the best technology choice at all, instead of brainstorming on brand-new services that are only available with a Blockchain technology. The result of such experiments will show that Blockchain is a nice technology, but it is actually not really necessary, it can be replaced for instance by a classical distributed database. They will start to take the situation seriously as really competitors appear that provide the same service cheaper and much better just because they started the whole Business already on Blochchain ... but then it will be too late. 

Monday, April 24, 2017

Philosophical and practialy considerations of working with artificial intelligence

An ongoing philosophical discussion should be renewed as tool supported by artificial intelligence slowly appear on the market, namely by whom was a certain product / art / service created. The original discussion if for instance a certain painting was painted by the painter or by the brush seems to be a little bit too hypothetical for the first run, however considering paintings that are painted by artificial intelligence algorithm, like by DeepDream, the question seems to be less theoretical. Supposing that I am a painter creating paintings with the help of DeepDream or sculptures with the help of DeepMind, who is the creator of the art ? Me ? The AI algorithm or somehow both of us ? 

The question can be much less philosophical if we consider for instance products that were designed and created with the help of AI algorithms. Who can we call as creator, who should have actually the rights for that product ? Similarly if an online service is provided almost 100% by an AI algorithms, then it is an interesting question who should be responsible for the service quality ? The AI algorithm ? The one who hosts the algorithm ? The one who trained the algorithm ? I think these questions will provide a lot of legal and society discussions on a long run. 

Notes on Turing Test



Turing test :"The Turing test, developed by Alan Turing in 1950, is a test of a machine's ability to exhibit intelligent behaviour equivalent to, or indistinguishable from, that of a human" - Wikipedia.
But how about on sub domains where the Machine intelligence actually beats the human ones, like playing chess ? Does the definition make sense ? Supposing that the machine intelligence is better, is there actually a chance to evaluate from humans? As the definition was perfectly working 50 years ago, it is getting to seem to be a little paradox.

Monday, April 17, 2017

Different measures of blockchain Anaytics

Considering a complex Blockchain ecosystem there are many measures, reports and KPI-s that can be taken into consideration. We can categorize measures of a Blockchain ecosystem as follows: 

Technical measures for the network:
- Size and distribution of the Network, like the number of  mining validation or light weight nodes or geographical distribution. 
- Measures for Blocks and transactions, like Blocks minded, number of Transaction validated in a certain time frame, time between mined blocks, 
- Crypto parameters, like Hash rate, Hash difficulty, 

Economic measures for the network:
- General economic values: supposing that the Blockchain includes an internal Cryptocurreny we can define general capital market measures like market price, trade volume, market capitalization, and market share either compared with all other cryptocurrencies or with general capital market measures.   
- Micro economic values: like cost or average cost of a transaction, transaction fess or revenue of a miner, 

Application specific measures:
These measures are really specific to the application that run on the top of Blockchain. Probably the most general one at considering a cryptosystem is UTXO (Unspent transaction Output), or parameters related to cash-flow or crypto-flow, like the amount of money that was transferred between two wallets, or the amount of money that came in or left certain group of wallets. 

Sunday, April 16, 2017

Comparing Blockcian with a classical relational database

Despite of the hype phase of a Blockchain, perhaps it makes sense to investigate the architecture from a little bit classical, computer engineer perspective and comparing with a classical relational database. 
- data storage: classical relational database stores the data in tables, as a Blockchain based system stores the data in an immutable ledger.
- data amount: classical relational databases are optimized to store a large amount of data, as Blockchain system are not performing very well on large data. For this reason there is usual to provide a hybrid infrastructure if a large number of data should be stored, like storing the data on off-chain storage and integrate for instance and make an integration with Merkle roots or hash values with the Blockchain. 
- data availability: data is replicated and kept synchronous on all of the nodes at Blockchain providing a high available robust architecture by design that can always be scaled up very easily simply by attaching further nodes to the network, At classical database technology data replication and availability are always additional issues to deal with.
- tamper resistance: Blockchain is tamper resistant by design, it is both computationally and photographically difficult to change existing elements of a chain, even if a couple of nodes have been hacked. As opposed if a relational database is hacked, like an administrator password is leaked, than any data of the database can be easily modified. 
- hacking resistance: We can say that Blockchain systems are much more hacking resistant than traditional databases as a certain transaction is validated by all of the nodes. 
- performance: from a performance perspective a traditional database technology is much more efficient then a Blockchain one. At a Blockchain both the validation of the transaction and the consensus mechanism take time, like considering the Bitcoin network the throughput at the moment is about 7 transactions per second. 

From a system architecture point of view, it makes sense to combine benefits of the classical relational database technology with the Blockchain building up software systems where the Trusted Computing Base is realized this way.  

Wednesday, April 12, 2017

Difference between the supply curve of the IT good versus mass production of physical goods

There a fundamentally difference between the supply curve of an IT good and  the mass production of a material good. At both cases there is a certain prize on which it is practicable to consider something as a mass production. On the physical goods it means practically building up something like conveyor belts to for producing efficiently. However, despite of conveyor belt the variable cost of a product will be bigger than zero meaning that producing more and more is manifested in more number of or more efficient conveyor belts. On the other hand, reproducing an IT good or service if the platform already given requires practical zero additional cost, meaning that as soon  a profitability point is reached to build up automated platforms for mass production, the supply will be practically infinite.  



Figure 1. Supply curve of IT goods versus material mass production.

Supply demand analysis on the robo-advisor market

Analysis of the robo-advisor market from the supply-demand perspective can be seen on Figure 1. Robo advisor market is characterized by the demand characteristic of a standard IT good, meaning that as soon as it is profitable to roll out a a robo-advisor there is a possibility to produce as many additional replicas or copies as needed practically for a zero additional price. 

Let we consider S1 as a standard supply curve without robo-advisors, S as the supply curve with robo advisors. Market equilibrium will be pushed off from the original {P1, Q2} point to the  {P2, Q1} new equilibrium manifesting in a P1 - P2 price reduction and Q3 - Q2 general quantity increase on the market. It is important to note however that Q3 - Q1 quantity is not produces by humans anymore, meaning that comparing to the Q3 - Q2 jobs have been automated comparing with the original market equilibrium.

Certainly the model is ideal, it considers only the characteristic of a market segment on which the robo-advisors can produce a high quality service. Certainly segments might remain where the human competence and experience is still needed and the segment can not be served by automated robo-advisor services. 




Figure 1. Supply demand analysis of the robo-advisor market