📜 [專欄新文章] Crosslink Recap —— Design pattern: build your first profitable DApp and smart contract
✍️ Feihu Tang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
上文 里說到,這幾天我會在臺北的 Crosslink 作為文字組的志願者,此次我負責這個議程的記錄,裡面非常多的 insight,我聽了非常感動。
會後,陳品來和我說,這次有一點遺憾是自己選擇使用英文,但是自己的英文並不足夠流利,使得大概只是介紹 slide 內容本身,如果用中文的話,就可以捕捉到更多的信息了。但是我覺得現在的版本就已經足夠好,會議當天臺下也有很多 foreigners,這種偶爾選擇走出自己舒適區的方法也是非常值得鼓勵!
陳品和我同是 TPE 的演講者,同時又都在去年成立了自己的 Dapp Startup,我們之間 share 著許多共同的觀點,這一次能夠記錄這個議程,也可以從側面描述一些從我的視角出發的補充論據。這里順便吐槽一下,剛從大阪 Devcon 回來,去了北京 Dragonfly,為了參加 Crosslink,中間不得不又回到日本,差點沒累個半死 …
參考資料
Bilibili, 演講回放 | Youtube 分流
Slide, Design Pattern: Build Your First Profitable DApp and Smart Contract.
Slide, Web3 Business Models by @owocki
加密協議的本質已不是「去中心化」,而是區塊鏈的可分叉
Multicoin:论 Layer 1 和 Layer 2 的价值捕获
論開放式金融框架下價值捕獲的重要性
五分鐘概覽 DeFi 當前常見的商業模式
挑戰
回到當天的議程。首先陳品介紹了 Dapp 開發者所面臨的挑戰,他將一個 Dapp 的生命周期,劃分為三個階段:
Bootstrap 冷啟動
Value Capturing 價值捕獲
Sustainability 可持續發展
其中最難的也是最核心的是第二個階段,Remember what has been told by Felix?
緊接著,陳品類比擴容悖論(Scalability Trilemma) 提出了 Dapp 悖論 (Dapp Dilemma)。開發一個 Dapp 非常容易,但是要開發一款可持續盈利的 Dapp 卻非常困難。究其原因,就是 Dapp 合約在默認情況下應當是開源的,而開源則意味著任何人都可以 fork ,然後將手續費設置成更低甚至是免費的版本。然而開源,或者說 「可分叉性」 ,這柄高懸在開發者頭頂的達摩克利斯之劍,又恰恰是她最迷人的地方。開源、自治、可持續,是每一個 Dapp 開發者所追求的極致的目標。
如同擴容悖論 (Scalability Trilemma) 只是 hard to achive 一樣,Dapp 悖論 (Dapp Dilemma) 也並非無解。
月前 Shell Xu 在 Linux Story 群里有一次 關於開源盈利模式的討論。Btw, 我之前在 Github x 平安雲的活動上, 還有幸聽了 Shell 的一節課 。
Shell 認為開源的盈利模式,有很多種,其中包括:
捐助 有很多成功的例子。甚至還有專門的網站 Patreon,ci-en 以及 愛發電。一些比特幣和匿名幣的開發者也依靠這種模式。軟體開源,但是往 AppStore 賣的話,實際也算是捐助,例如 keka 和很多 shareware games。 (這麼說來,itch 里自由定價,其實理論上也算是捐助吧。)
軟體免費,服務收費 代表 Red Hat
雙授權 代表 GhostScript 和 MongoDB
基金會 然後基金會又分為好幾種模式。 其中最成功的要算 Apache 基金會,參見 從用戶成為“股東” — — 在 Apache 基金會的 2600 天(Mozilia 你還好嗎 — — ?)
緊接著我提到,發幣其實也是一種。這一點最好的文章是 Naval 14 年寫下的那篇著名的 《比特幣眾籌模式》。這個觀點 Shell Xu 也非常認同,並且他還特別指出發幣事實上是很成功的一種手段。另外,最後我的觀點,我後來也專門寫了一篇文章, from open source to self hosting … 這是一個 Self hosting 的例子。
案例
EasyDAI
接下來陳品開始分析一些實際的案例,首先從自己的作品開始。
使用者將以太幣存入後,便會透過智慧合約自動執行,將以太幣兌換為美元穩定幣 DAI,隨後把 DAI 存入 Compound 借貸放款平臺,經由智慧合約去中心化地放款給其他有融資需求的用戶來獲得利息。
—— EasyDAI
我們看到 EasyDAI 的一筆交易中,會同時調用經過多個智能合約,這種互通性(Interoperability),也是 DeFi 項目的魅力之一。參見 InstaDApp, Bridge Protocols 。
Bancor VS Uniswap
剛才說到,發幣也是一種商業模式。談及 ICO,雖然我们都知道 Linux 那句著名的 Talk is Cheap,Show me the code,但在區塊鏈的世界,通常的作法則是 You reap, before you sow。但是並不是說,發幣就是解決所有的問題銀彈,可以參見 Gitcoin 的那篇,而一個多餘的 Token 帶來的後果很可能是災難性的。
Why Gitcoin Didn’t Launch With A Token
比較 Bancor 和 Uniswap,Uniswap 勝出已成公論,原因很多。首先 Uniswap 不會被 Bancor 代幣尋租(之前 Bancor 的運營人員有聯絡到我們希望幫我們的 EOS 代幣上 Bancor 交易所,當然代價是 5000 usdt。。。)。
然後更致命的原因 Bancor 的流動性是死的,而 Uniswap 協議的流動性足夠靈活,可以隨著市場的變化,動態調整。
最後 Bancor 協議的前提,假設 cw 是定值看起來也很沒道理。而所有這些原因,導致的結果就是會是 Bancor 錨定的代幣,缺少脫鉤的機制。關於這個論點,我之前在 Dapp Review 專門寫過文章: 重新審視 Bancor 演算法,為什麼 cw 是失效的設計 。
Kybey
接下來列舉了一個中庸的例子,Kybey。他依靠著 offchain 的設計,避免自己過早的遭遇分叉,從而也成功的積累了網路效應。
Raiden Network
而作為失敗例子的代表,相比於 Lightning,Raiden 網路發行了自己的代幣,並且類似以太坊那樣將這種代幣作為手續費,但是這種做法並沒有捕獲到 Layer2 的價值,從而導致項目的失敗。
MakerDAO
最後陳品舉了一個正面的價值捕獲的例子 — MakerDAO,這個觀點也和此前 X-Orde 群里 Tina 的看法一致。
結論
回到 Dapp Dilemma,因為 Smart Contract 默認你就是需要開源的,所以所有開源軟體會遇到的問題,你大概也都會遇到,而解決這一問題的唯一方法,陳品在 slide 里也進行了總結,就是 在被分叉之前,捕獲足夠的價值,從而積累出足夠的網路效應作為你的壁壘 。
QA
Q: 如何實現閉源。
A: 不要在 etherscan 里 verify source code 就可以了。 這里我還有一個小的疑問,因為實際上我們所有的 bytecode 已經上 EVM 了,這里是否有可能被逆向工程?@陳品
Q: 閉源真的有用戶來用嗎?
A: Of course。
Q: How about PollTogether?
A: 這是一個價值捕獲的好的例子,等到他們開源的時候,合約里已經有足夠吸引力的 deposit 了。
Crosslink Recap —— Design pattern: build your first profitable DApp and smart contract was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
mongodb 心得 在 小吃貨的英國生活日記 Facebook 的最佳貼文
--課程討論專區,歡迎留言分享您的學習心得--
越來越多非資工/資科系的人想要學習程式設計,但是等你開始學程式設計後會發現有很多「名詞」背後的意義不是很清楚,例如在這個課程介紹影片講師就舉的例子 同樣都叫資料庫,MySQL 和 MongoDB 是一樣的嗎? 那可是完全不一樣的資料庫系統,想要進入程式設計領域,先來上這堂先修課程吧!
從這 6.5 小時的課程,你會學到
1. 更好地了解程式設計如何工作的基本原理
2. 了解電腦如何工作的基礎以及如何與現代網路技術相關聯
3. 選擇要使用什麼程式設計語言和在職涯中追求的路徑
4. 了解和應用程式設計的 8 個基本概念
5. 評估,安裝和修改任何內容管理系統
6. 了解世界技術的趨勢,如響應式設計( responsive design ) ,配對程式設計( Pair programming),PaaS 系統和 APIs 的成長
7. 決定你感興趣的技術和生態系統
8. 正確地理解和應用程式設計框架的概念
9. 跟你那些不懂框架,程式庫和 IDE 之間區別的朋友講解(他/她們會愛上你)
10. 與他人溝通關於技術的方式,不會因為你缺乏經驗而立即放棄
11. 最後了解 Comcast (美國最大的有線系統公司) 持續向你收取 29.99美元 的原因
>英文字幕:有
mongodb 心得 在 紀老師程式教學網 Facebook 的精選貼文
[好站推薦] 15 個學習 Angular.js 的網站
在上個禮拜四,我曾貼出一篇「JavaScript 免費學習資源」(鏈結在此: http://on.fb.me/1B7AYVh )的文章,得到不錯的迴響(5342 人看過、179 個讚)。當時我就曾提及,JavaScript 近年來的發展,早已非吳下阿蒙。用 JavaScript 開發出來的框架,早已多如過江之鯽。其中最出名的,應該非下列三大框架莫屬了:
1. jQuery
- 著重在網頁前端(負責繪製使用者介面那一端)。
- 號稱一行程式碼可以做出 JavaScript 百行程式碼才做得出來的效果。
2. Angular.js:
- 也是著重在網頁前端。
- 特色是能透過 MVC (Modal, View, Controller) 架構,把 HTML/CSS 碼,與 JavaScript/Angular.js 分離。
3. Node.js:
- 著重在網頁後端(接取資料庫的那一端)
- 特色為「效能」。
- 希望透過「事件」傳遞,做到「非同步呼叫」,讓瀏覽器不必等伺服器完成工作後,才能著手進行下一個工作。
今天要跟大家介紹的,是 Angular.js 的學習網站。原文網址如下:
http://designpotato.com/15-top-websites-to-learn-angularjs/
照慣例幫大家介紹一下。如果您英文不錯,可以直接看原文即可。以下文章是寫給英文不太熟的朋友看的。
==============
1. Recipes with Angular.js
-------------------------------------
用一篇篇短短的文章,來介紹介紹 Angular.js 的功能。每篇文章一定會舉個小範例讓你能捲起袖子實作,就像做菜看食譜(Recipes)一樣。
2. Tutorials Point
------------------------
其實該網站提供的免費學習文章,不止 Angular.js。而是包含 Java, Node.js, Angular.js, Android, Ruby...等眾多語言的教學文。原文連結通往首頁,為了避免您在首頁找不到 Angular.js,我幫您準備了直達 Angular.js 大門口的連結:
http://www.tutorialspoint.com/angularjs/index.htm
當然其它語言您有興趣,也可以看一下。收穫應該不少。
3. GitHub
--------------
作者該打屁股 XD! GitHub 只是個讓您把原始碼或文件放在此處,並提供「版本管理」功能給您的網站而已。作者卻把超連結直接指向 GitHub 首頁。這樣能找到跟 Angular.js 相關的教學文才有鬼!!不過,紀老師不會讓這種事情發生的,對吧?呵呵!以下是正確頁面的傳送門,請服用:
「Angular.js Learning」
英文版: https://goo.gl/86V7k
繁中版: https://goo.gl/iXPyvw
簡中版: https://goo.gl/s219kC
4. Thinkster.io
-------------------
這也是一個混合了 Angular.js、MEAN (MongoDB, Express.js, Angular.js, Node.js,詳見此連結: http://on.fb.me/1dxXqfv )、Ionic、Swift 四種技術的教學網站。如果您只想看 Angular.js,只要點擊原文連結進去後,再點下方有個「AngularJS」的按鈕,按下去就可以過濾出所有跟 Angular.js 有關的文章了。
5. Year of Moo
---------------------
收集許多 Angular.js 的文章。其實比較不像有順序的教學文。不過看看還是不錯的!
6. Angular.js Tutorial by Todd Motto
------------------------------------------------
這位 Todd Motto 仁兄太神了!他寫了一篇一萬多字的文章,來介紹 Angular.js。讓您看完後,就可以「屁」Angular.js 給別人聽然後不太會露餡。號稱可以「一天學會 Angular.js」的文章。
7. NG Book
----------------
很棒的一本電子書!但原文提供的鏈結不是免費的....不過呢~~咳咳~嗯...傳送門在此 XD:
http://goo.gl/7EhLNd
8. NG Newsletter
-----------------------
一份高品質的 Angular.js 電子週報!由人工挑選的文章,每週定期推送給所有訂戶。免費!
9. Egghead
----------------
「蛋頭先生」的學習網站。其實這也是個收費的綜合性網站,並非只給 Angular.js。點擊進去後,點擊下方的 Angular.js 圖示,或者直接點擊我提供給您的超連結:
https://egghead.io/technologies/angularjs
就可以抵達 Angular.js 的頁面了。它的特色是影音教學。不過有些標示為「Pro」的部分,得付錢才能看。但免費的影音教學也很夠看了!
10. W3 Schools
-----------------------
很老牌的 HTML/CSS/JavaScript 教學網站!近年來也加入 jQuery、Angular.js...等主題。原文很不負責任的指向首頁。如果不想花時間找 Angular.js 在哪裡的朋友,可以直接點擊我提供的連結:
http://www.w3schools.com/angular/
11. Angular.js on Codeacademy
-------------------------------------------
Codeacademy 是一個以「互動學習」出名的網站。強調「做中學」。我非常推薦!原文連結直接點,就能抵達 Angular.js 的頁面。
12. Code School
-----------------------
另一個強調「做中學」的網站。有部分課程開放免費,但有些就得付費了。原文連結指向一個不存在的頁面,我幫各位修正好了。直接點下面這個連結,就能看到「JavaScript 系列」之下的兩個 Angular.js 課程了。一個免費、一個付費。有興趣大家可以試試看:
https://goo.gl/0vcYbY
13. Angular.js in 60 minutes
--------------------------------------
這是一本大約 100 頁的 PDF 電子書,內容不多,不過要 60 分鐘學完我是不太相信啦~ XD 。兩三個小時內看完、有心得,倒是有可能的!想快速瀏覽一下「Angular.js 到底能做什麼」,直接點擊原文提供的連結,就可以下載到這本電子書了。
14. Medialoot
-------------------
其實就是一篇 Angular.js 的長文而已。原文鏈結又很不負責的指向首頁,不管我從主選單找,或者用站內搜尋找「Angular」這個關鍵字,都找不到原文說的那篇文章。後來就求助 Google 大神,要求它把搜尋範圍限制在「medialoot.com」這個網站內,才找到原作者說的那篇文章。我幫大家補上連結在此:
http://goo.gl/xR8CYq
15. Medium.com
------------------------
又來了!作者又不負責任地指向首頁、而非他說的那篇文章了(翻桌)!這樣的作者真的很不負責任耶!不知道他是否來騙稿費的?不管,反正我又請 Google 大神故技重施、找到他說的那篇文章在下面:
https://goo.gl/7GUFv1
===============
今天幫大家介紹的 Angular.js,還滿意嗎?希望大家能有收穫喔!
也麻煩大家不吝按讚鼓勵,或分享給您 Facebook 的朋友喔!