待字閨中開發(fā)了一門區(qū)塊鏈方面的課程:《深入淺出ETH原理與智能合約開發(fā)》逢并,馬良老師講授弛矛。此簡(jiǎn)書文集記錄我的學(xué)習(xí)筆記。
課程共8節(jié)課。其中囤攀,前四課講ETH原理软免,后四課講智能合約。
第五課分為三部分:
- Dapp用例
- 合約結(jié)構(gòu)
- Solidity語法
這篇文章是第五課第一部分的學(xué)習(xí)筆記:Dapp用例 焚挠。
這節(jié)課主要講解了 Dapp 的定義或杠、適用場(chǎng)景和若干例子的簡(jiǎn)介。
1宣蔚、Dapp 的定義
Dapp 是一種根植于區(qū)塊鏈的應(yīng)用程序。其最大的特點(diǎn)是需要與區(qū)塊鏈進(jìn)行交互认境,最核心的狀態(tài)信息需要存儲(chǔ)在區(qū)塊鏈中胚委。最核心的邏輯功能要用智能合約實(shí)現(xiàn),其它靜態(tài)數(shù)據(jù)可以保存在一個(gè)中心式服務(wù)器或者一個(gè)分布式的存儲(chǔ)服務(wù)中叉信,如 Swarm / IPFS 亩冬。
2、Dapp 的適用場(chǎng)景
- 對(duì)等的多方參與的有交易行為的場(chǎng)景硼身,不對(duì)等硅急、只有兩方、沒有交易行為佳遂,均沒必要使用Dapp营袜。
- 各方之間信任建立在算法/協(xié)議之上,信息高度透明丑罪,可重復(fù)獨(dú)立的驗(yàn)證結(jié)果荚板。
- 歷史記錄一旦形成就不可更改。
- 具有高可用性/魯棒性吩屹,單點(diǎn)故障不影響整個(gè)系統(tǒng)運(yùn)作跪另。中心化的應(yīng)用,則有單點(diǎn)故障的風(fēng)險(xiǎn)煤搜。
3免绿、Dapp 例子
這里有兩個(gè) DAPP 的匯總網(wǎng)站。本小節(jié)主要介紹 8 類擦盾。
stateofthedapps
dappradar
1. ICO類
這類應(yīng)用主要是基于ERC20代幣規(guī)則開發(fā)的嘲驾,數(shù)量較多。有名的兩個(gè)項(xiàng)目是EOS和Lamden厌衙。
EOS距淫,可以理解為Enterprise Operation System,即為商用分布式應(yīng)用設(shè)計(jì)的一款區(qū)塊鏈操作系統(tǒng)婶希。EOS是引入的一種新的區(qū)塊鏈架構(gòu)榕暇,旨在實(shí)現(xiàn)分布式應(yīng)用的性能擴(kuò)展。
現(xiàn)階段,區(qū)塊鏈應(yīng)用的開發(fā)極為復(fù)雜昂貴彤枢,需要大量人力物力投入狰晚,探索區(qū)塊鏈解決方案的企業(yè)難以順利制定所需的解決方案。不僅如此缴啡,不同區(qū)塊鏈之間的信息流動(dòng)以及數(shù)據(jù)向新系統(tǒng)遷移都可能導(dǎo)致運(yùn)籌方面的困難壁晒。由于系統(tǒng)間缺乏可操作性,區(qū)塊鏈開發(fā)對(duì)于許多企業(yè)仍遙不可及业栅。面對(duì)這些問題秒咐,Lamden希望利用其最新的企業(yè)解決方案使整個(gè)流程變得簡(jiǎn)化。Lamden與其他企業(yè)區(qū)塊鏈解決方案提供商(比如Hyperledger碘裕、Lisk等)有一個(gè)最大的不同携取,那就是Lamden能幫助企業(yè)迅速構(gòu)建起獨(dú)具一格的現(xiàn)成區(qū)塊鏈,內(nèi)含豐富的智能合約功能帮孔,而且不同區(qū)塊鏈之間可實(shí)現(xiàn)無縫交互雷滋。Lamden生態(tài)系統(tǒng)由多個(gè)工具組成,每個(gè)工具都針對(duì)當(dāng)前加密開發(fā)的具體問題文兢。
其它ICO類的應(yīng)用晤斩,可訪問ERC20 Tokens list
此類應(yīng)用滿足前面提到的適用場(chǎng)景:要做ICO,就得滿足平等的多方參與的條件姆坚,需要信息高度透明澳泵,自動(dòng)化運(yùn)行。同時(shí)兼呵,還要?dú)v史不可更改烹俗。
2. 游戲類
游戲類采用ERC721代幣規(guī)則。
ERC20代幣萍程,可分割交易幢妄。ERC721代幣,不可分割茫负,必須以完整的形式存在蕉鸳。
這類應(yīng)用,最出名的就是加密貓Cryptokitties忍法。
Cryptokitties潮尝,聚眾云吸貓的游戲,是基于以太坊平臺(tái)運(yùn)行的饿序。用戶在游戲中可以養(yǎng)大勉失、買賣并繁育“電子寵物”小貓,每只小貓和繁衍的后代都是獨(dú)一無二的原探。
其它的例子有Ethrgoo乱凿,Decentraland顽素。
這類應(yīng)用同樣滿足 DApp 的使用場(chǎng)景:多方,平等徒蟆,交易胁出,信息高度透明,可重現(xiàn)段审,信任基于算法全蝶,高可用性,記錄不可更改寺枉。
3. 收藏/拍賣類
采用ERC721代幣規(guī)則抑淫。主要應(yīng)用于收藏/拍賣,字畫姥闪,珠寶丈冬,房產(chǎn)拍賣。
這類場(chǎng)景甘畅,在沒有區(qū)塊鏈前,中介經(jīng)常做手腳往弓,牟取私利疏唾。使用了區(qū)塊鏈技術(shù)后,歷史不可更改函似,保證了公平槐脏。
4. 博彩類
這類應(yīng)用主要是用到可驗(yàn)證偽隨機(jī)數(shù)的生成,中心化的應(yīng)用撇寞,隨機(jī)數(shù)不易被信任顿天,莊家易采用對(duì)自己有利的隨機(jī)數(shù)。去中心化的應(yīng)用中蔑担,隨機(jī)數(shù)的生成是公開透明的牌废,不易作弊,容易取得各方的信任啤握。
另一類使用場(chǎng)景就抽獎(jiǎng)鸟缕,中心化應(yīng)用同樣也是有上述問題。采用了區(qū)塊鏈技術(shù)的去中心化應(yīng)用可有效解決中心化應(yīng)用存在的問題排抬。一個(gè)典型的例子就是公信寶上的幣得APP懂从。
幣得是一個(gè)區(qū)塊鏈奪寶項(xiàng)目,它采用區(qū)塊鏈技術(shù)來獲取隨機(jī)數(shù)保證奪寶的公平性公開性蹲蒲。它的奪寶規(guī)則如下:
其中番甩,規(guī)則中有個(gè)詞“取余”,指的是做整數(shù)除法時(shí)届搁,除不盡的余數(shù)缘薛,比如窍育,14÷3,等于4余2掩宜,如果能除盡蔫骂,余數(shù)為0。對(duì)應(yīng)于奪寶游戲牺汤,若有5000人次參與辽旋,則有0~4999這5000個(gè)號(hào)碼,取余后得出的結(jié)果是0~4999中的一個(gè)檐迟,從而產(chǎn)生幸運(yùn)號(hào)碼补胚。
5. 交易所/側(cè)鏈類
這里提到三個(gè)項(xiàng)目:Hawala、 Raiden追迟、 Plasma溶其。
Hawala是一個(gè)P2P、去中心化的法幣與數(shù)字貨幣交易中心敦间。對(duì)這類項(xiàng)目瓶逃,馬老師認(rèn)為,其交易搓合能力廓块,吞吐量容易受以太坊網(wǎng)絡(luò)的限制厢绝。
Raiden是以太坊中的“閃電網(wǎng)絡(luò)”,類似于比特幣的閃電網(wǎng)絡(luò)带猴。其做法是將小微交易轉(zhuǎn)到側(cè)鏈上昔汉,提高吞吐量。
Plasma主要是轉(zhuǎn)移ERC20產(chǎn)生的流量拴清,它還能支持智能合約的流量轉(zhuǎn)移靶病。
這兩個(gè)側(cè)鏈的項(xiàng)目還在實(shí)驗(yàn)的階段,其穩(wěn)定性口予,安全性娄周,還有待于觀察。
6. DAO
DAO 是Decentralized Autonomous Organization(分布式自治組織)的簡(jiǎn)稱沪停。它由一系列智能合約組成昆咽,主要想法是把現(xiàn)代公司的治理過程全部自動(dòng)化,盡可能多的由智能合約來實(shí)現(xiàn)牙甫,減少人的干預(yù)掷酗,代表長(zhǎng)期的發(fā)展方向。不幸的是窟哺,2016年發(fā)生過一起 the DAO 事件泻轰。
7. 其它治理類
其它的如電子投票類,非營(yíng)利組織管理且轨,這些使用場(chǎng)景浮声,也是都符合前文提到的幾個(gè)要點(diǎn):多方參與虚婿、平等、信息高度透明泳挥、記錄不可更改等然痊。
8. 廣告媒體類
傳統(tǒng)的廣告有三個(gè)弊端:用戶被動(dòng)接受,無收益屉符;廣告從投放到發(fā)布中間環(huán)節(jié)太多剧浸;用戶隱私得不到很好的保護(hù)。
BasicAttentionToken 項(xiàng)目正在為解決這些問題而生矗钟。它使用Brave瀏覽器匿名監(jiān)控用戶注意力唆香,使用BAT代幣對(duì)內(nèi)容商進(jìn)行獎(jiǎng)勵(lì)。用戶觀看廣告時(shí)會(huì)獲得BAT代幣的獎(jiǎng)勵(lì)吨艇。它具有"更多隱私躬它,更少欺詐"的優(yōu)點(diǎn)。
總結(jié):本節(jié)主要介紹DAPP的定義东涡,使用場(chǎng)景冯吓,及若干例子。