區塊鏈裡的幾個重要概念,看完後讓你成為區塊鏈專家

區塊鏈裡的幾個重要概念,看完後讓你成為區塊鏈專家

雲計算

IaaS(Infrastructure-as-a-Service,基礎設施即服務)

第一層叫做IaaS,有時候也叫做Hardware-as-a-Service,幾年前如果你想在辦公室或者公司的網站上運行一些企業應用,你需要去買服務器,或者別的高昂的硬件來控制本地應用,讓你的業務運行起來。但是現在有IaaS,你可以將硬件外包到別的地方去。IaaS公司會提供場外服務器,存儲和網絡硬件,你可以租用。節省了維護成本和辦公場地,公司可以在任何時候利用這些硬件來運行其應用。

一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不過這些公司又都有自己的專長,比如Amazon和微軟給你提供的不只是IaaS,他們還會將其計算能力出租給你來host你的網站。

作用

通過IaaS這種模式,用戶可以從供應商那裡獲得他所需要的虛擬機或者存儲等資源來裝載相關的應用,同時這些基礎設施的繁瑣的管理工作將由IaaS供應商來處理。IaaS能通過它上面對虛擬機支持眾多的應用。IaaS主要的用戶是系統管理員。

功能

IaaS供應商需要在那些方面對基礎設施進行管理以給用戶提供資源?或者說IaaS雲有那些功能?在《虛擬化與雲計算》中列出了IaaS的七個基本功能:

資源抽象:使用資源抽象的方法(比如,資源池)能更好地調度和管理物理資源。

資源監控:通過對資源的監控,能夠保證基礎實施高效率的運行。

負載管理:通過負載管理,不僅能使部署在基礎設施上的應用運能更好地應對突發情況,而且還能更好地利用系統資源。

數據管理:對雲計算而言,數據的完整性,可靠性和可管理性是對IaaS的基本要求。

資源部署:也就是將整個資源從創建到使用的流程自動化。

安全管理:IaaS的安全管理的主要目標是保證基礎設施和其提供的資源能被合法地訪問和使用。

計費管理:通過細緻的計費管理能使用戶更靈活地使用資源。

PaaS(Platform-as-a-Service,平臺即服務)

第二層就是所謂的PaaS,某些時候也叫做中間件。你公司所有的開發都可以在這一層進行,節省了時間和資源。

PaaS公司在網上提供各種開發和分發應用的解決方案,比如虛擬服務器和操作系統。這節省了你在硬件上的費用,也讓分散的工作室之間的合作變得更加容易。網頁應用管理,應用設計,應用虛擬主機,存儲,安全以及應用開發協作工具等。

作用

通過PaaS這種模式,用戶可以在一個包括SDK,文檔和測試環境等在內的開發平臺上非常方便地編寫應用,而且不論是在部署,或者在運行的時候,用戶都無需為服務器,操作系統,網絡和存儲等資源的管理操心,這些繁瑣的工作都由PaaS供應商負責處理,而且PaaS在整合率上面非常驚人,比如一臺運行Google App Engine的服務器能夠支撐成千上萬的應用,也就是說,PaaS是非常經濟的。PaaS主要的用戶是開發人員。

功能

為了支撐著整個PaaS平臺的運行,供應商需要提供那麼功能?主要有四大功能:

友好的開發環境:通過提供SDK和IDE等工具來讓用戶能在本地方便地進行應用的開發和測試。

豐富的服務:PaaS平臺會以API的形式將各種各樣的服務提供給上層的應用。

自動的資源調度:也就是可伸縮這個特性,它將不僅能優化系統資源,而且能自動調整資源來幫助運行於其上的應用更好地應對突發流量。

精細的管理和監控:通過PaaS能夠提供應用層的管理和監控,比如,能夠觀察應用運行的情況和具體數值(比如,吞吐量和反映時間)來更好地衡量應用的運行狀態,還有能夠通過精確計量應用使用所消耗的資源來更好地計費。

SaaS(Software-as-a-Service,軟件即服務)

第三層也就是所謂SaaS。這一層是和你的生活每天接觸的一層,大多是通過網頁瀏覽器來接入。任何一個遠程服務器上的應用都可以通過網絡來運行,就是SaaS了。

你消費的服務完全是從網頁如Netflix, MOG, Google Apps, Box.NET, Dropbox或者蘋果的iCloud那裡進入這些分類。儘管這些網頁服務是用作商務和娛樂或者兩者都有,但這也算是雲技術的一部分。

一些用作商務的SaaS應用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

作用

通過SaaS這種模式,用戶只要接上網絡,並通過瀏覽器,就能直接使用在雲端上運行的應用,而不需要顧慮類似安裝等瑣事,並且免去初期高昂的軟硬件投入。SaaS主要面對的是普通的用戶。

功能

談到SaaS的功能,也可以認為是要實現SaaS服務,供應商需要完成那些功能?主要有四個方面:

隨時隨地訪問:在任何時候或者任何地點,只要接上網絡,用戶就能訪問這個SaaS服務。

支持公開協議:通過支持公開協議(比如HTML4/5),能夠方便用戶使用。

安全保障:SaaS供應商需要提供一定的安全機制,不僅要使存儲在雲端的用戶數據處於絕對安全的境地,而且也要在客戶端實施一定的安全機制(比如HTTPS)來保護用戶。

多租戶(Multi-Tenant)機制:通過多住戶機制,不僅能更經濟地支撐龐大的用戶規模,而且能提供一定的可定製性以滿足用戶的特殊需求。

BaaS(Backend as a Service,後端即服務)

BaaS 是一種新型的雲服務,旨在為移動和 Web 應用提供後端雲服務,包括雲端數據/文件存儲、賬戶管理、消息推送、社交媒體整合等。BaaS 是垂直領域的雲服務,隨著移動互聯網的持續火熱,BaaS 也受到越來越多的開發者的親睞。它作為應用開發的新模型,可以降低開發者成本,讓開發者只需專注於具體的開發工作。

BaaS是移動中間件的替代品(或者說備選方案),它使用統一的API和SDK來連接移動應用到後端雲存儲,傳統的移動中間件通過本地的物理服務把後端服務集成到應用中。而BaaS通過雲來集成後端服務。中間件和BaaS的最大不同是它們是否包含或者提供雲的服務,BaaS可以說是PaaS平臺在移動垂直領域的延伸,更可以說是移動中間件和雲的融合。而現在它們都在以不同的形式來存在,雲的優勢很明顯,那就是簡單、成本低廉,中間件的優勢是數據安全、易於擴展。所以從現在的趨勢來看,它們不存在明顯的取代關係,只不過可能以後BaaS的體量會更大。移動中間件將更多的被有能力的企業使用,同時也會有越來越多的中小型企業、開發者選擇使用BaaS。

雖然BaaS屬於PaaS的範疇,但兩者也有區別。Quora上有人簡要描述了二者的不同,BaaS簡化了應用開發流程,而PaaS簡化了應用部署流程。PaaS是一個執行代碼以及管理應用運行環境的開發平臺,用戶通過SVN或者Git之類的代碼版本管理工具與平臺交互,對於開發者來說,PaaS就像是一個容器,輸入是代碼和配置文件,輸出是一個可訪問應用的URL。而BaaS平臺進一步將用戶需求進行了抽象,比如用戶管理,開發者希望創建用戶數據庫表(模型)後,客戶端就可以通過Restful接口直接操作對應的模型,所有的操作都可以被抽象為CRUD。之前,開發者需要創建表、寫接口、寫校驗,而在BaaS平臺中,開發者只需要定義模型,平臺就會自動生成對應的接口,這可以讓開發者更加專注具體的客戶端代碼。專門針對手機端的BaaS服務稱為MBaaS,目前大多的BaaS平臺都屬於這一類。

它們主要提供的服務包括:

數據存儲。用戶可以通過可視化的界面設計數據庫,包括創建Class、定義字段、錄入數據等。同時,BaaS平臺可以自動生成對應的Restful API,用戶可以通過任何語言操作已有的API,另外,平臺也內置用戶系統、角色系統、文件系統、權限控制等模塊。

數據推送。結合APP中的標籤設置,針對不同屬性的用戶推送差異化信息,包括定時推送、離線推送等。

版本管理。支持iOS及Android版本的同步或異步管理,在控制檯內流程化進行開發和版本管理。支持增量更新,終端用戶可在應用內進行更新。

區塊鏈裡的幾個重要概念,看完後讓你成為區塊鏈專家

區塊鏈

Crypto Currency

區塊鏈最為人熟知的應用即密碼學貨幣,也被經常稱為虛擬貨幣。然而,密碼學貨幣並不等同於數字貨幣(Digital Currency),也不等同於虛擬貨幣(Virtual Currency)。密碼學貨幣指依靠密碼技術和校驗技術來創建,分發和維持的數字貨幣,如比特幣(BTC)、萊特貨幣(LTC)等。

2009年出現的比特幣是第一個去中心化的密碼學貨幣。之後,大量的密碼學貨幣湧現,這些密碼學貨幣通常被稱為山寨幣(altcoins)。多數密碼學貨幣都設計成通縮的形態,即貨幣總量的增加速度會逐漸變慢,最終會到達一個固定值,類似貴金屬的產出。這類密碼學貨幣相對於中心化的數字貨幣有一個共同點即去中心化。這類去中心化的實現都是依託於區塊鏈技術種的去中心化屬性。和法定貨幣相比,密碼學貨幣沒有一個集中的發行方,而是由網絡節點的計算生成,誰都有可能參與制造密碼學貨幣,而且可以全世界流通,可以在任意一臺接入互聯網的電腦上交易,不管身處何方,任何人都可以挖掘、收取或轉出密碼學貨幣,並且在交易過程中接收方僅需依靠密碼學算法來確認交易有效性,無需辨認用戶身份信息或發送途徑等。

密碼學貨幣的特點有:

去中心化:多數密碼學貨幣是一種分佈式的虛擬貨幣,整個網絡由用戶構成,沒有中央銀行。去中心化是多數密碼學貨幣安全與自由的保證。

全世界流通:密碼學貨幣可以在任意一臺接入互聯網的電腦或手機上管理,前提是你有證明所有權的私鑰。

專屬所有權:密碼學貨幣依靠私鑰確認所有權,它可以被隔離保存在任何存儲介質。除了用戶自己之外無人可以獲取。

但密碼學貨幣也有自己的弊端,比如:51%攻擊,由於密碼學貨幣的去中心化屬性,如果有人控制了整個網絡上的51%的算力,篡改一段時間之前交易的機率就會變高。

多數密碼學貨幣的交易確認時間較長,交易時,為了確認數據準確性,需要和p2p網絡進行交互,得到全網確認後,交易才算完成。此外初次啟動時,也需要消耗大量時間下載歷史交易數據。

DLT

密碼學貨幣的火熱高速推動了區塊鏈技術的發展,金融機構越來越多的關注到了這個領域。隨著金融機構的關注度上升,密碼學貨幣中的去中心化屬性也成了熱門話題,公有鏈、私有鏈、聯盟鏈的劃分也逐漸展露。此時,分佈式賬本技術(Distributed Ledger Technology,DLT)這個名詞也應運而生。DLT的誕生主要是為了區別於區塊鏈概念,由於密碼學貨幣的去中心化是最大的亮點,其背後的區塊鏈技術也通常被認為自帶去中心化屬性,金融機構為了移除這種去中心化的屬性,就非常需要DLT這個概念。

目前,DLT可以說是區塊鏈技術應用在金融機構中最重要的形態,該技術可以移除當前市場基礎設施中的效率極低和成本高昂的部分。

DLT從實質上說就是一個可以在多個站點、不同地理位置或者多個機構組成的網絡裡進行分享的資產數據庫。在一個網絡裡的參與者可以獲得一個唯一、真實賬本的副本。賬本里的任何改動都會在所有的副本中被反映出來,反應時間會在幾分鐘甚至是幾秒內。在這個賬本里存儲的資產可以是金融、法律定義上的、實體的或是電子的資產。在這個賬本里存儲的資產的安全性和準確性是通過公私鑰以及簽名的使用去控制賬本的訪問權,從而實現密碼學基礎上的維護。根據網絡中達成共識的規則,賬本中的記錄可以由一個、一些或者是所有參與者共同進行更新。

DLT的這些特點都使得其有可能稱為全新的基礎架構模式,因此,很有潛力幫助政府徵稅、發放福利、發行護照、登記土地所有權、保證貨物供應鏈的運行,並從整體上確保政府記錄和服務的正確性。例如在英國國民健康保險制度(NHS)裡,這項技術通過改善和驗證服務的送達以及根據精確的規則去安全地分享記錄,有潛力改善醫療保健系統。對這些服務的消費者來說,這項技術根據不同的情況,有潛力讓消費者們去控制個人記錄的訪問權並知悉其他機構對其記錄的訪問情況。

Smart Contract

在區塊鏈技術發展的初期,密碼學貨幣或者DLT中的數據變化都是基於明確的幾種邏輯。顯然,這種模式大家是不會滿足的。因此,很快就有人將智能合約和區塊鏈技術進行了結合。智能合約是能夠自動執行合約條款的計算機程序。未來的某一天,這些程序可能取代處理某些特定金融交易的律師和銀行。智能合約的潛能不只是簡單的轉移資金,一輛汽車或者一所房屋的門鎖,都能夠被連接到物聯網上的智能合約被打開。

智能合約其實在區塊鏈之前就有,但是偏概念,直到區塊鏈到來後才開始有了實用價值的應用,特別是金融和物聯網領域。智能合約的理念可以追溯到1994年,幾乎與互聯網(world wide web)同時出現。為比特幣打下基礎而受到廣泛讚譽的密碼學家尼克薩博(Nick Szabo)首次提出了“智能合約”這一術語。從本質上講,這些自動合約的工作原理類似於其它計算機程序的if-then語句。智能合約只是以這種方式與真實世界的資產進行交互。當一個預先編好的條件被觸發時,智能合約執行相應的合同條款。

區塊鏈技術的出現和被廣泛使用,則改變阻礙智能合約實現的現狀,從而薩博的理念有了重生的機會。讓我們舉一個簡單的例子,以足球比賽為例。假如你賭A隊贏,你的朋友賭B隊贏。此時,你和你的朋友可以將賭注寫成一個區塊鏈上的智能合約。當比賽結束時,智能合約能夠通過媒體確認比賽結果然後自動結算,此時你們不需要依賴任何第三方機構。這就是智能合約的一個例子。

智能合約的最大特點就是代碼的執行是自動的:要麼成功執行,或者所有的狀態變化都撤消(包括從當前失敗的合約中已經送或接收的信息。)這是很重要的,因為它避免了合約部分執行的情況(例如,在證券購買交易中,證券所有者已經轉移發送了證券,但是密碼學貨幣的支付轉移卻失敗了)。在區塊鏈環境中,這尤為重要,因為沒有辦法來撤消執行錯誤所帶來的不好的後果(而且如果對手不配合的話,根本就沒有辦法逆轉交易)。

智能合約理論上可以給所有使用合約的場景帶來變革。例如,證券的登記和清算無需再通過證券交易所,購買保險和理賠無需通過保險公司,投融資無需通過代理公司等等。

相關推薦

推薦中...