我們以兩種不同的方式研究了區塊鏈。 首先它是一種資料結構,第二它作為傳遞值的協議。 我們想要談談智慧合約的區塊鏈。 除了人工智慧,物聯網和區塊鏈,智慧合約一直是科技界最近兩年來最熱門的話題之一。 它們是區塊鏈上的軟體。
區塊鏈不僅可以託管交易這些簡單的交易資料,還可以託管小型程式。 我們將這些程式稱為智慧合約。 智慧合約本質上是在區塊鏈上執行的軟體。 一般而言,合同是締約方之間達成協議的協議。 “智慧”來自這些數字合同的自動執行。 它們由許多“if,then”語句組成,這些語句由程式碼編寫並強制執行。 如果符合合同條件,合同將自動執行。
智慧合約的承諾
智慧合約有望消除對律師或公證人等中間人的需求,從而降低交易成本。最重要的是,他們無需透過中間人,以節省參與者的時間。智慧合約不僅可以管理未來加密貨幣等數字資產的轉移,而且可以管理所有有價值的東西,例如股票債券和物業(如房地產)。
例如,房東和房客可以使用智慧合約來管理租賃協議。如果租戶未能支付租金,智慧合約可以自動將租戶鎖定在公寓外。在這種情況下,if-then語句看起來像:
如果合同地址在每個月3日從地址Y收到金額X,則授予Y入住公寓的許可權。如果付款連續2個月失敗,則撤銷Y入住公寓的權利。
智慧合約的另一個潛在用例是分散式的eBay。人們可以構建一個智慧合約,其中包含定義拍賣的起始時間和起始出價的截止時間。出價最高者將在拍賣期結束時收到拍賣物。失敗的投標人將透過智慧合約自動退款。這種分散式的eBay將被視為dApp或分散式的應用程式。
dApps
分散式應用程式或dApp是智慧合約的更復雜的應用案例。大多數應用程式和網站使用API(應用程式程式設計介面)與其底層資料庫進行通訊。編寫良好的API使開發人員可以透過定義系統的各個元件(如作業系統,資料庫或軟體庫)之間的通訊來更輕鬆地提供服務。
Dapps使用智慧合約與底層區塊鏈進行通訊。想象一下,未來的智慧合約圖書館擁有大量可用於各種目的的合約模板。我們已經看到了搭建在以太坊上面的智慧合約平臺,已經在逐步實現這種趨勢。
智慧合約平臺
除了乙太網之外,還有許多智慧合約平臺,這是目前最受歡迎的平臺,並且擁有最多的開發者活動。其他平臺包括Lisk,NEM和Hyperledger,這是以太坊的改進版本,專為企業使用而設計。
很少有人知道比特幣也允許部署智慧合約。比特幣有一種叫做Script的內建程式語言。與Solidity相比,它是一種基本的程式語言,用於在以太坊上編寫智慧合約。 Solidity是一種圖靈完備的程式語言,與比特幣指令碼相比,它可以實現更復雜的合約。更復雜的代價是更難以編寫,分析和保護。
在智慧合約背景下的安全性,意味著還要考慮各種合約在場景中的是否可執行。與以太坊的Solidity編寫的相比,用指令碼編寫的比特幣智慧合約允許更少的複雜性。這限制了它們的潛在用例,但使合同(或程式)的可能狀態更容易列舉、檢查和解釋;從而使合約更容易、也更安全。
值得注意的是,以太坊上最常用的智慧合約模板,即ERC20和ERC721標準,不需要圖靈完整性。部署在以太坊區塊鏈上的幾乎所有令牌都使用這兩個標準中的一個,因為它們能更容易地與不同的錢包整合。
他們真的不需要信任機制嗎?
智慧合約的承諾是允許在無信任環境下自動執行。但他們真的可以實現這個承諾嗎?
幾乎所有型別的資產都受到您所在地的當地管轄權的約束。這意味著合同無論是否夠智慧,除了合約本身的信任之外,還需要獲得其對應管轄區域的信任。智慧合約中的財產並不等於現實世界中的財產。與常規合同一樣,這些合約可能會受到不斷變化的情況和解釋的影響。非法合約沒有法律約束力。
我們還必須考慮到,寫傳統合同需要花費長達多年的時間去研究法律框架,制定不同領域的法律法規。編寫智慧合約更加困難,因為需要了解其背後的技術。我們需要一個全新的“技術嫻熟的智慧合約平臺”,以便有意義地實施具有法律約束力的智慧合約。
還有另一個需要克服的重大挑戰。數字世界需要了解真實世界的事件,以便智慧合約能夠運作和執行。 oracle是一個向區塊鏈或智慧合約提交資料的實體。信任問題稱為Oracle問題。想象一下在無信任的環境中執行投注平臺的智慧合約。 oracle需要提交遊戲結果才能讓智慧合約將資金分配給獲勝者。由於Oracle決定智慧合約的內容,因此它也會控制它的功能。
中心化的Oracles不能視為Oracle問題的解決方案。 因為無論實際實施情況如何,若Oracle謊報資料,則其可能比其誠實行事能獲得更多利益。 無論是中心化的還是分散式的,oracle總會付出代價。 誠實地行事必須始終是最有利益激勵的,因此必須有強有力的激勵措施。 就像我們在上一篇文章中談到對礦工的激勵一樣,這是另一個需要博弈論評估和設計激勵機制的問題。
Augur和Gnosis等專案正在透過預測市場研究Oracle問題的分散式解決方案。 在這些預測市場獲得真實應用之前,它們在遊戲上應用相對容易一些。 由於預測市場有可能影響事件的結果,因此丹芬利表示,它們是否能夠成為解決方案還有待觀察。
引用一句Dan Finlay@danfinlay的理論:由於分散式預測市場可以影響對機率事件的激勵機制,所以它們不僅僅是預測工具,而應始終被視為激勵工具。
在解決建立具有法律約束力的智慧合約和Oracle問題的問題之前,智慧合約的使用將僅限於涉及低風險的小型實驗領域。潛在案例有:由某些成就觸發在遊戲中的付款,並由程式碼對其進行客觀真實性驗證。
正如Jimmy Song所說:“信任第三方的智慧合約消除了無信任的最大特色。”要想在不同領域廣泛使用無信任的智慧合約,還有很長的路要走,但它們絕對是一個值得探索的概念。
總結
你應該知道區塊鏈是什麼。我們將其視為資料結構和一組規則。由於賬本具有分散式特性,區塊鏈可以可靠地儲存資料。只要他遵守協議規則,任何人都可以在沒有任何許可或註冊的情況下參與網路。這使得公共區塊鏈具有抗審查、無強權、無需信任和有價值。它不僅可以儲存資料,還可以儲存去中心化的應用程式。
智慧合約可以客觀執行那些由程式碼構建,由多方共同達成共識的協議。它們有可能減少中間人,從而降低成本和節約時間。他們很可能會促進軟體開發人員與司法系統之間進行密切聯絡。在我們看到廣泛應用之前,我們必須克服一些障礙。監管機構必須建立一個框架,以便部署具有法律約束力的智慧合約,並且還需要制定去中心化的Oracle。