图灵完备是什么?
圖靈完備(Turing Complete),圖靈完備是指機器執(zhí)行任何其他可編程計算機能夠執(zhí)行計算的能力。
圖靈完備也意味著你的語言可以做到能夠用圖靈機能做到的所有事情,可以解決所有的可計算問題。
?
簡單來講,一切可計算的問題都能計算,這樣的虛擬機或者編程語言就叫圖靈完備的。當然圖靈完備也可能因為陷入死循環(huán)而導致程序崩潰。
在某些場景中圖靈完備需要限制語言,有循環(huán)執(zhí)行語句,判斷分支語句等。
舉個例子,如果有人說,我的東西是圖靈完備的,也就意味著理論上它能夠用來解決任何計算性的問題。
此外,圖靈完全性通常指具有無限存儲能力的通用物理機器或編程語言。
與圖靈完備相反的是圖靈不完備,圖靈不完備應該是不允許或限制循環(huán)。可以保證,每段程序都不會死循環(huán),都有運行完的時候。
比特幣的腳本系統(tǒng)是圖靈不完備的,而一些Token的智能合約系統(tǒng)是圖靈完備的。
圖靈完備和圖靈不完備各有其優(yōu)勢,圖靈不完備會更安全些,圖靈完備會更智能些。
?
類似以太坊類似的圖靈完備的腳本語言,包括了循環(huán)的邏輯。然而為了保持網絡穩(wěn)定性,Celes會對最大的循環(huán)次數(shù)做出一定限制。根據(jù)通用圖靈機的概念,圖靈完備就是現(xiàn)代編程語言所能擁有的,可以達到的馮諾伊曼體系結構所能達到的最高計算力。
一般來說,除了一部分腳本語言(如比特幣自帶的腳本語言)以外,大部分的計算機語言都是圖靈完備的。使用圖靈完備的腳本語言,可以在邏輯上做到和其他編程語言兼容,并在理論上能夠實現(xiàn)任何其他語言所能實現(xiàn)的邏輯,以及最大限度的復制現(xiàn)實的商業(yè)邏輯。
Celes將會專門開發(fā)的一套腳本語言。這套腳本語言能提供“圖靈完備”(Turing Complete)的邏輯,還留有與現(xiàn)實法律合規(guī)兼容的功能,這樣使開發(fā)者可以開發(fā)完整的邏輯。
此外,針對所編寫的邏輯,Celes會進行運行該邏輯所消耗的計算機資源進行評估。開發(fā)好的商業(yè)邏輯交給虛擬機在去中心化的網絡內自動運行。商業(yè)邏輯一旦生成,就不能被篡改。
總結
- 上一篇: 学习区块链,绕不过去的“拜占庭将军问题”
- 下一篇: MySQL官方提供的测试数据库脚本和数据