...by Daniel Szego
quote
"On a long enough timeline we will all become Satoshi Nakamoto.."
Daniel Szego
Showing posts with label disruptive technology. Show all posts
Showing posts with label disruptive technology. Show all posts

Sunday, September 23, 2018

Creating a Byzantine fault tolerant decentralized exchange with Hashgraph


The ordering algorithm of the Hashgraph architecture provides a way to realize a real decentralized exchange among different internal cryptoassets. Let we imagine that we have several native cryptoassets in a account/state based system. What we have to do is to introduce special transactions that represent buy and sell orders. As an example a buy order might look like:

Tr_order: buy 100 cryptoassets at 10 - signed by a private key of an account that has the balance of buying.

Similarly, a sell order might look like:

Tr_order: sell 50 cryptoassets at 11 - signed by the private key of an account that gets the cryptoasset at the end. 

The order transactions are validated and ordered with the help of the gossip of the gossip protocol and after a couple of rounds every node will see exactly the same order of the order transactions. This list of order transactions is actually the order book of the decentralized exchange. 

At applying the transactions to the state, we have to do two things: 
- there must be a kind of order matching algorithms on the order book, with other words on the ordered order transactions. Examples might be like FIFO or Pure Pro Rata. A list of possible order matching algorithms can be found for example under the following link.
- the orders that are matched has to be applied to the state. It practically means increasing and decreasing certain balances, similarly a simple transaction is applied to the state. In this case however there might be more than two accounts that has to be modified in the same time.

As the above mentioned algorithm is deterministic and the nodes see exactly the same order of order transaction, the nodes can calculate the algorithm independently from each other and getting the same result. As the core algorithm is Byzantine fault tolerant, the exchange will probably have the same property.

The decentralized exchange can be further improved in a way that instead of hard-coding the order matching algorithm, realizing an on-chain governance process to change order-matching on the fly. 

For experimental implementation take a look the following github repository.

Tuesday, March 27, 2018

Engineering cryptoeconomical systems and the Austrian School of Economics



Designing cryptoeconomical systems is far more complicated from the classical software engineering, mostly because they do not only contain crpytography and software engineering but part of such systems work purely economical. Such systems usually contain one or several tokens that are being actively traded and priced on internal and external markets. Despite its complexity economical properties of the system have to be guaranteed, like stable price niveau of the service, low transaction cost or increasing value of the "investment" tokens. 

Designing such systems is far more something as economical engineering than classical empirical economics. The main reason for that is that such a systems provide artificially designed limited economical systems, in which most baseline rules of the system are simply "hard-coded" into the blockchain. In this sense choosing the adequate rules for the system must be carried out with the help of a careful analysis in which most of the possible consequences of the chosen rules must be carefully analysed. Such an engineering process is much more a deductive reasoning process and it is much closer to the Austrian School of Economics than to the classical empirical economical directions.     

Certainly, it is illusory to assume that working cryptoeconomical systems can be always derived by pure deduction without any possibility for correction at the end, similarly as in software engineering: although most of the programming is based on logic and mathematics, a good software design usually require some iterations at the end. Similar methodology is foreseen in cryptoeconomical system design as well: although economic engineering is best carried out by a pure logical analysis of the hard coded economical premises and implications in a pure Austrian School of Economics style, real applications will probably need a couple engineering cycle to reach the desired state.    

Thursday, December 7, 2017

Decentralized Gamified Orgnasitation


The employment models, the corporate structures, the organisations and actually the whole work culture are in a heavy changing phase throughout the world. The reason is for that that most of the structures and philosophy comes from the industrial age where the basic model was the conveyor belt which was more or less adapted the white collar jobs, including job descriptions, job hierarchies, performance based measurement and of course the most hyped nowadays word is business efficiency. 

In the last fifty - sixty years this seemed to be pretty normal, spending eight hours in a workplace, doing well-defined intellectual work, like filling excel tables and being measured by that efficiency. However, this model does not seem to be longer maintainable. One reason is for that the increasing amount of automation of the white collar jobs, the other reason is the increasing presence of the artificial intelligence. This implies on the one hand a changed skill set from the employee side, like perhaps more flexibility, more creativity, social skills and even skills to work with artificial intelligence. On the other hand, it simply implies radically different organisations and organisation structures and I do not only mean that the corporation is located in several continents and instead of personal meeting there will be online meetings, but actually radically different organisation structure. 

As certainly noone knows how such an organisation structure would look like, there are some elements that can be identified: 
- The new organisation structure should not be only online but actually must born as decentralized and online. 
- It should be less look like as a nowadays classical organisation but rather something as a nowadays community. 
- It should not be based on processes but rather on some general internal rules that might be even changed by the community. 
- The whole internal working structure should be based on tokens and tradable tokens with maximum transparency. 
-  Every activity that can be automated should be automated or supported by automation like artificial intelligence. 
-  Overall where people work the work itself should be maximally gamified. Human performance should be reached overall by playing games. 
- There should be the possibility actually to play different style of games to do the same corporate activity.
- The border of the organisation should not be handled too seriously, the corporate "game" must be played together with vendors, suppliers, customers....

If it seems to be idealistic just imagine that the Linux foundation and the whole open source community; it works pretty much similarly and as practically Linux has beaten Microsoft Windows in the operation system competition, I would say, they were pretty much successful.  

Let we call the new organisation structure as Decetralized Gamified Organisation. 

Wednesday, December 6, 2017

On the need of two-stage token systems


Current ICO-s have the fundamental problem that the token system contains only one level. On the one hand, it has some nice characteristics from the investors perspective, like it has a finite token supply that can be sold right at the beginning and the decentralized application van make it sure that no further token will be released so the monetary supply is guaranteed in this sense. Hence, the token is usually traded in some exchanges so it is guaranteed that the liquidity on the market is high and gives the possibility for speculation as well. 

On the other hand, these tokens are usually used for some decentralized services, like for buying computational power, or paying for storage. In this sense it is pretty much unpractical that the price of the token is handled indirectly as the valuation of the company or decentralized organisation. It implies that the if the decentralized organisation is evaluated high, the token of the service is high as well, that might make the service not sellable at all comparing with perhaps centralized competitors.  

A solution might be to work with two stages of token systems, where the investment and speculation side of the platform is clearly distinguished from the usage price. Certainly it is an open question how such a two tokens should be "cooperated" or issued with each other. 

Sunday, December 3, 2017

Blockchain FAQ - Immutability of a transaction


Question: Can I change transaction that has been already registered in a block ?

Answer: Basically no. In most of the Blockchains, like Ethereum or Btcoin, transactions are immutable, meaning that if they are registered successfully into a block they can not be modified or deleted again. There might be way to create an inverse or a modifying transaction as well, however it means that the database will store both the original and the inverse transaction and the rest is only interpretation. There might be on a long run under the Hyperledger foundation project some solutions that might have a pluggable storage mechanism making eventually possible to explicitly delete a transaction, however such a special algorithms will be probably not regarded as Blockchain, rather as general distributed ledger solutions. 


Blockchain FAQ - Privacy


Question: How private is my transaction or information on the blockchain ?

Answer: Well, it depends actually on the Blockchain, but in most cases all transactions are visible to everyone. Only the value for which address or for which person does a specific transaction related is hidden in several different ways. As an example Bitcoin uses generated one time addresses to hide that a certain amount of transactions are related a wallet. It makes however not impossible to make an implication on that a certain number of transactions were probably initiated by the same account. There are blockchain platforms that makes this implication easier, like Ethereum with not using many different addesses, or more difficult, like Monero, with built in mixers or or two levels of one time addresses. Certainly an address is not really associated with a personal information, however it is something that is usually not impossible to identify. True privacy can be probably reached only by off-chain private channels only between two endpoint working similarly as the payment channels or lightning network.  

Thursday, November 30, 2017

Blockchain FAQ - Turing Completeness


Question: Is solidity or Ethereum EVM Turing complete ?

Answer: Theoretically yes, so you can implement loops infinite loops and everything that can be theoretically implemented. However from a practical point of view it is not. If you consider the live Ethereum network, there is a block gas limit that can be fine tuned by the miners but only on a long run. The sum of all gas consumption of all transactions in a block has to be smaller than this gas limit, otherwise a "gas limit exceeded" exception is thrown.  It is basically a mechanism to prevent DoDS attacks. So in the practical implementation of Ethereum, it is not possible to implement infinite loops or computation without limit, even if someone could finance the gas forever. 

Tuesday, November 28, 2017

The end of banks - from a game theoretical perspective


We will probably see the end of banks and I am not arguing from a cryptoanarchist perspective here, but from a purely market - game theoretical perspective. On the one hand the financial crisis in 2008 caused a massive erode of the trust of the banks and increased the regulatory attention and administration. On the other hand due to fintech and decentralized technologies new and competing segments appearing that cannibalize directly the business of the financial institutes. On a long run, it means that due to the increased competition the banks will have to provide services cheaper and cheaper meaning probably cost cut for the first run the personal. However that also mean that they can offer less and less quality services, that is pretty much dramatic as it will very stark further erode the trust and provide the competitive benefit to the competitor fintech - decentralized segment. 

The situation implies on a long run a new equilibrium on the market without the existing banking institutes. Probably the banking institutes will be replaced by decentralized infrastructures for value transfer. 

Monday, November 27, 2017

Radical change in business education ?


Surprising that all of the best business schools around the world start to offer technology oriented courses, like strategy making for artificial intelligence, supporting sales with big data and machine learning, blockchain for business. It seems these technologies are the disruptive technologies that are thought to change radically both the business life and the management practices. 
It is important to emphasize again that the initiative does not come from tech geeks, not even from technical universities but actually from business universities, like Oxford and Blockchain, Harvard and AI. It seems that the "crazy" ideas that were previously communicated only by tech geeks and futurists start to reach mainstream adaptation.
Certainly, one interpretation might be that the management practices are pretty much lacking of creating something new, but I actually do not really thing that it is the case. It is about the best business schools throughout the world: If they teach technology, they thing technology will be the most important thing in business making. 

Thursday, November 23, 2017

Ethereum Blockchain Business Networks


Solidity programming is actually not a simple task. I mean it is certainly not complicated to use the language itself, however to develop programs on an industrial scale, including both performance and hacking resistance is certainly an issue. An approach might be in certain situations not to use the whole language, only a certain set of it or certain abstractions as building blocks. 

On idea might be to use something similar to the model specific languages of hyperledger to develop a so called consortium blockchain network. In such examples not everything is programmed from scratch, instead high level concepts are defined like participants, assets and transactions. They function as building blocks to deliver a lot of different possible applications. If we suppose that the building blocks have a high quality, than the whole application will have a good general quality and the whole development process will be less risky. 

Certainly, it is an open question if the same or similar conceptional model that is working in a consortium blockchain context can be useful in a public blockchain use-case. 

Wednesday, November 15, 2017

Notes on agile methodologies at Blockchain development

Agile, Scrum, DevOps, Lean development. These technologies are cool and they certainly offer advantages in a lot of different circumstances. However as soon as it is about Blockchain development these methodologies should be used with extreme caution, or rather not used at all. The problem is that public Blockchains has got a special characteristic, they work rather as trustware, in which practically different cryptographical and collaboration protocols are implemented. On the top, both smart contracts and classical protocols are immutable, meaning that change usually means hard-fork. However to realize a hard fork is actually not so easy, practically it requires the support from the whole community and all the miners, so it is an option only in a very few exceptional situation. As a consequence, developing on a public blockchain requires rather the conservative methodologies, like waterfall or V model, with a lot of unit testing, penetration testing code and formal verification.

Saturday, November 11, 2017

Questions on DAI (Decentralized Artificial Intelligence)


Considering the hype around blockchain and the different decentralized technologies and decentralized business models, the question raises slowly if there is a way to create artificial intelligence on a decentralized way. Certainly, it is a question how exactly an artificial intelligence algorithm can be made to decentralized. 
- Should it be somehow similar to the autunomous agents ? 
- Is it possible to capitalize the blockchain or the distributes storage as well ?
- What should be the communication interface around the nodes ?
- Which functionality should be realized by the nodes themself ?
- Is it possible to create a real decentralized algorithm ?
- It it possible to create a model somehow the same way as with decentralized storage or computation ?
- Like with SWARM, or GOLEM ?

Friday, November 10, 2017

The new de facto reserve crypto-currency is Bitcoin


Perhaps, it funny to put this thing in this way, but actually the new reserve currency of the crypto world is the Bitcoin. Certainly, it does not really work the same way as a classical reserve currency like the US Dollar, mostly because of the reason that the cryptowold has got a different logic, as an example independent from the nation state by default. However, if someone wants to exchange between fiat and crypto than the first interface money is actually Bitcoin. On the other hand Bitcoin has got actually the biggest mainstream adaptation on the world, implying the most liquidity and probably price stability (not necessarily in comparing with fiat currencies but comparing with other cryptocurrencies). 

Notes on the economics of online education


Considering the current trends of inline education and the different competing platform, that do not only compete in the IT technology but with the content as well, we can basically conclude that the education will become free of charge. It is a pretty good question which impact does it have to the existing classical and centralized educational institutes, like universities or high schools. Which are the topics or know-how that still can be delivered by these institute, and for which topics is it possible to get higher prize as free of charge.   

Thursday, November 9, 2017

Tokenization and gamification


Surprisingly, Blockchain or tokenization and gamification do not seem to be two totally different concepts. The major idea of gamification is on the other hand the "game" itself, on the other hand some economic reward that is usually manifested in community points, badges, new roles and so on. The next logical step is to realize this economic reward directly with trade-able tokens that can not only collected or gained for some community activities but actually traded or perhaps even sold for real or crypto money.   

The idea might work well in fields where the gamification is strong by design. As gamification tokens might mean a special area in the whole cryptoeconomic and probably they do not carry such a huge burden of legislation risk, it might be a good idea not just to try out gamification-tokenization areas one by one, but to create general token-as-a-service platforms.  

Saturday, October 28, 2017

What is the difference between a real estate and a cryptocurrency

This was actually a general question in of of the community blog, however it is interesting generally, so I try to answer it generally.

Both cryptocurrencies and real estates are assets. The only difference is that a cryptocurrency is digital asset meaning the ownership is guaranteed by network protocols and cryptography. On the other hand, a real estate is a physical asset, meaning that even if they are administrated by a Blockchain protocol, the value of the ownership of the asset is guaranteed by the government.   

It is important to note however, that in both cases only the ownership of the asset is guaranteed, the value itself is not guaranteed. In both cases the value of the asset is based on pure market mechanism, namely on supply and demand. It is certainly true that at the moment the price volatility of a real estate is much smaller than at a cryptocurrency, however this might change on a long run because of the network effect, as cryptocurrencies will be reaching mainstream adaptation.

Blockchain as a management or leadership philosophy


"Agile leadership", "Agile management", "Data-driven leadership", "Lean management", "AI in leadership", "How AI will redefine the management", "Lean Leadership" .... Business and management philosophies seem sometimes lack of the original new ideas, instead they borrow ideas from the technology field and try to adapt somehow to an absolutely other field. Classical nowadays example is the Agile leadership and Agile management, which has got the original root in the software development, however it is widely used from classical project management to leadership philosophies with more or less success. Similarly lean, or 6 sigma were actually rather special techniques for production until they were adapted to a broader audience. AI (Artificial Intelligence) and machine learning have been starting to appear in the technology hype phase, however there are already initiatives to define data-driven leadership, and there is brainstorming as well to define AI in leadership.

Surely, there will be initiatives to adapt Blockchain or rather in broader aspect decentralization as a management, business or leadership philosophy. Actually, we have already seen the first initiatives, the DAO (Decentralized Autonomous Organisation) that were trying to replace some of the core management functions with smart contracts. Unfortunately the project was hacked, as a consequence the initiative did not really reach the Hype phase. However, the DAO is only one part of the spectrum. As it is possible to replace most of the core management administration and coordination with smart contracts, it is still pretty much an illusion to automate everything from leadership to doing business. On the other hand, management and leadership philosophies are simply products that are sold among the others to managers and leaders, so automating everything might not be the best selling argument for some of the target groups. 

As a consequence, I am sure that Blockchain or Decentralization will appear as a general management or leadership philosophy as well that has got the roots in the technology field itself but will adapt most of the ideas. How will this new philosophy look like ? Well, we can only guess: It will be probably prefer platform thinking, it will automate most of administration tasks with smart contracts (and hopefully rather with gamification than with some boring administrative tasks), it will be exponential, it will consider non-humans as well both and employees or as customers .... 

If it generally make sense to have decentralized management or leadership philosophy? 
That is actually a pretty good question but considering the recent Blockchain hype, the general philosophy side will appear, independently if it makes sense or not. Just as Lean, Agile and Data-driven have been already appeared on the management and leadership philosophy side. 






Does Cryptocurrency mean the end of Fiat money ?


Perhaps the question itself is a little bit provocative, however we might as well consider the appearance of the cryptocurrencies simply from an evolutionary perspective. As barter was replaces by primitive, following coinage, then paper money and fiat currencies, perhaps cryptocurrencies are simple the new stage of the financial technology evolution. Certainly for the first run Bitcoin and other technologies provide rather a simple money transferring technology. However, there not seem to be any reason why the technology could not extend to a broader area, providing general financial services besides money transfer. One example for that is the appearance of cryptograhicaly funding services, like ICO-s that have the chance to replace the whole venture capitaslim. In this sense, we might as well easily imagine that in a twenty years, fiat style currencies will hundred percent replaced by crypto style financial services.    

Notes on purchasing power of a cryptocurrency



As cryptocurrencies are getting into the mainstream, we might as well start to think over if there is a meaningfully definition of purchasing power of a cryptocurrency.

"Purchasing power is the number and quality or value of goods and services that can be purchased with a unit of currency." - Wikipedia.

However, we need some differentiation here. For the first run, the question is what goods and services can you buy directly with the given cryptocurrency. Certainly there is always the possibility to exchange the given crypto into some other crypto or some fiat currency, however it is pretty much the question if we want to consider purchasing power this indirect way as well. On the other hand general price volatility is somehow feel to be somehow pretty high.

Considering these facts, I think we should distinguish two different measures: 

1. Cryptocurrency coverage: A measure that show what, how many goods or services, can you buy for a given cryptocurrency. It is certainly not so easy to formulate it exactly, however we can argue that Bitcoin has certainly a bigger coverage than Litecoin, which has surely a bigger price coverage than the other noname cryptos. 

2. Cryptocurrency purchasing power: it should look similar to the classical purchasing power, like we might as well interpret as the purchasing power of the crypto after changing it to US dollar for example. Certainly the US dollar choice is pretty arbitrary, the reason for that is that most services and goods that are sold by crypto at the moment are usually denominated in US dollar. However on a long run, perhaps better measures can be found as well.      

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.