天天看點

2區塊鍊底層技術-邏輯架構

區塊鍊因為比特币而為大家熟知,随之而來衍生出一些優秀的項目,比較有代表性的有以太坊(Ethereum)、鋸齒湖(Sawtooth Lake)、超級賬本(Hyperledger)、比特股(bitshares)、瑞波(Ripple)、小蟻等,根據不同的應用場景分為應用于公衆的公有鍊,需要授權使用的私有鍊和聯盟鍊,還有在原有區塊鍊基礎上進行擴充的側鍊等,随着區塊鍊的發展,相信還會有其他形式的應用出現,任何的應用都不是絕對的,應該按實際的業務需求來定。

比特币在犧牲資源和性能的情況下增加了安全和穩定,相較于比特币,新衍生的區塊鍊項目在一定程度上解決了資源浪費和性能這兩方面的問題,但安全性有待繼續研究,我們經常會看到某某區塊鍊被攻擊,發現了某某區塊鍊的漏洞等,這也充分說明了,我們還有很多坑要踩,很多問題需要研究和嘗試。

從比特币開始,到現在衆多新的區塊鍊項目出現,區塊鍊的層次結構基本分為應用層、合約層、激勵層、共識層、網絡層、資料層。

2區塊鍊底層技術-邏輯架構

應用層一般是業務平台或應用平台,通過業務邏輯處理形成需要上鍊的資料,按照區塊鍊定義的規則,将資料發送給區塊鍊。最終可以是一筆交易,也可以是需要上鍊的規則資料,還可以是一筆合同等等。對于應用層我們可以了解為各種應用場景或案例。

合約層在比特币的時候是腳本代碼,新出現的區塊鍊項目提出了智能合約的概念,智能合約采用圖靈完備的程式設計語言,以期滿足更廣泛的應用的場景,因為有了智能合約才有了現在各種各樣的币,以及針對于不同行業的區塊鍊應用。但是圖靈完備具有一定漏洞缺陷,是以智能合約還需要一段時間的嘗試。

共識層是區塊鍊中比較重要的環節,區塊鍊是分布式的系統,對于分布式系統來說,分布式一緻性是關鍵的問題,為了使這種分散的節點達成一緻,而采用了共識機制。目前論證和使用比較多的共識機制有:工作量證明(Pow)、權益證明(Pos)、股份授權證明機制(DPOS)、驗證池(Pool)、實用拜占庭容錯(PBFT)、授權拜占庭容錯(dBFT)、權威證明(PoA)等,以後會專門講解這部分内容。

激勵層在中本聰的設計中采用全員記賬的方式,記錄系統中産生的交易,為了使全網節點競争記賬,而采取的獎勵措施,是一種獎勵的發行和配置設定機制,獎勵包括系統獎勵和交易手續費。這種通過競争記賬最終獲得獎勵的過程就是我們常說的“挖礦”。目前币圈流行的各種币都是激勵層的傑作,這種獎勵機制在公有鍊中使用比較普遍,随着區塊鍊的發展和特定業務場景的需求,聯盟鍊也開始嘗試使用獎勵機制(ibm的超級賬本也要加入Token了)。

網絡層用于實作區塊鍊各個節點的資訊互動,區塊鍊網絡是分布式網絡,網絡中存在多個節點。提到分布式大家可能會想到客戶機/伺服器模式,這種模式存在“中心化”的弊端,區塊鍊采用的是對等網絡架構,是一種在對等者之間配置設定任務和工作負載的分布式應用架構。網絡中的節點彼此共享資源,服務和内容。這種分布式架構具有高度的容錯性和抗攻擊性,但是性能問題是亟待解決的問題。個人認為分布式架構在區塊鍊應用中是十分重要的存在。

資料層是區塊鍊最終的資料存儲,區塊鍊基本資料機關為區塊,以hash作為塊辨別,用來與下一區塊相連,最終形成首尾相連的連結清單式資料結構。區塊是資訊記錄集,記錄了被建立時發生的所有事情,區塊中的資料采用了密碼學技術來保障資料的安全性。需要注意的是,對于區塊的容量在設計階段要做好詳細的規劃,以免出現比特币的容量限制問題。

總結,對于區塊鍊可能還會存在多種的邏輯應用,以上列出的是目前區塊鍊架構普遍采用的方式,如果大家有什麼想法可以互相讨論。

另外,現在區塊鍊火熱的點很多都在“币”上,不知道專家,大佬們閑暇之餘是否可以考慮一下,用區塊鍊解決一些問題呢,比如保護莘莘學子成績不被篡改,不被冒名頂替,又比如文藝工作者的确權問題,侵權盜版等。

繼續閱讀