加密貨幣筆記-智能合約與預言機
參考基礎
智能合約與預言機是加密貨幣科學常聽到的用語,更是這個系統上重要的角色。
本文就這兩個功能做個很簡略的說明,文章參考來源如下,細節部分可以仔細參考
智能合約
https://rich01.com/what-is-smart-contract/
預言機
https://www.abmedia.io/what-is-oracle-and-how-it-work-with-defi
https://www.investors.tw/what-is-chainlink/
智能合約( Smart Contract)
智能合約,說穿了對軟體工程師而言,就是IF THEN ELSE等等種組合。
用更簡單的例子來說明就是智慧手機行事曆設定,如9點提示開A會議,13點通知見B客人,時間到前15分鐘提示等觀念。
最大的應用就是用在自動交易,中間省掉人類作業,審查的麻煩,所以省時省錢。
打個比方,以前沒有智慧手機行事曆設定時,可能需要一位助理把你的行程寫在筆記本上,時間到了催你開會等等。
而有智慧手機行事曆設定時,時間到了,可能手機就主動提醒了,這就是智能合約的價值。
這裡採用投資知識界知名的市場先生的文章,來具體說明智能合約的流程,及與傳統合約的差異。
由此可見,智能合約最大的幫助,是利用一個預先設定好的流程,待所有的條件符合後,用程式執行預定任務。
相對傳統合約的方式,省掉中間認證的時間,以及處理的人工。
此外,智能合約是區塊鏈2.0的重大功能。
風險
因爲時機器執行,好處是不受人的因素影響。風險在於機器是死板的,所以要是定義不清楚,不夠嚴謹,就會被鑽漏洞。
預言機(Oracle)
就如同前面提到智慧手機行事曆排程,如果這個智慧手機是來自美國東岸時區,搬來台灣從未上網校正時間,結果一使用,就是台灣時間晚上9點被通知開A會議,凌晨1點被叫起來見B客人的事件。
就這個事件,智能合約(智慧手機行事曆排程)是對的,它是按照智慧手機上的時間作業的,只不過,智慧手機給它的時間是錯誤的。
預言機的角色,就是給智能合約正確的資訊以做判斷。這個案例,就是告訴智慧手機現在是台灣時間。
預言機在加密貨幣運作最常用的就是報價。有人可能說,直接寫個程式連結到類似CoinMarketCap這種網站就好了,理論上是可以。但有其風險,如果該網站掛了,被駭了,還可以採用嗎?當然不行。
所以為了避免這類問題,預言機採用去中心化,蒐集多種數據來源經過匯總加權才會產生最終的結果,以此保證了最終的數據不是從單一來源獲取的。
就實務運作的例子,請參考來自https://www.investors.tw/what-is-chainlink/, 其以Chainlink做說明
當智能合約連結了Chainlink想要知道比特幣報價時,Chainlink會隨機選擇不同的Chainlink網絡節點,這些網絡節點都是參與在Chainlink預言機中的報價者,他們每個人都會使用API連結外部數據庫,然後得到比特幣的實時報價,每個節點的報價都有可能不一樣,因此Chainlink還需要對這些資訊進行篩選。
報價者們在決定參與報價時,通常需要抵押一部分的Link幣當做押金,如果報價被Chainlink取用,就能得到更多的Link幣作為獎勵,而如果亂報價,則會被收回押金。
Chainlink在做完資料蒐集之後,會剔除極端的數值,優先選擇聲譽良好的網絡節點提供的數值,最後使用這些資料算出合理的報價,並匯報給智能合約。
這樣一來,Chainlink就利用去中心化的特性來保證了數據來源的多樣化從而保證數據的準確,並且還利用合理的獎懲機制來進一步增加數據的正確性,防止有些提供方故意提供錯誤的訊息。
小結
加密貨幣帶來最大的利基就是利用智能合約快速交易,省去中間的費用。
但智能合約是孤立的系統,一定要從外界獲取正確的數據,這個數據就是由預言機來提供。
這是筆者用極簡化的方式來說明網路先進的大作,有興趣的讀者們,可參考以上資料來源連結。