Smart contracts bestehen aus von Menschen geschriebenen Computercode. Dies birgt verschiedene Risiken, da es Fehler im Code und Sicherheitslücken geben kann. Idealerweise sollten Smart Contracts von erfahrenen Programmierern geschrieben und eingeführt werden, insbesondere in Fällen, in denen sensible Informationen und große Geldbeträge im Spiel sind. Einige argumentieren auch, dass viele der Lösungen und Funktionen, die Smart Contracts bieten, auch von zentralisierten Systemen bereitgestellt werden können. Der Hauptunterschied besteht darin, dass Smart Contracts auf einem verteilten P2P-Netzwerk anstelle eines zentralen Servers arbeiten. Und da sie auf Blockchain-Systemen basieren, sind sie entweder sehr schwer oder unmöglich zu ändern. Die Unveränderlichkeit kann in einigen Fällen von Vorteil sein, ist aber manchmal auch sehr nachteilig. Zum Beispiel wurde "The DAO", eine dezentralisierte autonome Organisation (DAO), im Jahr 2016 gehackt und Millionen von Ether (ETH) wurden aufgrund von Fehlern im Smart-Contract-Code gestohlen. Da Smart Contracts unveränderlich sind, konnten die Entwickler den Code nicht reparieren. Dies führte schließlich zu einer harten Gabelung und zur Schaffung einer zweiten Ethereum-Blockchain. Einfach ausgedrückt hat eine der Chains den Angriff "rückgängig gemacht" und die Gelder an die rechtmäßigen Eigentümer zurückgegeben (diese Chain ist Teil der aktuellen Ethereum-Blockchain). Die andere Chain hat sich entschieden, nicht in den Angriff einzugreifen und darauf zu bestehen, dass auf der Blockchain nichts jemals geändert werden sollte (diese Chain wird jetzt als Ethereum Classic bezeichnet). Es sollte betont werden, dass das Problem nicht von der Ethereum-Blockchain selbst herrührt, sondern vielmehr durch die fehlerhafte Umsetzung eines Smart Contracts verursacht wurde. Eine weitere Einschränkung von Smart Contracts besteht in ihrer noch unklaren rechtlichen Situation. Sie befinden sich immer noch in einem rechtlichen Graubereich in den meisten Ländern und entsprechen nicht unbedingt dem aktuellen rechtlichen Rahmen. Zum Beispiel erfordern viele Verträge eine genaue Identifizierung und Volljährigkeit beider Parteien. Wenn dies mit dem Fehlen von Anonymitätsmechanismen der Blockchain-Technologie kombiniert wird, kann dies die Erfüllung dieser Anforderungen erschweren. Obwohl es mögliche Lösungen für dieses Problem gibt, ist die rechtliche Umsetzung von Smart Contracts sehr schwierig, insbesondere wenn es um grenzüberschreitende verteilte Netzwerke geht.