Decentralized applications, or dapps, are a radical new way of building applications, using blockchain to do away with centralized middlemen.