evm中存儲
㈠ 以太坊架構是怎麼樣的
以太坊最上層的是DApp。它通過Web3.js和智能合約層進行交換。所有的智能合約都運行在EVM(以太坊虛擬機)上,並會用到RPC的調用。在EVM和RPC下面是以太坊的四大核心內容,包括:blockChain, 共識演算法,挖礦以及網路層。除了DApp外,其他的所有部分都在以太坊的客戶端里,目前最流行的以太坊客戶端就是Geth(Go-Ethereum)
㈡ 以太坊是什麼丨以太坊開發入門指南
以太坊是什麼丨以太坊開發入門指南
很多同學已經躍躍欲試投入到區塊鏈開發隊伍當中來,可是又感覺無從下手,本文將基於以太坊平台,以通俗的方式介紹以太坊開發中涉及的各晦澀的概念,輕松帶大家入門。
以太坊是什麼
以太坊(Ethereum)是一個建立在區塊鏈技術之上, 去中心化應用平台。它允許任何人在平台中建立和使用通過區塊鏈技術運行的去中心化應用。
對這句話不理解的同學,姑且可以理解為以太坊是區塊鏈里的Android,它是一個開發平台,讓我們就可以像基於Android Framework一樣基於區塊鏈技術寫應用。
在沒有以太坊之前,寫區塊鏈應用是這樣的:拷貝一份比特幣代碼,然後去改底層代碼如加密演算法,共識機制,網路協議等等(很多山寨幣就是這樣,改改就出來一個新幣)。
以太坊平台對底層區塊鏈技術進行了封裝,讓區塊鏈應用開發者可以直接基於以太坊平台進行開發,開發者只要專注於應用本身的開發,從而大大降低了難度。
目前圍繞以太坊已經形成了一個較為完善的開發生態圈:有社區的支持,有很多開發框架、工具可以選擇。
智能合約
什麼是智能合約
以太坊上的程序稱之為智能合約, 它是代碼和數據(狀態)的集合。
智能合約可以理解為在區塊鏈上可以自動執行的(由事件驅動的)、以代碼形式編寫的合同(特殊的交易)。
在比特幣腳本中,我們講到過比特幣的交易是可以編程的,但是比特幣腳本有很多的限制,能夠編寫的程序也有限,而以太坊則更加完備(在計算機科學術語中,稱它為是「圖靈完備的」),讓我們就像使用任何高級語言一樣來編寫幾乎可以做任何事情的程序(智能合約)。
智能合約非常適合對信任、安全和持久性要求較高的應用場景,比如:數字貨幣、數字資產、投票、保險、金融應用、預測市場、產權所有權管理、物聯網、點對點交易等等。
目前除數字貨幣之外,真正落地的應用還不多(就像移動平台剛開始出來一樣),相信1到3年內,各種殺手級會慢慢出現。
編程語言:Solidity
智能合約的默認的編程語言是Solidity,文件擴展名以.sol結尾。
Solidity是和JavaScript相似的語言,用它來開發合約並編譯成以太坊虛擬機位元組代碼。
還有長像Python的智能合約開發語言:Serpent,不過建議大家還是使用Solidity。
Browser-Solidity是一個瀏覽器的Solidity IDE, 大家可以點進去看看,以後我們更多文章介紹Solidity這個語言。
運行環境:EVM
EVM(Ethereum Virtual Machine)以太坊虛擬機是以太坊中智能合約的運行環境。
Solidity之於EVM,就像之於跟JVM的關系一樣,這樣大家就容易理解了。
以太坊虛擬機是一個隔離的環境,在EVM內部運行的代碼不能跟外部有聯系。
而EVM運行在以太坊節點上,當我們把合約部署到以太坊網路上之後,合約就可以在以太坊網路中運行了。
合約的編譯
以太坊虛擬機上運行的是合約的位元組碼形式,需要我們在部署之前先對合約進行編譯,可以選擇Browser-Solidity Web IDE或solc編譯器。
合約的部署
在以太坊上開發應用時,常常要使用到以太坊客戶端(錢包)。平時我們在開發中,一般不接觸到客戶端或錢包的概念,它是什麼呢?
以太坊客戶端(錢包)
以太坊客戶端,其實我們可以把它理解為一個開發者工具,它提供賬戶管理、挖礦、轉賬、智能合約的部署和執行等等功能。
EVM是由以太坊客戶端提供的。
Geth是典型的開發以太坊時使用的客戶端,基於Go語言開發。 Geth提供了一個互動式命令控制台,通過命令控制台中包含了以太坊的各種功能(API)。Geth的使用我們之後會有文章介紹,這里大家先有個概念。
Geth控制台和Chrome瀏覽器開發者工具里的面的控制台是類似,不過是跑在終端里。
相對於Geth,Mist則是圖形化操作界面的以太坊客戶端。
如何部署
智能合約的部署是指把合約位元組碼發布到區塊鏈上,並使用一個特定的地址來標示這個合約,這個地址稱為合約賬戶。
以太坊中有兩類賬戶:
· 外部賬戶
該類賬戶被私鑰控制(由人控制),沒有關聯任何代碼。
· 合約賬戶
該類賬戶被它們的合約代碼控制且有代碼與之關聯。
和比特幣使用UTXO的設計不一樣,以太坊使用更為簡單的賬戶概念。
兩類賬戶對於EVM來說是一樣的。
外部賬戶與合約賬戶的區別和關系是這樣的:一個外部賬戶可以通過創建和用自己的私鑰來對交易進行簽名,來發送消息給另一個外部賬戶或合約賬戶。
在兩個外部賬戶之間傳送消息是價值轉移的過程。但從外部賬戶到合約賬戶的消息會激活合約賬戶的代碼,允許它執行各種動作(比如轉移代幣,寫入內部存儲,挖出一個新代幣,執行一些運算,創建一個新的合約等等)。
只有當外部賬戶發出指令時,合同賬戶才會執行相應的操作。
合約部署就是將編譯好的合約位元組碼通過外部賬號發送交易的形式部署到以太坊區塊鏈上(由實際礦工出塊之後,才真正部署成功)。
運行
合約部署之後,當需要調用這個智能合約的方法時只需要向這個合約賬戶發送消息(交易)即可,通過消息觸發後智能合約的代碼就會在EVM中執行了。
Gas
和雲計算相似,佔用區塊鏈的資源(不管是簡單的轉賬交易,還是合約的部署和執行)同樣需要付出相應的費用(天下沒有免費的午餐對不對!)。
以太坊上用Gas機制來計費,Gas也可以認為是一個工作量單位,智能合約越復雜(計算步驟的數量和類型,佔用的內存等),用來完成運行就需要越多Gas。
任何特定的合約所需的運行合約的Gas數量是固定的,由合約的復雜度決定。
而Gas價格由運行合約的人在提交運行合約請求的時候規定,以確定他願意為這次交易願意付出的費用:Gas價格(用以太幣計價) * Gas數量。
Gas的目的是限制執行交易所需的工作量,同時為執行支付費用。當EVM執行交易時,Gas將按照特定規則被逐漸消耗,無論執行到什麼位置,一旦Gas被耗盡,將會觸發異常。當前調用幀所做的所有狀態修改都將被回滾, 如果執行結束還有Gas剩餘,這些Gas將被返還給發送賬戶。
如果沒有這個限制,就會有人寫出無法停止(如:死循環)的合約來阻塞網路。
因此實際上(把前面的內容串起來),我們需要一個有以太幣余額的外部賬戶,來發起一個交易(普通交易或部署、運行一個合約),運行時,礦工收取相應的工作量費用。
以太坊網路
有些著急的同學要問了,沒有以太幣,要怎麼進行智能合約的開發?可以選擇以下方式:
選擇以太坊官網測試網路Testnet
測試網路中,我們可以很容易獲得免費的以太幣,缺點是需要發很長時間初始化節點。
使用私有鏈
創建自己的以太幣私有測試網路,通常也稱為私有鏈,我們可以用它來作為一個測試環境來開發、調試和測試智能合約。
通過上面提到的Geth很容易就可以創建一個屬於自己的測試網路,以太幣想挖多少挖多少,也免去了同步正式網路的整個區塊鏈數據。
使用開發者網路(模式)
相比私有鏈,開發者網路(模式)下,會自動分配一個有大量余額的開發者賬戶給我們使用。
使用模擬環境
另一個創建測試網路的方法是使用testrpc,testrpc是在本地使用內存模擬的一個以太坊環境,對於開發調試來說,更方便快捷。而且testrpc可以在啟動時幫我們創建10個存有資金的測試賬戶。
進行合約開發時,可以在testrpc中測試通過後,再部署到Geth節點中去。
更新:testrpc 現在已經並入到Truffle 開發框架中,現在名字是Ganache CLI。
Dapp:去中心化的應用程序
以太坊社區把基於智能合約的應用稱為去中心化的應用程序(DecentralizedApp)。如果我們把區塊鏈理解為一個不可篡改的資料庫,智能合約理解為和資料庫打交道的程序,那就很容易理解Dapp了,一個Dapp不單單有智能合約,比如還需要有一個友好的用戶界面和其他的東西。
Truffle
Truffle是Dapp開發框架,他可以幫我們處理掉大量無關緊要的小事情,讓我們可以迅速開始寫代碼-編譯-部署-測試-打包DApp這個流程。
總結
我們現在來總結一下,以太坊是平台,它讓我們方便的使用區塊鏈技術開發去中心化的應用,在這個應用中,使用Solidity來編寫和區塊鏈交互的智能合約,合約編寫好後之後,我們需要用以太坊客戶端用一個有餘額的賬戶去部署及運行合約(使用Truffle框架可以更好的幫助我們做這些事情了)。為了開發方便,我們可以用Geth或testrpc來搭建一個測試網路。
註:本文中為了方便大家理解,對一些概念做了類比,有些嚴格來不是准確,不過我也認為對於初學者,也沒有必要把每一個概念掌握的很細致和准確,學習是一個逐步深入的過程,很多時候我們會發現,過一段後,我們會對同一個東西有不一樣的理解。
㈢ EpiK團隊:打造共建共享共益的開源知識平台
1月10日,由EpiK銘識協議主辦的「2021開源知識運動」主題活動為業界帶來了一場知識圖譜開放與互聯的智慧盛宴。活動吸引了包括清華大學信息技術研究院副院長邢春曉、中國計算機學會知識圖譜 SIG 主席/著名知識圖譜專家/OpenKG主要發起人王昊奮、東北大學自然語言處理實驗室副主任/小牛思拓創始人王會珍在內的重量級嘉賓參與。
在此次大會上,EpiK中國區負責人Eric Yao 做了《分布式知識圖譜構建》的主題演講,其中他重點提及了區塊鏈去中心化的協作模式搭建共建共享共益的開放知識庫的構想與實踐。同時EpiK產品負責人介紹了即將推出的游戲化數據標注平台,詳細內容如下:
前面三位老師分別講述了知識圖譜、區塊鏈和數據標注三個方向的細節,而這三個方面融合在一起又會產生怎樣的火花呢?接下來我要講的EPIK PROTOCOL銘識協議,它的目的就是為了構建人類的永恆凱升知識庫,從而提高AI的智能,這就是數據開源或者是知識開源。
為什麼要搭建開源知識平台?
EpiK項目是基於區塊鏈的可信的分布式數據和知識的共享平台,通過去中心化數據存儲和協作的方式來實現數據的共建和共享。為什麼Epik會嵌入到人工智慧和區塊鏈的結合的角度,來切入到創業中來?這與當下的時代背景密不可分。
第四次工業革命已經來臨了,全面智能化是這個階段的核心目標之一,各種智能體也在逐漸的走入日常生活,比如說siri、小愛同學等等人工智慧的語音助手,還有各種有AI學習能力的家用電器,比如說冰箱洗衣機彩電等等。
人類的知識傳承已經有數萬年了,最早是甲骨文刻在石頭上,最後演變成竹帛紙張,到數字化存在硬碟上,這些知識都以文本圖片和音視頻非結構化的數據結構來存儲,人類理解這些知識是很容易的,比如,我們可以很輕松的從電影中或者是從歌曲中判斷這個人物的關系和情節。但是對這些信息,機器理解是很難的,很難通過一禎一禎的屏幕來把人類的關系梳理出來,如何讓機器理解我們的人類的知識?
谷歌2012年提出知識圖譜,它通過結構化的人類體系,從而讓機器掌握人類的知識,開拓AI的認知。這里有一個知識圖譜,也是我們很熟悉的一部電影,叫做《復仇者聯盟》,它是用一個一個的圖譜組成的網路結構,描述了電影中透露的各種各樣的信息,有了這些圖譜,AI就可以讀懂知識圖譜回答很多的問題,比如如何獲得寶石位置,從誰那裡取得寶石等等。
人工智慧是一個大的方向,但是這個事兒和區塊鏈有什麼關系,這個就需要引入到一個很嚴肅的話題,是人類怎麼樣才能信任人工智慧或者機器智能,這里就涉及機器人是否會欺騙人類,遲孫余引導人類作出錯誤的決策。
AI或者知識圖譜是很多的公司在做得事情,臉書,蘋果、亞馬遜、阿里巴巴等等,他們每個大公司都耗時費力的構建自己的知識圖譜,但是這些知識圖譜不是互聯互通的,每個公司有自己的知識庫,這就涉及到一個問題,中心化的知識庫會面臨被篡改知識圖譜的隱患,由於知識圖譜是一個可以一個一個三元組成的拓撲式網路結構,一個結點的變化,很容易導致計算機或者人工智慧理解這個節點相關其他節點的關系都會發生變化,從而造成善惡或者立場的變化,這是非常危險的。
同時構建超大規模的知識圖譜,還面臨著無法組織大量的人工參與到構建知識庫的過程中,缺少這樣的組織結構,專業化是很難做到的,也會成為機器智能化巨大的障礙。
基於這兩點可以看到,構建超大規模知識圖譜,區塊鏈技術是目前唯一找到解決這個問題的出路,因此,知識圖譜就要開源開放可見度,這是它的必備屬性,而不是不可對它產生的結果做解釋。
構建開源知識平台有哪些挑戰?
知識圖譜底層的存儲要開放開源和監督,但是人們怎麼樣可以協作共建知識庫,同時可以訪問知識庫?
這裡面有很多挑戰,人類的知識是非常多的,領域也非常多,如何搭建共享平台我要是考慮幾點。
第一點,如何開放知識共享,通過構建一些合理的工碼滾具和機制,讓人人都有渠道貢獻知識,因為每一個人都是智能體,讓有需求的人可以有方法和訪問這些知識。
第二條,如何防範知識篡改,或者知識被更改的時候可以溯源的,這就需要用到區塊鏈的東西,它能保證知識的確權和不可更改,同時也可以通過合適的機制保障它可以持續的公開和更新。
接下來是我們如何能保持知識的質量,由於區塊鏈其實是價值的載體,它的存儲成本很高,它的優勢其實不在於存儲成本,而是在於數據的共建和共享,如何保證知識質量是很重要的一個話題。
在知識的產生層面,知識要可以被監督,在知識質量出現問題的時候,它需要被追責,才會形成一個良性循環,讓鏈上的數據變得質量越來越高,越來越有價值。
最後一點,如何激勵知識貢獻,每個人都會通過我們的系統提供知識或者為我們系統做貢獻,但是其實每個人都不一定是自發性的愛好,所以需要合理的激勵機制,如何權衡各方面的收益的動態平衡,同時使得激勵的分發成本相對比較低,讓系統良性的可循環的運作起來,也是非常重要的。
為什麼會選擇在2020年做這個事情?我們觀察到了一些合適的機會,很多的時機已經成熟了:2020年的時候基於區塊鏈的去中心化存儲技術剛剛成熟,比如很有名的項目Filecoin,可以藉助0知識證明,以極低的管理成本組織超大規模的防篡改可共享的開放存儲資源;2020年數據標注這個行業也迎來了一個大的爆發,預計2025年會達到100億左右的人民幣規模,同時會促進大量的年輕的就業人口湧入,為這個行業提供豐富的知識貢獻和知識質檢人才;2020年,DeFi這個概念迎來了空前的發展,可以更好的幫助解決線上的激勵動態分配的問題,同時讓數字貨幣的激勵手段變得更加靈活;社會對數字貨幣的接受程度越來越高,越來越接受激勵的合理性的概念。
EpiK構建超大規模知識圖譜的解決方案
基於上面的考慮,誕生了EPIK PROTOCOL,EPIK指的是EpigraphyKnowledge,翻譯過來就是銘刻在石頭上的知識,代表著進入區塊鏈上的知識,就像銘刻在石頭上一樣,不可以被隨意的篡改,目的是依託區塊鏈技術,構建人類永恆知識庫,從而開拓AI的學識。針對前面提出的問題,提出三大解決方案。
第一點,要藉助去中心化的存儲技術,來解決數據的不可篡改問題,就是這樣的數據是不可以被隨意篡改的,這些知識不會因為私人的利益而隨意篡改的,從而實現知識在全國各地永恆存儲得以廣泛傳播。
第二點,藉助去中心化自治組織解決勞動力問題,實現各國各界各族人民去中心化協作中公平獲益。
第三點,藉助通證經濟解決自驅力問題,實現生態中各個成員為追求自身利益最大化,從而無形中推動知識圖譜數據壯大的過程。
Epik技術架構,分為三大模塊,知識提取、知識存儲、知識應用,由低到高的三個層級,裡麵包含了很多的技術細節。
Epik生態參與者包含五個角色:持幣用戶、數據礦工、領域專家、賞金獵人、數據網關。把這些角色按照數據從生產到存儲到使用這三個過程,數據產生的團體包含三種角色,一個是核心用戶,一個是領域專家和賞金獵人,核心用戶是可以通過投票來票選出領域專家,確保領域專家的權威性和專業性,領域專家是一個非常核心的的人物,負責組織生產各個類目的人類知識庫數據,由於整個工作是非常勞動密集型的工作,所以涉及到大量的繁雜的數據糾錯和清洗的工作,數據專家是無法完成的,他需要把這些任務拆分出來,發布到平台上,由賞金獵人認領,他的目的就是為了完成領域專家發布的任務,同時獲得對應的獎勵。
經過領域專家發布任務,把數據梳理和清洗出來以後,通過領域專家上傳給數據礦工上,就是底層的存儲機制上,這裡面有數以萬計的數據礦工來共同維持著整個平台數據的不可篡改和確權。
數據從產生到存儲下來,可能涉及到應用的環節,上面會有很多應用的生態,如何方便的訪問這些數據,就引入了第五個角色,就是數據網關,它的作用就是為整個底層的數據存儲提供數據訪問和數據索引的服務,為上層的應用層賦能,讓上層的應用層更好的使用整個平台存儲的數據。
上面說到的兩個圖偏概念化,下面舉一個具體的例子,如何實現商業閉環,這就是一個具像化的圖。
首先可以看到上面已經標注了一些角色了,領域專家,數據網關等等,領域專家是行業專家和領域達人,目的是梳理數據格式,組織數據生產和驗收數據質量,其處理的數據都是自己所在該領域的公開的數據源,比如說公開的企業信息,公開的教材信息等等,當他把這兩個數據源梳理的格式定好了,所要處理的數據任務發到去中心化的平台上,賞金獵人就可以在這個平台上認領任務,他的角色一般是大學生、青年白領等等,有一定的空閑時間,有一定的知識儲備和使用工具素養的一些人,他們可以領取眾包任務,同時對這些數據進行校對,獲取一定的收益。
數據按照我們所需要的格式和質量生產好以後,由領域專家提供給礦工,礦工就是底層的分布式存儲節點,由於我們的數據存儲比較定向化,都是針對知識領域的,所以對數據存儲的要求能力都不是很高,可能要求這些伺服器八核16G,250G的ssd固態硬碟,5兆的帶寬就可以滿足。數據存儲了以後,上層會有很多的應用,會訪問我們的數據,因為我們的數據很有價值,因為我們整理了公開的企業信息,原題庫整理了教材信息,這兩種信息對他們來說都是非常有用的,同時我們可以看到上層知識的應用場景都有很大的規模,就是證明我們所服務的市場增長潛力和空間是巨大的,也可以保障整個項目的快速發展。
他們可以通過數據網關很好的訪問我們平台上存儲的知識和數據,從而實現更多的商業化應用,為整個知識的變現提供價值。
這個系統為什麼會很好運作起來?這裡面就有一個區塊鏈行業的概念,叫做通證經濟,就是我們希望設計合理的通證經濟,每個人提供貢獻在裡面都會有對應的收益,比如領域專家每天會有5880元人民幣的收益,可能每個月的收益足夠他養活10到20人的小團隊,持續的做這個事情。賞金獵人都是小鎮青年和白領時間比較零散化的一類人,他們是時薪的方式,可能達到每小時36塊錢,完成任務就可以領取這部分的收益。礦工,大概會有30元每台節點一天的收益。最後底層的應用場景,用戶想要使用數據是需要去耗費一定的資源的,這是給整個系統注入能量的一個過程,他們需要大概抵押每天是202塊錢人民幣左右的積分,就可以獲得1GB數據的訪問權,可以隨時的贖回,這形成了商業閉環。
接下來看一下整個項目的路線圖:第一階段是我們已經完成的,如白皮書測試發布,測試網方尖碑發布,到白皮書發布,測試網預挖計劃發布,領域專家招募計劃啟動,都已經完成了,第二階段是主網v1.0羅塞塔發布,還有《治理白皮書》發布和知識眾包產品1.0發布,到今年的二三季度,就會發布主網v2.0,引入重要的概念就是以太坊,EVM虛擬機,同時去中心化治理平台發布和知識眾包產品2.0發布。
順便提一下,為什麼引入EVM信息?這可以很便捷或者0成本的把以太坊上的經濟或者去中心化的Eth經濟資源引入到知識生態系統中。比如用戶想訪問我們鏈上的數據,但是沒有鏈上積分怎麼辦,就可以通過抵押其他的資產,來獲得數據地訪問,這樣可以快速擴大用戶規模,這只是其中的一個應用。
我們將EpiK使命描述為:這將是一場至少延續50年的碳基生命向硅基生命的史詩級佈道。這是一個非常長期的賽道,而且Epik也會持續的給這個系統賦能和迭代,讓越來越多的用戶很好的貢獻知識和使用知識。
游戲化數據標注平台即將發布
在這分享一下關於游戲化的數據標注平台產品的一些思考,為大家展現一下未來普通人怎麼樣能很輕松的參與到EpiK知識圖譜構建體系中,來為系統提供自己的知識,從而獲取收益。
游戲現在是讓整個互聯網消耗用戶時長非常多的一個領域。這里有一組數據:2004年—2010年《魔獸世界》這個游戲所有玩家的小時數加一起約等於593萬年,這個基本上比人類文明的歷史還長了,平均玩家每周在虛擬世界裡要花調17—22個小時,這基本上相當於上班時間的50%了。
而全球最好的圖片數據集,已經有100萬張是已經標注的圖片。它的圖片總數是可能過千萬的,但是100萬張是帶標注的。如果每一張圖片的標注成本是5分鍾,那其實只需要《魔獸世界》這個游戲六十萬分之一的工作量就可以完成了。所以說其實游戲是一個特別值得我們去思考的東西。
游戲化其實就是把游戲的一些常見的設計思路運作到一些非游戲的領域,比如在線教育、比如一些公益類的項目或者是一些產品設計當中去。
舉個例子:支付寶的螞蟻森林和螞蟻庄園,螞蟻森林的累計用戶應該是有5.5個億了。因為這是公益項目,用戶可以根據能量換成植的真樹,相當於這個螞蟻森林種下了1.22億顆真的樹。螞蟻庄園的累計用戶有4億,送出了150億個雞蛋,這兩個項目其實都是一個游戲化的公益項目,但卻增加支付寶的活躍度,增加支付寶的黏性,以及拓展支付寶的社交關系鏈。其實這是一個商業和公益上都雙贏的很大體量的項目,雖然它看起來只是一個小游戲。
另外還有一個很好的例子,是一個在台灣的工作室Fourdesire,這個工作室專門喜歡去做這類游戲化的產品。比如說其中有一個叫《記賬城市》,《記賬城市》是鼓勵用戶每天去記賬,因為記賬是一個很枯燥的事情,它用一個用戶不斷地記賬就能換取一些積分,這些積分就能發展用戶自己的城市,這個城市裡面還有很多好玩的一些小的游戲化的一些特性,這樣的話就讓挺多人喜歡上記賬了,成為一個養成性的存在。
這些游戲類的APP有一個共同的特點,它原本是把一些很枯燥的東西、很枯燥的一些任務包裝成一個游戲的殼,用戶就能逐漸地沉迷其中了。而且這個工作室最終也獲得了一個流量上非常不錯的表現,這是一個二三十人的工作室,但是他在全球累計獲取了超過2500萬的用戶,而且《記賬城市》經常會被推薦上APP Store首頁。
游戲的核心體驗是什麼?簡單總結為四點,第一個就是積分等級成長體驗,就是用戶長期持續地完成任務會得到這種積分、獎勵、等級提升,像《記賬城市》就是這個城市逐漸地發展壯大,像《太空冒險》就是你可能去了更遠的星球,這樣是一個積分等級成長的體驗。
另外,游戲當中沉迷的另外一個元素就是它有故事和情感體驗,比如說游戲的《使命召喚》裡面會有那種戰友的劇情,用戶就能沉浸其中並能情感投射。包括螞蟻庄園那隻很可愛的小雞,我們經常看到在朋友圈裡很多用戶其實會覺得自己的小雞好久沒有餵食了,他其實會產生一種愧疚感,這些東西其實都是這個產品打造出來的優良的情感體驗。
還有一個比較重要的是游戲能夠有一個成癮性和進入感也是因為它有即時反饋體驗,當用戶完成某一個任務之後是有明顯的反饋體驗設計的。比如說在打籃球的時候當我們去投中一顆籃球的時候,它會擦中那個籃網發出一個聲音,這個其實就是一個即時的反饋。比如說我們打FPS類游戲如果是爆頭屏幕中間會出現巨大的一個圖標提示,這個就是一個即時反饋體驗。
最後,社會性互動體驗,比如說我們可以跟好友之間一起互動,當年風靡一時的Social game比如說偷菜其實就是藉助游戲本身實現人與人之間的互動,這個互動充滿了一些很小的曖昧或者說隱含表達性一些東西,這其實是玩家們都很喜歡的。
我們的嘗試探索是這樣的,第一就是我們覺得數據標注這個業務跟游戲化其實是可以放在一起的。為什麼說我們覺得數據標注這個業務跟游戲化是比較適合放在一起的?
其實就是因為第一標注這個任務本身是枯燥重復的,另外,我們也是希望用戶在碎片化的時間里能夠去進行數據標注的。
假如這個時候我們有一個標注任務是口腔醫學相關這個領域的,比如說口呼吸是否會導致下頜收縮,這個東西其實一般的用戶是無法去標注的,如果是醫生他又很忙,他平時又有大量主業的工作。如果我們能把這樣類似於數據標注的業務,在醫生這個全國大概只有14萬左右人的群體裡面,去把它用碎片化的方式拆解成任務,並用游戲化的方式去鼓勵用戶收集,那麼可能這個標注任務就能更好地執行。
為此,我們期待做出這樣一個體驗的產品,第一它有流暢的標注體驗的,這需要有強大的演算法支持,能夠智能地分配標注任務。第二,我們肯定要嘗試不同的游戲化的場景設計,賦予用戶這個故事與世界觀。
另外,我們要把一些游戲化的元素融入進來,比如我們做隨機的抽卡或者成長體系這樣的東西,讓這個游戲能夠具備一個基本的可玩性。
先說下流暢的數據交互,我們現在認為大部分的數據標注任務其實上下文無關的,就是標一個任務和標下一個任務之間是沒有太強的關系的。因此,就可以把一些大的任務拆解,拆解之後就可以分發給合適的一些人,比如,我們會發布讓用戶朗讀句子五遍的任務,用戶對著這個把這句話朗讀出來,滿五遍之後這個任務自動提交了,然後用戶就能獲取相應的一些積分,然後這些積分可以拿來在游戲里做一些好玩的東西。
在游戲場景我們希望講一個故事,這個故事中可能是某一種浩劫人類文明現在已經被摧毀了,那麼我們在這個基礎上怎麼重啟人類文明?在這個主線中,我們要不斷地派遣探險隊出去探險,去找到過往歷史中的一些科技遺跡,然後去升級我們的一些建築。比如說原本給人類提供能源的是火堆,通過反復的派遣探險隊我們最終能變成蒸汽發電站,變完蒸汽發電站之後我們可能會變成核聚變發電站。這樣也帶著我們重塑一遍人類的科技文明史,帶著我們的玩家能夠體驗到一種帶著人類文明從蠻荒的時代走向農業時代、走向蒸汽時代、工業文明包括現在的人工智慧未來,未來可能走向太空時代。
但是這件事情其實本身是很難的,我們認為未來的工作難點是:第一,我們的數據標注任務的推薦系統設計,潛在的問題也會非常地多。比如說我們的標注任務怎麼能夠實時的生成、怎麼能夠實時的分發,當然還要考慮用戶的專業性門檻和反作弊。第二,不同於專業性人員的標注,我們是有員工僱傭的。大家的工作場合是安靜的,我們用戶的使用場景可能是在地鐵上、可能是在上班的閑暇時間、可能是家裡。這樣的話什麼樣的人在什麼場景下獲取什麼樣的任務能保證我們較好的數據質量,這也是一個問題。第三,多用戶提交的時候我們整個標數據的質性度的問題;第四,怎麼合理地激勵每一個用戶,使用戶貢獻量和激勵平衡。整個這一系列的東西都是我們要長期去解決的問題;第五,真正好玩的、用戶周期很長、高黏性的一個前端游戲化是怎麼實現的,這個也需要逐步探索。比如說什麼樣的玩法用戶喜歡,我們是做一個成長積分不斷增長的游戲更好,還是做一個自我挑戰的游戲更好,還是單純只是把一點游戲化的元素融入到移動APP的標注當中就可以,怎麼能夠避免用戶覺得有新鮮感之後就厭煩,或者我們能不能頻繁更換主題,這些東西都是未來我們在前端上需要探索的地方。
㈣ 以太坊虛擬機(EVM)是什麼
以太坊是一個可編程的區塊鏈。與比特幣不同,以太坊並沒有給用戶提供一組預定義的操作(比如比特幣交易),而是允許用戶創建他們自己的操作,這些操作可以任意復雜。這樣,以太坊成為了多種不同類型去中心化區塊鏈的平台,包括但是不限於密碼學貨幣。
EVM為以太坊虛擬機。以太坊底層通過EVM模塊支持智能合約的執行和調用,調用時根據合約的地址獲取到代碼,生成具體的執行環境,然後將代碼載入到EVM虛擬機中運行。通常目前開發智能合約的高級語言為Solidity,在利用solidity實現智能合約邏輯後,通過編譯器編譯成元數據(位元組碼)最後發布到以坊上。
EVM架構概述
EVM本質上是一個堆棧機器,它最直接的的功能是執行智能合約,根據官方給出的設計原理,EVM的主要的設計目標為如下幾點:
簡單性
確定性
空間節省
為區塊鏈服務
安全性保證
便於優化
針對以上幾點通過對EVM源代碼的閱讀來了解其具體的設計思想和工程實用性。
EVM存儲系統機器位寬
EVM機器位寬為256位,即32個位元組,256位機器字寬不同於我們經常見到主流的64位的機器字寬,這就標明EVM設計上將考慮一套自己的關於操作,數據,邏輯控制的指令編碼。目前主流的處理器原生的支持的計算數據類型有:8bits整數,16bits整數,32bits整數,64bits整數。一般情況下寬位元組的計算將更加的快一些,因為它可能包含更多的指令被一次性載入到pc寄存器中,同時伴有內存訪問次數的減少。目前在X86的架構中8bits的計算並不是完全的支持(除法和乘法),但基本的數學運算大概在幾個時鍾周期內就能完成,也就是說主流的位元組寬度基本上處理器能夠原生的支持,那為什麼EVM要採用256位的字寬。主要從以下兩個方面考慮:
時間,智能合約是否能執行得更快
空間,這樣是否整體位元組碼的大小會有所減少
gas成本
時間上主要體現在執行的效率上,我們以兩個整型數相加來對比具體的操作時間消耗。32bits相加的X86
的匯編代碼
mov eax, dword [9876ABCD] //將地址9876ABCD中的32位數據放入eax數據寄存器
add eax, dword [1234DCBA] //將1234DCBA地址指向32位數和eax相加,結果保存在eax中
64bits相加的X86匯編代碼
mov rax, qword [123456789ABCDEF1] //將地址指向的64位數據放入64位寄存器
add rax, qword [1020304050607080] //計算相加的結果並將結果放入到64位寄存器中
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。