在區塊鏈世界中的token到底是什麼?
token的概念很廣泛,在計算機領域中,無論是基礎的網路架構還是服務系統的身份驗證等,都有涉及到token的概念,然而在這裡我想闡述的是在區塊鏈世界中的token是什麼。
相信對區塊鏈有些瞭解的朋友,都或多或少的聽過或者看過關於token的描述,過去的兩年裡,被炒的轟轟烈烈的,通過I-C-O方式去募集的那些個玩意兒,都是指的一種token,有人翻譯為數字代幣,有人稱之為是通證,不管怎麼說,總之就是被不少人認為是一種有價值的東西,不,應該說被認為是一種有價格的東西。
回想長時間以來對於區塊鏈的概念闡述,都是基於技術角度的,總認為這樣的闡述立場會更客觀一些,更樸素一些,對於看官或者讀者來說,能夠排除其他的主觀干擾或者排除一些別有用心的心理暗示。在之前所著的書籍《白話區塊鏈中》,絕大部分的文字也都是闡述技術概念,很少討論經濟學上的意義,或者在社會學、金融領域等的定義。
很顯然,如果說在技術上定義一下,區塊鏈系統中的token是什麼,那不過就是通過一段程式定義的符號或者說一個值。嗯?就這麼結束了?呵呵,當然不是,我們可以在軟體開發中通過程式定義各種值,難道那些都是能被稱為token麼?即便是在區塊鏈軟體的開發中或者基於某個基礎鏈的智慧合約開發中,隨便定義一組數字量,難道就是token了?而這些定義程式不過就是寥寥數十行程式碼,比如我們常用的基於以太坊公鏈部署的token合約,最簡單的程式程式碼,不過就十幾行,我們來看一個例子:
如圖所示,就是一份最簡單的基於以太坊的token合約程式碼,部署在以太坊上時,初始化一個期初總量,這個總量是可以自己隨便定義的,一百、一千、一萬、一個億或者更多都可以。部署後,你就擁有了一個名字叫MyToken的token了,或者叫代幣,叫通證都可以。當然,這還只是區塊鏈系統中定義token的其中一種方式,token還可以生成子token,可以有變化,定義方法或者說玩法還是挺多的。
說到這,很多朋友可能會有些迷茫,總覺的這個什麼token的概念太虛了,真個是如夢幻泡影,如霧亦如電。其實不然,我們來舉些例子吧,咱老百姓說話得接點地氣。
1)大家在商店買東西的時候,買完一般都會要求收取一張發票,這張發票是商家開具的,證明商品的銷售來源和價格的,這張發票就可以算是一種token;
2)古代的時候,有些錢莊銀號,為了讓客戶方便在各地的分號兌換銀兩,會給客戶開具帶有兌換效力的銀票,這個以銀票也是一種token;
3)國家給每位公民都辦理了身份證,這個身份證也是一種token;
4)某個村子,全村人都姓王,家家戶戶的人口資訊都會登記到一個冊子上,這個冊子每隔一段時間就會印發,每戶一本,這個冊子也是一種token;
5)工廠裡工人幹活,每個人分配的工時會記錄在本子上,到了月底就會彙總,換算成酬勞,這個記在本子上的工時也是一種token。
好了,讓我們停一下,大家發現沒有,這裡被稱之為是token的東東都有哪些共同點呢?
在考慮共同點的時候,我們來看下這些token有什麼用。如果沒有沒有這些個發票、銀票或者工時記錄什麼的會怎麼樣?那就會在需要兌換某種權益的時候沒有對應的證明。是不是?
沒有發票的話,如果要去店裡退換貨或者返修,人家可能就不認了;沒有銀票,那些個銀號能給你兌錢麼;沒有工時記錄,到了月底拿什麼給你結算?
是的,我們發現這些個東西都承載了某種權益,當然了,這些權益都是有歸屬的,誰擁有這些個token的所有權,誰就擁有這些token所代表的權益。
那麼,既然是一種權益,那自然也是可以轉移嘍,當然現實生活中的一些token並不都是能通過交易來轉換所有者的,比如身份證就是不能隨便賣的。
現在讓我們再來抽象一下,要說以上這些個token的概念,那還是能理解的,畢竟代表了具體的一些權益的,可是建立在區塊鏈系統中的那些個所謂的token代表了什麼呢?比如我在以太坊上部署了一個token的合約程式,這代表了什麼具體的權益呢?就這麼數行數十行程式碼寫的一段程式怎麼就是token了呢?它代表了什麼樣的價值或者說權益呢?
首先,這些token合約程式,是部署在區塊鏈系統之上的,區塊鏈系統是一種網路系統,而且是一種分散式點對點的網路系統,在這樣的一個網路系統中,存在著一種共識機制。在這個網路中,每條資料都是有所有權的,這個所有權通過一種叫私鑰的金鑰來識別,擁有私鑰的人就擁有對應資料的所有權。而整個所有權會通過共識機制讓全網來共同驗證。比特幣是這種機制,以太幣是這種機制,以太坊上的token也是這種機制,在這種機制中產生的帶有所有權的資料,就是一種token,它代表著什麼樣的權益呢?就是代表一種所有權,一種被網路中大多數節點都驗證認可的所有權。
當然,區塊鏈系統為了維持運轉,是需要一整套的執行機制的,比如比特幣系統、以太坊系統等,需要部署為一個網路,這個網路要儘可能的廣泛,需要共識機制比如挖礦演算法就是一種共識機制,當然也還有其他型別的共識機制,還需要有指令碼指令系統用於轉換所有權,以及等等。
在這樣的網路系統中,不依賴於某一個權威者,而是通過既定的規則機制來進行這個所有權的自動化證明,因此能獲得參與者的認可共識,通過共識保障了所有權。
可能有朋友會問,說我發現目前在一些交易系統中就有交易這些token,價格或高或低,問題是就這麼一個所有權,感覺就是人為製造出來的,也不對應什麼具體的實物權益,怎麼就有高高低低的價格呢?我們知道,一個所有權,不管它是否用於交易,它都是存在的,至於說價格,那是一種市場行為,或者說是炒作行為,這裡面又有一番理論,就像黃金為什麼會有價格,荷蘭鬱金香為什麼會有價格,一套軟體為什麼會有價格等等,價格或許是反應這個token的價值的,或者只是人為炒作的,不用去管它,對於我們來說,理解token是一種所有權就可以了。
如果能夠正確的使用token這個東西,那麼可以設想在網路系統中通過token來攜帶相應的價值,轉換相應的權益,可以去實現類似智慧合約這種應用以及等等,可以去發揮一些創意,去對應現實生活中的一些需求,找到一些應用的點,將這個token與具體化的價值物連線起來,這樣才能發揮token的作用,否則光是token是沒有意義的,不管這個具體化的價值物是什麼,它得是對人們有用的,能滿足一些需求的才行。
以上就是對區塊鏈系統中的token的一些個人觀點,不足之處,歡迎大家指教。
想與作者有更多交流及互動,可掃描下圖中二維碼加入《白話區塊鏈》讀者圈。
(本文內容作者:蔣勇,原文首發於今日頭條,作者回答提問“什麼是token”)
以下是我們的社群介紹,歡迎各種合作、交流、學習:)