YC:區塊鏈將會帶來開發正規化的轉變,這裡是一份進階指南

買賣虛擬貨幣

編者按:區塊鏈的火爆讓很多人都躍躍欲試。YC在其部落格上釋出了一篇文章指出,區塊鏈將會帶來開發正規化的轉變,並且給出了應對這一正規化轉變的操作建議。文章由36氪編譯。



引言


如果你點開了這篇文章,我們就假設你是一個對區塊鏈感興趣的開發者/駭客。你確信你能理解它的工作原理,現在你想要搞清楚區塊鏈對你和你的開發者技能意味著什麼。

如果你需要學習更多的入門知識,我們建議你從比特幣白皮書和以太坊白皮書開始。

這篇文章的主要目標是:

1、解釋區塊鏈開發與現有開發範例的不同之處。

2、為這個領域的機遇和挑戰提供背景資訊。

3、給你指出一些資源, 這些資源將幫你在這個新正規化開始發展中奠定基礎。


開發者的正規化轉換


網際網路應用程式受益於網路效應,因為它們把資訊孤島集中了起來。基於共享的開放協議(如TCP/IP協議、HTTP協議),Yelp、Facebook和亞馬遜等公司都能在一個地方擁有大量的使用者和使用者的資料,這樣一來,他們不僅比那些資料更少的競爭對手有更大的優勢,而且還能完全控制資料變現的方式。

用加密貨幣投資者喬伊·錢格羅(Joel Monegro)的話來說,當前的網際網路正規化是在應用層獲取了大部分的價值,而從底層通訊協議層獲得的價值卻非常低。

或者,區塊鏈正規化的價值分佈可以用協議層(比較多)和應用層(比較少)來描述。這種模式的轉變是有可能的,因為加密代幣的發明,正如USV的阿爾伯特·瓦格納(Albert Wagner)所描述的那樣:

“從歷史上看,從協議中賺錢的唯一途徑是建立軟體來實現它,然後嘗試出售這個軟體(或者託管它)……然而,使用加密代幣,協議的建立者可以直接將協議貨幣化。事實上,當其他人在協議之上建立業務時,協議的建立者實際上會受益更多。”

在此之前,網際網路開放通訊協議的開發者,主要是DARPA的研究人員和非營利貢獻者,從而沒有將財務激勵與協議開發結合起來。相比之下,如今的協議開發者可以釋出“代幣”,比如比特幣和以太坊,這些“代幣”代表了它們去中心化協議的價值。

喬爾(Joel Monegro)認為,這種正規化的轉變會影響開發者對應用程式的思考方式:“共享開放資料與激勵機制的結合,會顛覆‘贏者通吃’的應用層市場,從而改變應用層的遊戲規則,並在協議層建立一個全新類別的公司,這些公司與當前挖掘應用層價值的公司的商業模式有著根本的不同。”


以太坊


我們已經認識到,在區塊鏈正規化中,開發者可以透過協議創新來獲取價值。為了繼續我們的討論,我們回顧一下區塊鏈技術是如何演變,最終迎合開發者的。8年前,比特幣被認為是一種虛擬貨幣,消除了人們對集中式金融體系的需要。最初,開發者實際上是在比特幣區塊鏈上嘗試構建應用,方法是將資料儲存在區塊鏈中,但結果是效率非常低下。其中一名開發者維塔利克·布特林(Vitalik Buterin)對比特幣的不動員和風險規避文化化感到失望。因為他想要打造對開發者友好的新功能。因此,他建立了自己的平臺——以太坊。

雖然比特幣最初的目的是成為一種新的金融價值儲存媒介,但以太坊被的出現是作為一個完整的開發者環境。在以太坊中,開發者們會在Solidity程式語言中編寫智慧的合同,而那些智慧的合同都是在以太坊虛擬機器(EVM)中執行的,在這裡,我們看到開發者有機會分叉或使用他們自己的區塊鏈來實現不同的目的。然而,要做到這一點,就需要開發者的支援,以及激發現有區塊鏈技術此前實現的網路效應。今天,在以太坊這樣的現有網路基礎之上,開發者不僅可以成為他們自己的應用程式的利益相關者,而且還可以成為底層協議的利益相關者。


去中心化應用程式(Dapps)、加密貨幣和智慧合同


如今的區塊鏈開發者通常做法是,在現有協議的基礎上開發去中心化的應用程式,以解決特定市場和終端使用者所需要的問題。這樣一來,開發者就可以釋出代幣,用於執行去中心化應用程式本身的某些“功能”。這些“功能”是一種“智慧合同”,它們承諾為去中心化應用程式提供服務,以換取數字資產,從而消除中間人來擔保交易的需要。

隨著去中心化應用程式的功能越來越受到人們的追捧,固定數量的加密貨幣的價值隨著供不應求而增加。換句話說,如果事實證明,去中心化應用程式的體驗真的是非常引人注目和高度需求的,那麼固定的代幣供應就會變得更有價值。這是所有ICO的基本原則,去中心化應用程式開發者透過提供一種用於應用中的加密貨幣來吸引投資,來資助他們的專案。

但是,等等,你可能會問:“為什麼不使用現有的代幣,而是在一開始就發行自己的、特定於去中心化應用程式的代幣呢?”

特定於去中心化應用程式的代幣可以幫助小規模經濟體實現應用的目的。這些代幣是一種稀缺資源,可以對其進行管理,使其與去中心化應用程式的功能更加緊密地結合在一起。

這就是以太坊的出發點——在以太坊中,開發者可以很容易地為他們自己的去中心化應用程式的指定用途釋出自己的代幣。


早期機會


瞭解了去中心化應用程式的底層機制後,很重要的一點是要仔細思考去中心化最終能夠對使用者帶來什麼樣的好處。我們並不是要跳到一份附帶專案的列表中,而是將關聯式資料庫交給區塊鏈來實現,我們敦促你考慮去中心化的好處。例如,奧格爾(Augur)透過分散的參與者做出正確的預測來預測市場,因為他們會分享財務激勵。

在一個元級別上,開發者堆疊中也有創新的機會。許多區塊鏈開發者將區塊鏈工具和框架的成熟度比作網際網路早期的網路。我們採訪了Stream的Ben Yu,他稱這對開發者來說是一個新的機遇:“在讓這個領域變得更容易獲取的過程中,存在著唾手可得的成果,需要建立大量的技術基礎設施來將區塊鏈的發展水平,從1994年網際網路水平,帶到2017年。”

隨著區塊鏈的創新,許多人發現了建立一個新的、去中心化的網路棧的機會,這種網路棧,不依賴於集中式的政府或企業實體。傳統的網路棧由諸如TCP/IP、DNS、資料庫、Web伺服器、身份驗證系統和CDN等構建模組組成,我們正在使用以太坊作為基礎層來複制這些元件。


不可變性的挑戰


不幸的是, 一種類似於JavaScript早期迭代的技術幾乎肯定會帶來挑戰,其中最明顯的是與新協議的不可變性有關。開發者無法改變基礎區塊鏈或更高階別的智慧合約。合約不能輕易地被版本化。最近的奇偶校驗bug,凍結了1.5億美元的資金,以及許多其他類似的事件,提醒我們有必要建立“基於未來”的架構。

0x工程師布蘭登·米爾曼(Brandon Millman)描述了區塊鏈的不變性如何影響他對安全問題的看法:“身處這個領域意味著要謹慎得多,特別是因為這會給人們的錢帶來風險。”區塊鏈正規化的好處之一是,如果你持有私鑰,人們很難從你那裡把錢取走,但很多騙局會讓你心甘情願地把錢投到錯誤的地方,而不是從你的錢包裡偷錢。”

開發者們,尤其是那些習慣了快節奏的創業公司的開發者,不得不在速度和安全性之間權衡取捨。

正如Stream的Ben Yu所描述的,“你必須非常快地移動,因為空間正在飛速發展,但你不能快速移動,打破常規。如果你把事情搞砸了,你就會損失數億美元。”

在區塊鏈上進行開發需要不同程度的規劃。開發者不能再使用熱補丁或過夜補丁,因為他們不再對整個系統進行集中控制。相反,引入系統變更通常需要對整個協議進行嚴格的處理,或者在某些情況下,為不直接繫結到區塊鏈的協議引數提供單獨的原始碼。


以太坊的侷限性


除了一般的不可變性的挑戰外,以太坊還包含了一些區塊鏈開發者可能會遇到的限制。

首先,以太坊無法從區塊鏈外部獲取實時資料。開發人員需要依賴可信的第三方資料提供商,來為智慧合同提供與外部資訊如天氣、隨機數字或貨幣價值等等。

此外,以太坊的規範還阻止了實時計算。區塊交易的處理時間超過15秒(與比特幣的10分鐘相比,這是閃電般的速度)。因此,開發人員需要編寫帶有前端框架的非同步程式碼,這些框架可以相應地更新狀態(如 React)。

在以太坊中,你還要為你的交易支付交易費用,使用當前版本的Solidity, 如果你打算執行的計算過於昂貴,那麼你很有可能會發現自己遇到了一個交易限制。因此,在區塊鏈中的計算成本在金錢和網路頻寬上變得昂貴。有一些有趣的替代方法,比如Truebit,可以在非鏈中執行更密集的計算。


開始行動


總的來說, 進入這個領域肯定會讓人感到無法抗拒。這是一個跨學科領域,涵蓋了經濟學、博弈論、金融學、電腦科學、數學、密碼學等領域。然而,這也意味著有很多的領域可供新入行者選擇。

0x的布蘭登建議,你應該去那些你感興趣或有經驗的領域,而不是一次性地學習所有東西:“如果你之前已經做過JS開發,你可以做很多的JS庫。雖然你肯定需要知道所有東西最終都是如何組合在一起的,但你不需要一開始就學習整個課程。”

本著去中心化的精神,區塊鏈專案的大部分程式碼也可以透過開源獲得。有很多好的資源可以讓你使用:

  • 官方的Solidity檔案是一個很好的起點。

  • Truffle框架是最堅固的框架之一。

  • 看看如何在zeppelinOS repo中開發出代幣和銷售代幣的方式,這是開發去中心化應用程式最受信任的庫之一。

  • Blockgeek還提供了一份帶有程式碼樣本和高階概念的深度以太坊代幣指南。

  • 你甚至可以從Crypto Kitties中學習,在區塊鏈上建立自己的數字遊戲。

此外,開發者社羣非常善於接納和幫助新人:

  • /r/ethereum

  • /r/ethdev

  • https://blockgeeks.com/

如果你主要透過編寫自己的專案來學習,這裡有一些想法可以開始:

  • 打造自己的錢包。它可以是一個網頁、移動應用或桌面應用。

  • 建立您自己的ERC-20令牌,並將其部署到測試網路中。

  • 把Crypto Kitties做成狗、坦克、殭屍…並將它部署到測試網路中。


展望未來


在當前的狀態下,的開發是混亂的。沒有類似於現代Web開發那樣的框架和工具。但為什麼不把區塊鏈的新生狀態看作是影響一種正規化轉換技術的機會呢?

在區塊鏈上,你不需要部署任何集中式的伺服器,這意味著沒有單點故障。如果你的整個堆疊是去中心化的,那麼就沒有可信的第三方參與到它的審查中去,你的資料庫是可以公開驗證的。隨著新正規化為公開分享資料提供了機會,我們認為將資料庫去中心化是一個最大的優勢。這就是我們在區塊鏈上正在打造的未來——消除中間人,讓資訊和權力被系統地分配。

原文連結:http://blog.ycombinator.com/building-for-the-blockchain/

編譯組出品。編輯:郝鵬程


免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;