視頻地址:https://www.bilibili.com/video/av32372347/
前端
DApp 全稱 Decentralized App, 中文翻譯爲去中心化應用。簡單解釋一下很容易:DApp 就是基於智能合約的 App 。可是真讓我詳細點說,發現頭緒角度不少的,由於智能合約自己其實就能夠應用於各個領域的。本文裏面 Peter 會努力給你們講清楚 DApp 的三個最重要的特色。分別是,第一基於智能合約,第二去中心化的遊戲規則,第三有代幣激勵。掌握了這三個點,DApp 區別於傳統 App 的最重要的特徵也就掌握了。後端
先來講第一點,基於智能合約。傳統 App 是跟本身的後端服務器進行交互,而 DApp 從前端來說其實也跟 App 同樣,好比均可以作成 H5 Web 應用,或者能夠作成各個平臺的原生 App ,可是重點是 DApp 的後端不是本身的服務器,而是智能合約。瀏覽器
好比當前一個典型的 DApp 開發,是這樣一個過程。首先開發前端,目前基於原生技術開發還比較少見,不少 DApp 前端都是用 H5 技術開發的,主要開發語言就是 JavaScript 了。然後端就是一個智能合約,須要部署到相似於以太坊,或者 Nervos AppChain 這樣的區塊鏈上。智能合約目前最流行的開發語言仍是誕生於以太坊社區的 Solidity ,雖然以太坊以後的不少智能合約平臺都跟以太坊有必定的競爭關係,可是以太坊上確立的不少東西,也大都成爲了業界標準。服務器
能夠說 DApp 的本質就是智能合約,DApp 的前端部分只是給智能合約提供了一個美觀友好的界面,方便用戶操做和使用智能合約。網絡
智能合約最核心的思想就是去中心化。因此我們下面來介紹 DApp 區別於傳統 App 的第二個特色,就是去中心化的遊戲規則。框架
要達成「去中心化」首先一個要求就是規則透明。DApp 的核心是智能合約,智能合約是部署到區塊鏈上的代碼,因此整個執行過程都是對全部人透明的,全部人都知道發生了什麼,這是共識產生的基本條件。對於前端代碼,原則上也應該是開放源碼的,全部參與者均可以去查看每一行的代碼。最大的透明度保證的是最大的共識,而 DApp 最強大的地方就是能吸引不少人放心的參與進來,由於你們知道這個遊戲是公平的。ide
DApp 的運營也是去中心化的。理想條件下,DApp 不該該被一個商業公司所主導,至少利益的分配是對所有參與者都公平的。DApp 的背後應該是一個社區去主導,全部最重要的決定都是你們投票表決,社區中也會選舉出開發和運營團隊,可是他們除了根據貢獻得到相應的收益以外,不該該享有特權。DApp 條件下不會嚴格區分,公司和客戶,你們理論上都是用戶,都是貢獻者,也不會有個大老闆,把項目賺到的錢所有歸本身。區塊鏈
有了上面所說的代碼透明以及項目運營的透明,DApp 就實現了去中心化的遊戲規則。翻譯
DApp 的第三個特色,也是跟普通 App 區別很是大的一個特色,就是有代幣激勵。cdn
代幣分兩種。一種是相似於比特幣的系統原生幣,好比以太幣,這種幣通常英文叫 coin 。這種幣在 DApp 發揮的做用就是錢。好比一個 DApp 遊戲中,就能夠直接用以太幣去購買裝備。或者另一個很是知名的 DApp 是 Steemit.com ,用戶在上面生產內容,就會收到代幣獎勵。另一種跟原生幣不一樣,不是區塊鏈自帶的,而是基於區塊鏈上的智能合約去生成的代幣,英文中通常叫 token ,token 能夠用來對應其餘資產。好比,一個作二手車交易的 DApp ,就能夠用 token 表明一輛車。代幣自己是個大話題,咱們這裏就不展開了。可是,之因此一串數字能讓你們認爲具備價值,自己仍是由於區塊鏈和智能合約帶來的數據的公開性和不可篡改性。
這裏我想強調的是,每一個用戶在使用 DApp 的時候,若是須要進行代幣轉帳,那麼確定是須要用本身的私鑰進行簽名的。若是每次轉帳都須要用戶輸入私鑰,那麼就會很麻煩了。通常的作法是,私鑰保存在手機上的一個獨立的錢包軟件中,不會保存在 DApp 中,因此就須要錢包協助 DApp 簽名。一種作法是,把錢包安裝在瀏覽器中,例如 MetaMask ,這樣當 DApp 運行在瀏覽器中,就能夠跟錢包配合進行簽名操做了。另一種思路是安裝一個手機上的原生錢包應用,而後讓 DApp 運行在錢包裏面,這樣也能完成簽名操做,實際中的例子是,Nervos AppChain 下的 DApp 。
這就是咱們要聊的第三點了,也就是代幣激勵。這是 DApp 和普通 App 的一個很是大的區別,至關於給 App 增長了一個經濟激勵層,會給遊戲規則帶來顯著的變化。
什麼是 DApp 這節,主要內容就是這些了。網上看到一句話說:DApp是技術進化的下一個合乎邏輯的步驟。我以爲很是的有道理,區塊鏈帶來的人們的共識和數據的公開不可篡改,在這個基礎上不依賴於人來執行的智能合約成爲了可能,因而一切 App 的底層規則也就變了,因此將來的不少 App 都會被改寫爲 DApp 。最後重複一下 DApp 的三個最明顯的特徵,第一個是基於智能合約,第二個是去中心化的遊戲規則,第三個是有代幣激勵。
本文選自於 Learning Nervos:https://learning.nervos.org
做者介紹:
Peter 是一位擁有 10 年以上開發經驗的資深工程師。對 Ruby on Rails 和 React 框架有着很是深入的看法,曾就任於中科紅旗與亞洲各國聯合成立的 Asianux 實驗室,從事系統升級器的研發。目前是好奇貓網絡科技公司創始人兼 CTO ,2014年開始從事區塊鏈相關工做,曾就任於雲幣網。