Turing completude é um termo usado para descrever a capacidade de uma máquina de resolver qualquer problema computacional, independente da complexidade, com tempo, memória e instruções suficientes. O conceito originou-se da máquina hipotética de Alan Turing, que ele imaginou como uma fita com código binário e um cabeçote de leitura/gravação que poderia resolver qualquer problema computacional.
Um sistema ou linguagem de programação atinge Turing completude se conseguir replicar os recursos de uma máquina de Turing. Um sistema que não é capaz de fazer isso é considerado incompleto. Por exemplo, uma calculadora comum é não considerada Turing-incompleta, pois sua capacidade de realizar cálculos é limitada, enquanto uma calculadora científica programável é Turing-completa, pois é capaz de lidar com diversas tarefas computacionais.
No contexto da tecnologia blockchain, alguns aplicativos são Turing-completos, já outros não são devido à tecnologia de script usada. Por exemplo, a linguagem de script do Bitcoin é intencionalmente projetada como Turing-incompleta para evitar possíveis problemas, enquanto o Ethereum é uma blockchain Turing-completa e, por isso, é capaz de compreender, implementar diversos contratos inteligentes e executar uma ampla gama de tarefas, desde que tenha as instruções, o tempo e a capacidade de processamento necessários.