Ordinateur
Les logiciels informatiques sont des listes (généralement longues) d’instructions exécutables par un ordinateur. De nombreux programmes contiennent des millions d’instructions, effectuées pour certaines de manière répétitive. De nos jours, un ordinateur personnel exécute plusieurs milliards d’instructions par seconde. Depuis le milieu des années 1960, des ordinateurs exécutent plusieurs programmes simultanément. Cette possibilité est appelée multitâche. C’est le cas de tous les ordinateurs modernes. En réalité, chaque cœur de processeur n’exécute qu’un programme à la fois, passant d’un programme à l’autre chaque fois que nécessaire. Si la rapidité du processeur est suffisamment grande par rapport au nombre de tâches à exécuter, l’utilisateur aura l’impression d’une exécution simultanée des programmes. Les priorités associées aux différents programmes sont, en général, gérées par le système d'exploitation.
Contrat intelligent
Les principales limites à ce qui peut être fait avec des contrats intelligents est qu'un programme d'ordinateur ne peut pas facilement et de manière fiable dire ce qu'il se passe dans le monde physique ou valider qui dit la vérité. Par exemple vérifier si un paiement de Bitcoin a été fait est une tâche simple et appropriée pour un programme d'ordinateur, mais dans la plupart des contrats et des situations du monde réel, l'ordinateur n'a pas la possibilité de vérifier que la contrepartie, le produit acheté en l'occurrence, a vraiment été livré ou qu'un pigiste a bien rempli les exigences énoncées par son employeur. L'exécution d'un contrat intelligent n'est efficace que si ses données d'entrée sont valables et il peut être difficile de trouver des entrées suffisantes pour valider ce contrat. Une solution à ce problème pourrait être le recours à des services d'oracles de blockchain ou fournisseurs de services en ligne dont le travail consiste à diffuser des données qui peuvent être utilisées comme données d'entrée pour les contrats intelligents. Une machine à oracle peut par exemple diffuser de nouvelles entrées sur un registre de décès, pour être utilisées par des contrats intelligents dans l'exécution des testaments ou diffuser les résultats d'un match de football, pour être utilisés dans le règlement des paris de jeu.