Tính toàn vẹn Turing là một thuật ngữ được sử dụng để mô tả khả năng của một máy trong việc giải quyết bất kỳ vấn đề tính toán nào, bất kể độ phức tạp, miễn là có đủ thời gian, bộ nhớ và chỉ dẫn. Khái niệm này bắt nguồn từ máy giả thuyết của Alan Turing, mà ông hình dung như một băng với mã nhị phân và một đầu đọc/ghi có thể giải quyết bất kỳ vấn đề tính toán nào.
Một hệ thống hoặc ngôn ngữ lập trình được coi là Toàn vẹn Turing nếu nó có thể sao chép các khả năng của một Máy Turing, trong khi một hệ thống không thể làm như vậy được coi là Không toàn vẹn Turing. Ví dụ, một máy tính đơn giản là Không toàn vẹn Turing, vì nó chỉ có thể thực hiện các phép tính hạn chế, trong khi một máy tính khoa học có thể lập trình được là Toàn vẹn Turing, vì nó có thể xử lý nhiều nhiệm vụ tính toán đa dạng.
Trong bối cảnh công nghệ blockchain, một số ứng dụng là Toàn vẹn Turing, trong khi những ứng dụng khác là Không toàn vẹn Turing dựa trên công nghệ lập trình được sử dụng. Chẳng hạn, ngôn ngữ lập trình của Bitcoin được cố ý thiết kế là Không toàn vẹn Turing để tránh các vấn đề tiềm ẩn, trong khi Ethereum được xây dựng như một blockchain Toàn vẹn Turing. Tính Toàn vẹn Turing của Ethereum cho phép nó hiểu và triển khai các hợp đồng thông minh đa dạng và thực hiện nhiều loại nhiệm vụ khác nhau, miễn là nó có các chỉ dẫn, thời gian và sức mạnh xử lý cần thiết.