智能合約在運行時只能運行已經確定的數值跟內容,無法動態從 API 取得資料處理,預言機則是與外部API取回資料後寫入鏈上,讓其他智能合約調用它取得所需的API資料提供使用。
区块链是一个确定性的、封闭的系统环境,目前区块链只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界是割裂的。 区块链是确定性的环境,它不允许不确定的事情或因素,智能合约不管何时何地运行都必须是一致的结果,所以虚拟机(VM)不能让智能合约有 network call(网络调用),不然结果就是不确定的。 因为智能合约无法主动去获取链外的数据,只能被动接受数据。
比如金融衍生品交易平台、借贷平台、快递追踪/IoT、稳定币、博彩游戏、保险、预测市场等,目前最主要的场景就是 DeFi。