編者按:本文來自以太坊愛好者,作者:WeiwuZhang,翻譯&校對:安仔C1int&阿劍,Odaily星球日報經授權轉載。在TokenScript項目中,我們只會將靠得住的技術手段應用到公鏈上。但糟糕的是,人們對區塊鏈數據空間的使用往往并不切合區塊鏈的設計目標。人們總在抱怨以太坊“大塞車”,同時又編寫一些收發聊天信息的智能合約。不過在區塊鏈上傳播“crypto街頭涂鴉”還不是最大的問題。我們認為,最大的問題在于沒有站在互操作性、可拓展性以及持存性的角度設計數據結構。換句話說,在各個獨立的Token項目中,數據結構都隨用例量身定制,難以和非區塊鏈系統聯動,在別的去中心化項目中使用時也容易出錯,并且但凡需要改動,就得從頭設計整個數據結構。數據對象舉例
我們先來從這個例子出發,然后再進行歸納推理。假設某個活動的門票是數據對象,并以JSON編碼:
1.這是主辦方發行的第24張門票。2.這張門票的級別為“class2”3.這個活動在2020年1月1號20:00開始。上述數據對象可以在區塊鏈交易中使用。假設我們有一個以太坊智能合約來轉移門票的歸屬權:
埃隆·馬斯克:討厭加密的參議員沃倫應該永遠離開參議院:金色財經報道,特斯拉首席執行官埃隆·馬斯克和參議員伊麗莎白·沃倫的爭論似乎正在升溫,因為伊麗莎白·沃倫不斷抨擊馬斯克沒有繳納足夠的稅款。盡管馬斯克已經在推特上表示自己將繳納美國歷史上最大的個稅(110 億美元),但這位參議員似乎依然不依不饒。馬斯克因此表達了自己的不滿,他認為沃倫向美國人提供了“一個非常糟糕的謊言”,而且美國參議院和馬薩諸塞州“應該得到更好的人”。 沃倫對加密行業一直不太友好,她曾稱加密貨幣市場為“狂野西部”,并表示數字貨幣“不是買賣東西的好方法,也不是好的投資,而是環境災難”。[2021/12/21 7:52:26]
然而將數據編碼成JSON格式會消耗大量的gas,因為這會增大交易體積并增加智能合約解析的負擔。由于需要緊湊地打包數據對象,我們必須首先把數據從它的模式中分離。數據和模式的分離
我們把數據編碼成了20個字節:0x3012020118020102180A32303230303130313230。可以看到這20個字節包含了3條消息:
交易員Peter Brandt:比特幣人應該“反對美國的現貨比特幣ETF”:金色財經報道,在美國證券交易委員會周五拒絕了Vaneck的比特幣現貨市場交易所交易基金(ETF)之后,一些加密貨幣倡導者本周末討論了這個話題。例如,資深外匯交易員彼得布蘭特告訴他的581,700名Twitter粉絲,比特幣極端主義者“應該反對”現貨市場比特幣ETF。BitcoinerPrestonPysh表示,比特幣可能不太關心“現貨ETF的批準”。加密社區討論最近的比特幣ETF拒絕——彼得布蘭特說“我們不要鼓勵華爾街將比特幣轉換成自動售貨機資產”。布蘭特表示,比特幣的價值存儲故事取決于其稀缺性,甚至是購買難度。我們不要鼓勵貪婪的華爾街將BTC轉換為自動售貨機資產,對ETF說不。(news.bitcoin)[2021/11/15 6:51:53]
其中票號24被編碼成了0x18;票務級別"VIP"被編碼成了0x02;日期信息被編碼成了ASCII字符串。這三條信息之間的結構數據是使用標準DER編碼規則后產生的結果?。對數據的模式,我們用ASN.X語言描述。
聲音 | 趙長鵬:Facebook應該接受BTC運行在WhatsApp等應用中:Morgan Creek創始人Anthony Pompliano發推表示,在Facebook公布白皮書后不久,歐洲的各國政府和央行就開始呼吁Libra不能也不會運行。對此,幣安創始人趙長鵬表示,Facebook應該接受BTC運行在WhatsApp、Messenger、Facebook和Instagram應用中。不能也不會運行對比特幣來說是不可能的,因為它已經在工作了。[2019/6/19]
數據模式需要存儲在智能合約之外。在我們的TokenScript項目中,數據模式直接由TokenScript存儲,因此,兼容TokenScript的錢包和dapp瀏覽器能直接使用對應的數據模式來解析20字節的數據。你也可以用別的格式把數據模式存在應用程序中?,但你不應該直接把它存到智能合約里,至少,你可以把數據模式編譯成一塊簡潔的solidity字節碼以方便智能合約解析那20字節的數據。模式的使用
聲音 | ShapeShift創始人:人們應該保持水平視角看待加密貨幣市場:ShapeShift創始人Erik Voorhees今日在某社交軟件上表示,在加密貨幣的泡沫牛市期間,太多的人認為所有的項目都是有價值的,而且未來價值還會增長。然而現在,在加密貨幣的血腥熊市中,太多的人認為所有的項目都是失敗的,將一文不值。人們始終在這兩個方面保持水平視角。[2018/10/20]
一旦我們能把數據和模式分離,以太坊上的智能合約函數就能變成這樣:
可以看到現在門票對象從字符串類型變成了字節類型。讓我們通過函數聲明前后的幾行代碼來進一步分析:
parse_ticket函數包含了由模式語言編譯得來的代碼。這要比JSON解析器的效率高出不少。另一方面,dapp是否需要構建DER編碼后的字節數據供交易調用,用戶端錢包是否需要可讀化呈現一個已經構建好了的交易,都應取決于數據模式。為什么要模糊化?
所以DER或者ASN模糊化處理和以下直接了當、對新手友好的方法比,有什么好處呢?
金色財經現場報道 ERC721 標準作者William:區塊鏈不僅是技術還是原則,不應該把它概念化:金色財經現場報道,在2018金融科技上海峰會的“塊鏈與金融科技驅動數據經濟發展新格局”互動討論上, 新型智能合約 ERC721 標準作者William Entriken談到:“我覺得區塊鏈是一種原則,一種規則,而不是單單的技術,它涉及到很多方面,我們需要考慮到規則標準以及上層的東西。我相信有了區塊鏈,一些技術人員會得到更多的啟發,能做更多有價值的事情。但是我們絕對不能以一種玩弄的心態來調侃區塊鏈,把它當成概念化的東西。我們想要把區塊鏈應用到我們自己的行業中,所以在現階段我們正在研發各種軟件硬件來支持區塊鏈的運用,我相信在將來我們能夠研發出自己的產品。”[2018/4/19]
或者跟這個更結構化一點的版本相比又如何?
難道模糊化僅僅是為了減少交易大小嗎?上述問題的答案都是“是的”,并且這個“對”的程度超出你的想象。首先,經過DER或ASN處理后能把交易負荷減少50%以上,其次還有很多別的優勢:理由1:用于制作簽名證明
一串經DER編碼的字節數據非常便于簽名。不過,我們為什么需要簽名呢?簽名是為了得到認證。我們之所以把被簽名過的數據對象稱作“認證”,因為它確實代表著簽名者對某些事情的認可。我們依然以上面的門票為例。一開始,你可能會認為門票合約控制了所有票務和歸屬權信息。比方說,當“Alice”想要把一張票轉給“Bob”時,Alice會發起一筆交易,將門票的所屬權重新指認為Bob。活動主辦方往往會為一場活動發行數以萬計的門票,或者少說也有幾千張,其中絕大部分收到門票的用戶并不會把門票轉給別人。要不是有這種票券轉讓的需要,門票根本就不需要放到區塊鏈上。活動主辦方完全可以簽署一份attestation,將門票的所屬權簽署給特定的以太坊賬戶。賬戶私鑰的持有者則可以通過一個質詢-應答式的合約來證明門票的所有權。另一方面,如果數據用JSON格式編碼,它就無法被安全地簽名,因為JSON并不是一種確定性的編碼方式。見證的用途非常廣泛。以下列舉幾個例子。你可以編寫智能合約,使得被認證為合格投資人的用戶能參與ICO預售。汽車保險公司能證明你的車已經上了保險。如果你的車是個智能載具,你完全可以在不進行任何以太坊交易的前提下,利用認證消息把車借給你的朋友。簽名認證的設計模式只應根據現有的標準進行改造,而不是重新發明一種嶄新的模式。TokenScript已經在研究這樣的改造方案,但革命尚未成功,同志仍需努力。比方說,我們目前需要用默克爾樹,甚至零知識證明來實現一種可以做部分見證的格式。理由2:數據互操作性
經過DER編碼過后的數據有更好的互操作性。依然是以票務證明為例:哪些系統需要用到認證信息?我們目前知道以下幾個。1.智能合約:如果Alice想要出售她的門票,智能合約需要具備查驗活動主辦方簽名的能力。2.錢包:用戶錢包必須能正確顯示認證消息的內容。每當有交易涉及到認證消息時,錢包都需要提醒用戶交易的實際內容。不止上述兩個端口。活動主辦方的網站也需要具備讀取見證消息的能力,因為門票持有者可能會利用見證消息來登錄網站,獲取活動的最新消息。檢票員也需要能讀取這個數據。使館和邊境警察也會用到這些證明。去年一整年,刻畫成了認證消息形式的FIFA門票取代了VISA,被大規模應用到了俄羅斯邊境過境的場景中。不難看出很多系統都需要用到見證消息,而這些系統往往都是異構的。比方說,智能合約屬于區塊鏈,而錢包屬于移動應用程序。在活動主辦方的網站中,JSON的表現方式是標準。而出入口的自動門作為一個物聯網設備,通常認二維碼。由于系統由可驗證簽名支撐,它不能隨意轉換——在這種場景下,簽名過的數據必須有一種統一的呈現形式。如果數據模式發生改變,我們沒有理由要求所有的去中心化系統一起升級。然而如果數據基于模式驅動,可以很輕易地對整個模式發起更新。你可能會覺得自己的token不會被用到那么多其它系統上。但事實上誰也說不準。像以太坊這樣去中心化平臺的優勢在于搭積木。許多系統不需要MakerDAO授權就使用了DAI。你可沒法在美國運通這種傳統中心化系統上看到那樣的創造性活動。理由3:持存性
持存性和互操作性緊密相關。要時刻牢記一旦數據被簽名,如果沒有把原有的簽名無效化處理,它是沒法被“轉換”到一個新的系統中使用的。因此,所構建的系統必須同時理解舊的以及新的數據格式。假設你是一份用cryptoattestation寫就的遺囑的繼承人。當雙親過世后,你能兌現遺產了。此刻你肯定不希望那份多年來經過屢次升級的遺囑合約要求你雙親用新的數據結構再進行一次簽名吧!X.509數字證書是經過時間檢驗過了的一種數據結構。它的發明早于SSL,而目前依然服役狀況良好。X.509是以一個ASN.1模塊設計的,它天生具備持存性。今時今日區塊鏈的數據對象也應該自豪地加上這個支持。在此篇幅有限,我們無法涵蓋整個實現過程,但一句話總結,那就是持存性依賴于設計模式。舉例來講,一個設計良好的設計模式能實現數組數據到所要求二維矩陣的轉換。那下一步呢
在TokenScript項目中,我們通過改造現有的標準來正確地處理數據。TokenScript本身就在OASIS的指導下實行了標準化。想要參與進來,你可以:TokenScript論壇參加GoogleHangoutMeet的設計會議每周四下午七點(下一次是在2019年11月28號)。如果你住在澳大利亞墨爾本附近,歡迎參加11月22號的見面會腳注?DER是密碼工程學中編碼數據的默認手段。舉例來說,比特幣簽名以及X.509證書使用了這種編碼。如果你想試驗DER編碼數據,你可以像下面這樣使用openssl:
?同樣的模式可以用一種被稱作ASM.1的格式等價縮寫:
Tags:區塊鏈比特幣KENTOKE哪個不是區塊鏈特性比特幣總額Dragon Kart TokenXiaMiPool Token
編者按:本文來自威廉閑談,作者:陳威廉,Odaily星球日報經授權轉載。很多人因為減半的臨近加上近期的行情不景氣,悲觀地認為減半不會有好行情了.
1900/1/1 0:00:00去年7月,FOMO3D橫空出世,半個月后,整個幣圈為FOMO帶火的盤子玩法廝殺到眼紅。今年12月,由同班人馬打造的“資金盤”游戲「Just.game」同樣搶眼,在上線首日收獲了5億枚TRX的流水.
1900/1/1 0:00:00胡說扒道中東地區沖突升級,比特幣大漲后其避險資產屬性再次被人津津樂道。今天比特幣突破了8000美元,市場更是一片振奮.
1900/1/1 0:00:00作者|康康編輯|郝方舟Odaily星球日報出品最近以太坊進行了伊斯坦布爾硬分叉升級,由于更多面向的是開發者,市場反饋并不強.
1900/1/1 0:00:00本文主要介紹了智能合約和形式化驗證。什么是智能合約?一個智能合約是一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議。在區塊鏈技術領域就是一段運行在區塊鏈上的有多方參與的代碼.
1900/1/1 0:00:002019年2月15日,國家網信辦發布的《區塊鏈信息服務管理規定》開始實施,要求區塊鏈服務提供者通過國家互聯網信息辦公室區塊鏈信息服務備案管理系統填報備案信息.
1900/1/1 0:00:00