📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
「github ci教學」的推薦目錄:
- 關於github ci教學 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於github ci教學 在 何謂CI/CD ? 利用Github Actions 做一個簡單的CI/CD - Medium 的評價
- 關於github ci教學 在 【Flask 教學】實作Flask + GitHub Action CI/CD - Max行銷誌 的評價
- 關於github ci教學 在 優化舊有專案(二):加入CI/CD with github actions 的評價
- 關於github ci教學 在 六角學院- 超詳細CI/CD 圖文教學,讓你GitHub Pages 自動更新 的評價
- 關於github ci教學 在 六角學院- 超詳細CI/CD 圖文教學,讓你GitHub Pages 自動更新 的評價
- 關於github ci教學 在 使用GitHub Action 來做簡單的CI/CD - DocFunc 的評價
- 關於github ci教學 在 Gitlab CI/CD 教學: 從零開始快速上手Runner 與YAML 設定 的評價
- 關於github ci教學 在 教學課程:使用GitHub 在CI/CD 中部署環境- Azure 的評價
- 關於github ci教學 在 GitHub Actions 的工作流语法 的評價
- 關於github ci教學 在 [DevOps] GitHub Actions 筆記| PJCHENder 未整理筆記 的評價
- 關於github ci教學 在 GitHub CI/CD 教學-推薦/討論/評價在PTT、Dcard、IG整理一次看 的評價
- 關於github ci教學 在 GitHub CI/CD 教學-推薦/討論/評價在PTT、Dcard、IG整理一次看 的評價
- 關於github ci教學 在 Visual Studio 2022 使用GitHub Actions 工作流程的CI/CD 部署 ... 的評價
- 關於github ci教學 在 用GitHub Actions, Drone CI 或GitLab CI 部署AWS Lambda 的評價
- 關於github ci教學 在 Implement CI/CD with Github Action Workflows for Your ... - 天瓏 的評價
- 關於github ci教學 在 GitHub Actions入門教學,十分鐘就學會! - Softaverse 的評價
- 關於github ci教學 在 【Python】在GitHub Actions 上建立自動測試並打包至PyPi 的評價
- 關於github ci教學 在 為詹金斯, GitLab CI/CD, GitHub 操作或比特桶管道生成入門 ... 的評價
- 關於github ci教學 在 Drone CI/CD 配合Github 使用Rsync 進行Deploy 的評價
- 關於github ci教學 在 在GitHub Action 優化Node.js App 的環境建置 - dw's 小站 的評價
- 關於github ci教學 在 【CI/CD】Github Actions部署网站到Netlify-哔哩哔哩 - bilibili 的評價
- 關於github ci教學 在 用Github Actions 持續整合Ruby on Rails - DEV Community 的評價
- 關於github ci教學 在 GitHub Actions 入门教程- 阮一峰的网络日志 的評價
- 關於github ci教學 在 用GitHub Action搭建一套CI/CD系统 - InfoQ 的評價
- 關於github ci教學 在 Rails 部署實踐- 使用GitHub Actions 自動化建置 - 弦而時習之 的評價
- 關於github ci教學 在 免費無限建立自己的GitBook 圖文教學– 利用GitHub Pages + ... 的評價
- 關於github ci教學 在 並透過GitHub Action (CI/CD) 進行建置、部署至Azure App ... 的評價
- 關於github ci教學 在 用GitHub Actions的Windows虛擬機器來編譯AutoIT / Compile ... 的評價
- 關於github ci教學 在 在GitHub Pages 上部署Hexo 的評價
- 關於github ci教學 在 用GitHub Action 自動部署程式碼到Linode - New Ideas 新點子 的評價
- 關於github ci教學 在 一條龍佈署CI/CD 從Github 跑Travis 到AWS CodeDeploy 的評價
- 關於github ci教學 在 以AWS 及GitHub 為部落格打造CI/CD Pipeline - 1 的評價
- 關於github ci教學 在 如何使用GitHub Actions 構建自己的CI/CD 管道 - Morioh 的評價
- 關於github ci教學 在 使用GitHub Actions 自動執行專案腳本 - 長庚的作業簿 的評價
- 關於github ci教學 在 Rails 專案搭配Github Actions 進行RSpec 自動化測試 的評價
- 關於github ci教學 在 Git簡易教學/GitLab CI/CD - david LIn 的評價
- 關於github ci教學 在 使用VSTS 來自動建置GitHub repo - Huan-Lin 學習筆記 的評價
- 關於github ci教學 在 如何在GitHub 設定Travis CI,以Ruby on Rails 專案為例。 的評價
- 關於github ci教學 在 如何為你的專案引入Github Actions - 魷型前端 的評價
- 關於github ci教學 在 使用GitHub Actions 构建CI/CD 流程 - DGideas' Blog 的評價
- 關於github ci教學 在 2023 Ssrr Github - jasnews.online 的評價
github ci教學 在 【Flask 教學】實作Flask + GitHub Action CI/CD - Max行銷誌 的推薦與評價
本篇會分別介紹如何使用GitHub Action 建置CI 和CD,而CD 則是會將我們寫好的Flask 專案部署到Google Compute Engine 上。 話不多說,那就開始實作Flask ... ... <看更多>
github ci教學 在 優化舊有專案(二):加入CI/CD with github actions 的推薦與評價
這篇文章會以建構簡單的CI/CD 為主, 前端會使用github page,而後端則是部署在heroku 上。 # 帳戶搬遷以及部署環境變更. # Github. ... <看更多>
github ci教學 在 何謂CI/CD ? 利用Github Actions 做一個簡單的CI/CD - Medium 的推薦與評價
何謂CI/CD? 這也不是一個新名詞了,全名是Continuous Integration and Continuous Deployment,也就是持續整合與持續部署。簡單來說,就是 ... ... <看更多>