Mistaking blockchain for a distributed ledger usually leads to wrong ideas and broken designs. Other technologies should usually be used to implement an immutable ledger. Especially if there is no use for smart contracts or on-chain code, using Ethereum would usually create too much overhead.
However, a different use for smart contracts seems to be emerging that may not be along the lines they are currently understood: instead of facilitating self executing agreements and payments, they can be useful for user parametrization of complex workloads.
Parameters of a system can ever only be as powerful as the code they are controlling. In platform systems, users will define parameters to control part of a pre-programmed environment in ways that they need it. Parameters often power creep from static values, over macros to full blown scripts. It’s along those lines that Lua developed from a parameter definition language into a powerful script language.
Smart contracts seem to leak into a role where they extend the power of digitally signed parameters to trustable scripts, which can allow e.g. for more flexible controlling of the anonymous execution of analysis code against a provided data stream with full transparency for the data provider and execution guarantee for the code provider.
[pdf-embedder url=“http://howtoblockchain.com/wp-content/uploads/2016/10/Henning_Diedrich_FINAL_-_Devcon_2_Smart_Contracts_as_Parametrization.pdf“ title=“henning_diedrich_final_-_devcon_2_smart_contracts_as_parametrization“]