當學習區塊鏈去到 DApp (Decentralized Application 去中心化應用)、Smart Contract (智能合約) 實作階段的時候,通常會有個疑問:
到底 DApp 與 Smart Contract 是否一樣?是否寫好了 Smart Contract 並部署到區塊鏈上就等同於做好了一個 DApp?
非也!Smart Contract 是組成中 DApp 的一個部份,是連接應用前端(網頁、手機APP)與區塊鏈之間的一個橋樑。
此話何解?繼續往下看:
以傳統網頁應用 App 為例,一般透過API從資料庫(Database)中讀取資料,使用 HTML, CSS, JavaScript 用作渲染網頁並將數據顯示出來。它們之間關係可簡單理解為:
網頁前端(HTML, CSS, JavaScript) <-> API <-> 資料庫
然而,DApp 與 Smart Contract 之間的關係猶如網頁前端與 API 一樣。前端所使用的技術,即HTML, CSS, JavaScript 等都與一般網頁應用一樣,不同的是 DApp 最終訪問的是區塊鏈 Blockchain,而不是傳統中心化的資料庫。它們之間關係亦可簡單理解為:
網頁前端(HTML, CSS, JavaScript) <-> Smart Contract <-> 區塊鏈 Blockchain
當然,這只是很概括地形容兩者之間的差別,更重要的是 Smart Contract 扮演著一般應用中 API 的角色,負責連接 App 與 blockchain,從而成為 Decentralized Application 去中心化應用,即 DApp。