Contract-Development
具有高度可變模型的智能合約機器學習案例
我在考慮不同的智能合約案例。
主意
想像一個對圖像進行分類的服務。它將動物(例如貓)的圖像作為輸入並確定動物的類型。
這種分類問題是通過機器學習來解決的。圖像辨識服務使用訓練數據創建機器學習模型。該模型通過預測 API 向公眾開放。使用者需要付費才能查詢此 api。機器學習模型不是一成不變的。隨著新圖像的提供,模型被重新訓練以改進未來的預測。
商業交易
要獲得預測,需要執行以下步驟:
- 輸入圖像
- 檢查賬戶餘額,當有足夠的錢可用時,繼續,否則中止
- 等待圖像辨識服務提供輸出
- 接收輸出
智能合約
所以我的問題是,這個想法/商業交易可以作為智能合約實現嗎?是否有意義?
由於智能合約是不可變的,因此對於每個(重新訓練的)機器學習模型,都必須創建一個新的智能合約。並且必須跟踪舊的智能合約,因為它們會提供更糟糕的預測。或者是否有銷毀“舊”智能合約的選項?
擁有一個高度可變的服務,使用像 oraclize.it 這樣的服務來實現對外部服務的 API 呼叫不是更好嗎?
我認為您仍然可以使用智能合約進行付款。這部分將是不可變的,您可以跟踪您的付款等。我認為用於發送和接收圖像/答案的鏈下解決方案會更有意義。由於契約中沒有發生機器學習,因此您永遠不必重新部署它。
這裡發生了三件事:
- ML模型的建構
- 推論
- 使用服務的費用
現在根據您的描述,您想要的是可以使用智能合約在鏈上發生的支付部分。#1 和 #2 發生在鏈下,您無需為那裡的任何更改重新部署智能合約。支付案例適用於任何 SaaS,而不僅僅是推理服務。