1. 程式人生 > >北大贏得區塊鏈LongHash大賽第一名!正規軍開始進場了

北大贏得區塊鏈LongHash大賽第一名!正規軍開始進場了

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

4月20-22日,區塊鏈LongHash東京黑客馬拉松(LongHash Tokyo Hackathon)在日本東京舉行,參賽選手來自全球12個國家和地區,共計137名區塊鏈相關專業人士。選手以2-5人/小組的方式組成32支隊伍,針對當前區塊鏈領域的熱點問題展開討論。大賽圍繞「去中心化」和「安全」兩大主題,確立了「去中心化交易平臺」、「區塊鏈+人工智慧」、「區塊鏈+物聯網」三個開發比賽目標。

經過48個小時的連續工作,北京大學資訊保安實驗室劉超、李安然、陳繼業三位同學組成的團隊在陳鍾教授的帶領下,成功晉級到第二階段六支隊伍的公開演示環節。最終小組成員憑藉深刻的問題理解、完善的方案設計,以及展示階段出色的臨場表現,

獲得大賽唯一一個一等獎

640?wx_fmt=jpeg

近日,區塊鏈大本營(以下簡稱「大本營」)採訪了這個獲獎的團隊,請他們談談獲獎的臺前幕後、參賽的心得、各自對於區塊鏈學習的歷程,以及對於區塊鏈技術方面的思考。

結緣區塊鏈

大本營:聽說這次比賽「資訊保安實驗室」的6名同學都報名參加了,請談談你們參賽的原因和經過。

陳鍾:我們是在微信公眾號上得知這次比賽的。對於黑客馬拉松這種比賽形式並不陌生,早在2015年上海國際黑客馬拉松時我們就參加過,還拿到過優勝獎。去年我去美國參加Consensus 2017大會也有黑客馬拉松環節。這次決定參賽有兩個原因,第一,我們現在有更多的同學在區塊鏈這個方向上做研究;第二,大賽官方承諾如果進入前十可以報銷路費,而且日本也不遠,所以就在報名快要截止的時候決定參賽了。

大本營:請介紹一下這次獲獎團隊的成員。

陳鍾:獲獎團隊的三位成員均來自北京大學資訊學院資訊保安實驗室,其中博士生、研究生和本科生各一名,分別為劉超、李安然和陳繼業。三位成員對區塊鏈及相關領域各自有半年到2年不等的研究實踐經驗,目前也均在我和關志副研究員領導的團隊中從事區塊鏈相關技術的研究工作。

大本營:涉足區塊鏈出於哪些契機?

劉超:我第一次接觸到區塊鏈是在2015年末的時候,當時也是準備參加一個區塊鏈黑客馬拉松比賽,所以就在實驗室關志老師的指導下短時間內閱讀了幾篇比特幣和區塊鏈的綜述論文,算是對比特幣和區塊鏈的工作機制有了初步的認識。閱讀過程當中,比特幣在系統上的一些精妙設計給我留下了很深的印象,這可能也是後來我真正開始系統性瞭解和研究區塊鏈的原因之一。

李安然:我接觸區塊鏈更多的是由於實驗室的原因,在研究生選擇方向的時候加入了區塊鏈研究小組,之後對區塊鏈技術不斷的學習和深入。

陳繼業:我第一次接觸到區塊鏈技術是在資訊保安概論課。在此門課我對區塊鏈技術有了初步的瞭解。由於感覺區塊鏈技術非常有意思,從此我就開始深入研究此領域。至今,我接觸區塊鏈技術有半年多了。

LongHash獲獎背後

大本營:請介紹一下你們在這次大賽中的作品。

劉超:我們的題目來自比賽的三個主題之一,即在Cybex加密貨幣交易平臺上實現一個原子交換協議。原子交換是指在不需要可信第三方(比如支付寶)的前提下,實現不同加密貨幣之間的安全交換。比如說Alice持有比特幣,Bob持有萊特幣,他們都想交換獲得對方持有的貨幣;如果在Alice和Bob之外不存在一個可信的第三方作為中介,這就需要提供一種協議來幫助他們完成這個交換。

在準備方案之前,我們首先對現有的原子交換協議進行了調研,也包括Cybex目前實現的協議,總結出不同方案的要點,這些要點在後面的方案設計時也得到充分體現。我們發現,對於同時支援CLTV(CheckLockTimeVerify)功能的加密貨幣,比如比特幣和萊特幣之間,已經存在很好的原子交換協議。而如果交易一方不具有CLTV功能,就需要用到其他的方法。對於後一種情況,Cybex現在實現的協議中有用到Cut and Choose技術進行金鑰資訊證明,這個過程需要較大資料量的互動和資訊交換。

我們的想法是在協議中去掉Cut and Choose這一過程,改用一些輕量級的操作。我們發現,在Cybex上加入一個支援分支操作的時間鎖機制就可以滿足這一要求。在實現上,我們基於Cybex平臺原有的Vesting Balance功能,為其增加了一個帶有金鑰的贖回機制,並使其滿足分支結構。我們最後的方案示意圖如下。

640?wx_fmt=png

大本營:在設計和開發這一作品的時候,你遇到過哪些技術挑戰?

劉超:在設計方案的過程中,最大的困難可能是需要對原子交換現有的協議進行深入調研,瞭解每種協議中每個步驟的意義所在,從中提取出每種協議的關鍵點。我們團隊在比賽過程中花了很多時間去調研和思考,不僅需要考慮到協議在實施過程中的簡易程度,還要考慮到交換雙方所使用數字貨幣自身的情況。在開發過程中我們巧妙地利用了Cybex自身的特性,大大減少了開發的工作量,但是由於大量的時間被用在方案的設計上,最後只是在Cybex上簡單實現了我們的方案,沒有足夠的時間來驗證程式碼的正確性。

大本營:⼤賽中還有哪些其他參賽者的作品令你印象深刻?

劉超:我記得比賽裡面有很多小組選擇了比特幣地址視覺化和資料探勘相關的題目,印象最深的是來自卡耐基梅隆大學的一個小組(本次大賽的第二名),他們的演示做得非常好,幻燈片很專業,三位同學的演講也很有吸引力,並且我自己對比特幣區塊鏈上的資料探勘也很感興趣。

640?wx_fmt=png

下圖為卡內基梅隆大學團隊針對比特幣交易視覺化的相關研究結果,其中紅色結點為交易所地址,綠色結點為普通使用者地址。

640?wx_fmt=png

李安然:我記得有一個做地址分類的專案,他們使用人工智慧的方法去對地址相關的資訊進行分析,並且在展示的時候使用很多視覺化的工具來演示,看起來特別的炫酷。

陳繼業:給我留下了深刻印象的作品是CMU大學小組做的地址分類專案。他們通過人工智慧技術把地址進行分類。他們最終以三維模型來展示結果,效果不錯,做的演講也非常好。總之,本人感覺他們做得非常不錯。

大本營:除了原子交換,⽬前你還關注區塊鏈的哪些領域?最關注的⼈⼜是誰?

劉超:我最關注的是區塊鏈智慧合約相關問題,包括智慧合約的編寫、測試、驗證、執行、優化等,最關注的人是以太坊創始人Vitalik Buterin和Gavin Wood。

李安然:比較關注區塊鏈領域共識演算法這一塊,比較關注的人的話可能是Vitalik Buterin吧。

陳繼業:目前我最關注的區塊鏈領域是大規模私鑰的管理演算法和使用者隱私保護。比較關注的人是Bitcoin Core開發者Gregory Maxwell。

大本營:這次⽐賽中你的最⼤收穫和遺憾分別是什麼?

劉超:最大的收穫是通過比賽瞭解到很多其他團隊對區塊鏈相關技術的實踐和思考,自己也對之前不是很熟悉的原子交換問題有了較為深入的認識,同時還發現了小組同學們在壓力下原來能夠爆發出那麼大能量。最大的遺憾是沒有能夠多認識幾個朋友,並借這個機會同來自世界各地的區塊鏈人才更多交流。

李安然:本次比賽最大的收穫應該是對原子交換有了一個全面的認識,同時也比賽過程中遇到了很多區塊鏈領域的大牛,和他們溝通提升了自己對區塊鏈認識。最大的遺憾可能是雖然我們設計出了完善的方案,但是在設計上花掉的時間太多了,最後剩下的時間只夠實現程式碼,沒辦法去驗證我們實現的正確性,有點不夠完整,這應該是我們此次比賽的最大遺憾吧。

陳繼業:通過此比賽,我感覺自己學到了很多新認識,對原子交換有了深入的瞭解以及認識到了很多區塊鏈優秀人才。最大的遺憾是由於比賽時間限制導致沒有太多時間可以和其他參賽者多交流,交朋友。

大本營:通常你是通過哪些渠道/資源⾃我學習?

劉超:我們主要是通過閱讀學術論文、專案文件以及GitHub原始碼的方式來學習和了解區塊鏈技術。開原始碼方面,主要有:比特幣、以太坊、Hyperleger Fabric。另外也會通過實驗室小組內的討論來深化大家對相關問題的認識。

大本營:整個東京之旅中,哪些事物給你們留下了深刻的印象?

劉超:比賽的組織工作進行得非常好,第一天晚上會有專門的工作人員帶我們回到臨時的住處,還有主辦方提供的膠囊旅館也很好、很特別。另外我發現東京的街頭給人一種井井有條的感覺,節奏很快但不會覺得亂,有一種很有秩序的感覺。

640?wx_fmt=png

李安然:當地的人們都很熱情,記得在剛到東京的時候,第一次坐地鐵不太會使用他們的購票系統,旁邊的阿姨很主動地過來教我們買票。

陳繼業:海膽刺身太好吃了!

北大與區塊鏈教育

大本營:北京大學是什麼時候開始關注區塊鏈這一方向的?

陳鍾:北大可能是高校裡面,研究生研究區塊鏈選題最早的高校之一了,在2011~2014年間,就有一些研究生做這方面的選題。再往前推,早在1996年David Chaum(傳奇密碼學家)的數字現金技術(DigiCash)剛出來的時候,我們的實驗室就對其整個的底層網路演算法,到它的整個設計模式進行了研究。

大本營:目前,北大對於區塊鏈是否有系統教學?

陳鍾:這個學期,我們正式開了一門區塊鏈的課程,在軟微學院(軟體與微電子學院)。這一安排只面向研究生,主要跟產業發展結合的較緊密。在本科生這邊,我現在所在的計算機系在今年的演算法設計與分析課程裡,加了區塊鏈的小班進行研討性教學。15個小班中有兩個小班大約27人選擇了區塊鏈專題,所有學生研讀5篇論文,最後做一個project。此外,今年秋季,我們還會跟千人計劃的一位教授,合開一門本科生的學分課程,叫做「區塊鏈理論與技術」。

大本營:這些課程包含哪些內容?

陳鍾:軟微學院的課程因為是面向軟體技術和金融資訊工作方向的學生,所以會包含數字貨幣,及其在金融場景中的應用。也會請一些知名區塊鏈公司的從業者開設講座。

本科生的課程圍繞演算法設計和分析,剛才提到所有學生會研讀5篇論文,其中2篇是關於演算法和計算複雜性理論的,剩下3篇的內容是關於比特幣、以太坊、零隻是證明的代表性論文。最後做一個project,這個project可以看成是一個完整的系統,包含一些演算法、分散式體系的研究、開發和最後的評價。最後,學生還要完成一篇技術報告。

總體來看,本科學生的課程有48個學時,學生可以系統地從理論基礎、技術特徵、相關問題的研討幾個維度展開學習。

大本營:目前區塊鏈領域還有哪些問題需要解決,哪些方向值得關注?

陳鍾:總體而言,區塊鏈從技術上還是有很長的路要走,無論現在的比特幣還是以太坊,儘管它們邁出了關鍵的一步,但從整個應用場景上來看的話,還只是一小步。如果站在一個全球計算技術的發展和資訊化發展的角度,運用區塊鏈的技術完成一個資訊社會快速發展的目標來看,它還有很長的一段路要走。

舉個例子,智慧合約完成了一個「無須干預」的理想目標,這是一個美好的目標。但實際上把它真正實現到真實的應用場景,哪怕只是金融領域的應用場景中,目前也還有很多難題沒有很好地去解決。這也是為什麼我們也保持著跟國際上的一些知名高校的合作。因為高校在介入的時候,不光是去做應用、做發幣、做交易,更多的還是針對應用場景中的難題去突破和解決。

劉超:我認為目前區塊鏈技術最主要的問題有兩個:一個是效能;另一個是安全性。效能的話提到最多的就是TPS和擴充套件性不足。安全性上可以表現為很多方面,包括軟體漏洞、網路攻擊等等,隱私也是最近比較熱點的問題之一。拿我比較熟悉的以太坊平臺來說,這兩年有關智慧合約安全漏洞導致的攻擊事件層出不窮,每一次的後果都很嚴重,動輒數千萬美元的損失。除了智慧合約以外,針對結點客戶端的攻擊也時有發生,同樣造成了重大的損失。另外,還有一點我想補充的就是,以太坊平臺的DApp或智慧合約在設計開發和安全性驗證上還存在工具有限、完成度不高的問題,這也在一定程度上造成相關安全事件頻出的問題。

本文為原創文章,轉載請加小編微信:qk15732632926

640?wx_fmt=jpeg

區塊鏈大本營迴歸技術本質640?wx_fmt=jpeg

640?wx_fmt=png

掃碼加入區塊鏈大本營讀者群,群滿加微信 17600222208 入群

熱門文章

640?wx_fmt=gif

瞭解更多區塊鏈技術及應用內容

敬請關注:

640?wx_fmt=png