I expect to get mostly flames from this post, but that’s OK.
Implementing a blockchain (i. e. consensus mechanism) at the lowest level of a dapp platform’s protocol stack is a serious mistake.
Not all dapps require the security offered by a complete blockchain. A social network, for example, could function at an acceptable level w/out maintaining a complete, up-to-date record of everyone’s posts.
Hence, it makes more sense to implement a consensus protocol at Layer 2, to be used by only those dapps requiring it (i. e. cryptocurrencies), and perhaps leaving transaction verification/authentication or other parts needed for the blockchain at Layer 1.
I expect that any dapp platform that will dominate will be designed in this fashion, as transaction frequency will be the decisive factor for the success of any such system, so those platforms with the least bulk in their underlying protocols (as well as the friendliest APIs) will win.