區塊鏈與nosql融合
Ⅰ 區塊鏈與其他新一代信息技術融通發展的現狀如何
區塊鏈在實體經濟等領域發揮效應,需要與其他新一代信息技術相互融合,實現優勢和功能互補。當前,區塊鏈與工業互聯網、大數據、雲計算、人工智慧等融合發展尚處於早期階段,融合應用效應有待進一步激活。
《指導意見》提出將區塊鏈技術應用於工業互聯網的標識解析、邊緣計算、協同製造等環節,培育新模式、新業態;建設基於區塊鏈的大數據服務平台,促進數據合規有序的確權、共享和流通;利用雲計算構建區塊鏈應用開發、測試驗證和運行維護環境;發展基於人工智慧的智能合約等新技術,探索利用人工智慧技術提升區塊鏈運行效率和價值創造能力。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
Ⅱ 區塊鏈帶來了哪些顛覆,為什麼能夠成為國家戰略
區塊鏈的顛覆性特徵在於以下四個方面:一、透明性。區塊鏈系統的數據記錄對全網節點是透明的,數據記錄的更新操作對全網節點也是透明的,這是區塊鏈系統值得信任的基礎。由於區塊鏈系統使用開源的程序、開放的規則和高參與度,區塊鏈數據記錄和運行規則可以被全網節點審查、追溯,具有很高的透明度。
二、開放性。區塊鏈系統是開放的,除了數據直接相關各方的私有信總被加密外區塊鏈的數據對所有人公開(具有特殊許可權要求的區塊鏈系統除外)。任何人或參與節點都可以通過公開的介面查詢區塊鏈數據記錄或者開發相關應用,因此整個系統信息高度透明。
三、信息不可篡改。區塊鏈系統的信息一旦經過驗證並添加至區塊鏈後,就會得到永久存儲,無法更改(具備特殊更改需求的私有區塊鏈等系統除外)。除非能夠同時控制系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高
四、去中心化。去中心化是區塊鏈最基本的特徵,意味著區塊鏈不再依賴於中央處理節點,實現了數據的分布式記錄、存儲和更新。在傳統的中心化網路中,對一個中心節點實行攻擊即可破壞整個系統,而在一個去中心化的區塊鏈網路中,攻擊單個節點無法控制或破壞整個網路掌握網內超過5%的節點只是獲得控制權的開始而已。2019年是區塊鏈技術商業應用的元年,而政策利好的刺激將讓區塊鏈技術的發展更加穩健。
隨著區塊鏈技術的應用逐漸滲透到數字金融、互聯網等眾多領域,大家對區塊鏈的價值認識更加清晰。
區塊鏈已經形成了全球競爭的態勢,各國都在搶占發展先機,中國更不能落後;因此,區塊鏈成為國家戰略亦無可厚非。
Ⅲ 區塊鏈目前用到哪些共識機制它們各自的優缺點和適用范圍是什麼
1、區塊鏈的技術是什麼?
如果我們把資料庫假設成一本賬本,讀寫資料庫就可以看做一種記賬的行為,區塊鏈技術的原理就是在一段時間內找出記賬最快最好的人,由這個人來記賬,然後將賬本的這一頁信息發給整個系統里的其他所有人。這也就相當於改變資料庫所有的記錄,發給全網的其他每個節點,所以區塊鏈技術也稱為分布式賬本(distributed ledger)。
區塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術方案。該技術方案主要讓參與系統中的任意多個節點,通過一串使用密碼學方法相關聯產生的數據塊(block),每個數據塊中包含了一定時間內的系統全部信息交流數據,並且生成數據指紋用於驗證其信息的有效性和鏈接(chain)下一個資料庫塊。 區塊鏈是一種類似於NoSQL(非關系型資料庫)這樣的技術解決方案統稱,並不是某種特定技術,能夠通過很多編程語言和架構來實現區塊鏈技術。並且實現區塊鏈的方式種類也有很多,目前常見的包括POW(Proof of Work,工作量證明),POS(Proof of Stake,權益證明),DPOS(Delegate Proof of Stake,股份授權證明機制)等。 區塊鏈的概念首次在論文《比特幣:一種點對點的電子現金系統(Bitcoin: A Peer-to-Peer Electronic Cash System)》中提出,作者為自稱中本聰(Satoshi Nakamoto)的個人(或團體)。因此可以把比特幣看成區塊鏈的首個在金融支付領域中的應用。
2、區塊鏈的原理是什麼?
結合定義區塊鏈的定義,需要有這四個特徵我們才能認為:去中心化(Decentralized)、去信任(Trustless)、集體維護(Collectively maintain)、可靠資料庫(Reliable Database)。並且由四個特徵會引申出另外2個特徵:
開源(Open Source)、匿名性(Anonymity)。如果一個系統不具備這些特徵,將不能視其為基於區塊鏈技術的應用。 去中心化(Decentralized):整個網路沒有中心化的硬體或者管理機構,任意節點之間的權利和義務都是均等的,且任一節點的損壞或者失去都會不影響整個系統的運作。因此也可以認為區塊鏈系統具有極好的健壯性。 去信任(Trustless):參與整個系統中的每個節點之間進行數據交換是無需互相信任的,整個系統的運作規則是公開透明的,所有的數據內容也是公開的,因此在系統指定的規則范圍和時間范圍內,節點之間是不能也無法欺騙其它節點。 集體維護(Collectively maintain):系統中的數據塊由整個系統中所有具有維護功能的節點來共同維護的,而這些具有維護功能的節點是任何人都可以參與的。 可靠資料庫(Reliable Database):整個系統將通過分資料庫的形式,讓每個參與節點都能獲得一份完整資料庫的拷貝。除非能夠同時控制整個系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,也無法影響其他節點上的數據內容。因此參與系統中的節點越多和計算能力越強,該系統中的數據安全性越高。 開源(Open Source):由於整個系統的運作規則必須是公開透明的,所以對於程序而言,整個系統必定會是開源的。 匿名性(Anonymity):由於節點和節點之間是無需互相信任的,因此節點和節點之間無需公開身份,在系統中的每個參與的節點都是匿名的。
3、區塊鏈金融是什麼?
2016年,革新者將被革新。新一輪技術革命將一邊應對共享經濟的陌生人之間信任的挑戰,一邊破壞此類平台賺錢的基礎。
傳統的中介
共享經濟雖然有效地挑戰了現狀,並且帶有強烈創新屬性,但是,它採用的依然是非常傳統的商業模式。
最常見的對交易收取傭金的方式已經沿用了數個世紀。今天,技術已經讓很多事成為可能,但是仍無法完全取代中介。
P2P 平台與其他在線市場剛興起時,人們紛紛談論去中介(disintermediation),這種繞過傳統中介,通過網路直接將人們連接起來的新方式。事實上,盡管我們已經體會到新型市場便捷得多,並看到與各種供應商進行交易的可能性,但是,我們今天仍然在很大程度上依賴中介。事實是如今最大的新型企業正是巨型中介,其規模超乎想像,像阿里巴巴、Amazon、eBay 和 Uber。
有沒有一種技術解決方案,能夠完全去除各交易方之間的中介?是否存在一個系統,在其中你能夠與任何人直接交易,並免於受到欺騙,同時無人擁有該系統,因此沒有傭金收取方。
區塊鏈技術使之成為可能。區塊鏈是比特幣的核心技術,極具創新性,可以用於建成完全透明、無主、分散的系統,能在沒有任何形式中介的情況下,保證各種交易方安全進行交易,這些交易方包括人、企業。
自然而然地,很多資源流向了區塊鏈,區塊鏈也給金融與法律行業帶來了相當的影響,並最終將在這兩個行業肆虐橫行,或者提供最佳機會,這全在於你怎麼看待它。
去中心化金融
2015年,可能是出於對另類金融(alternative finance)市場增長的高度敏感,九家投資銀行針對區塊鏈技術金融服務聯合開發了開放標准。去年,不斷有各種活動討論區塊鏈技術的未來,還推出了Slock.it,這是去中心化共享經濟的第一批技術堆棧之一。
區塊鏈下的共享經濟是什麼樣的?
如果你想在共享經濟中繼續賺取傭金,那就要創造新的商業模式。
當然,區塊鏈市場仍將需要一些投資。開發者可能樂於花費時間,解決困擾系統的代碼。但是,我至今還沒遇到早該出現的有類似想法或樂於投資的品牌顧問、設計師或商人。單單依靠代碼無法幫助區塊鏈市場進入主流。
但是區塊鏈將會蓬勃發展,加之擺脫了煩人的中介,幾乎可以預測它肯定會比現有的共享經濟更加便宜,到那時,巨頭們就會被迫著手應對。
老牌共享經濟將重復歷史,因堅信本身堅不可摧而走向沒落,被更靈活、有科技助力的競爭對手迅速取代?還是將進行實驗,在共享經濟 2.0 中找到有利可圖的市場,並在游戲中勝出?
那麼信用呢?
信用,是共享經濟相關所有討論中的最高頻詞,相當復雜棘手。目前的協作平台們表達地非常清晰:我們能提高共享經濟中的信任水平;我們能採取最優措施,保證用戶信任我們的平台並在上面交易,但是,我們無法保證人與人的交易值得信任。區塊鏈解則解決了上述問題。
區塊鏈中交易系統不可改變,並且可以在已分配分類賬內跟蹤每筆交易,智能合同為所有雙方交易充分設定參數與條件,因此區塊鏈不再需要任何的 「可信中介」 或者陌生人之間信用的擔保方。
到 2017年,監管機構將意識到他們需要徹底反思共享經濟領域的規章制度。那時,各交易方將在區塊鏈中達成數億的獨立合同,一種解決方案是向系統中敲進規則代碼。
2008年 左右共享經濟首次出現時,很多人歡呼不已,認為是將帶領我們進入一種新的包容、可持續經濟的現象,是未來帶我們進入後資本範式的一種民主化力量。但是,(到目前為止)事實並非如此。互聯網剛出現時也是這樣,在最初階段曾被烏托邦式理想化,所以,對區塊鏈持有同樣變革性期待的人很可能會失望。即便如此,區塊鏈將動搖共享經濟巨頭,這絲毫不會受到影響。
4、區塊鏈社區
布比區塊鏈專注於區塊鏈技術和產品的創新,已擁有多項核心技術,開發了自有的區塊鏈服務平台。以去中心化信任為核心,致力於打造開放式價值流通網路,讓數字資產都自由流動起來。
特色與優勢
已取得多項核心技術創新,開發了自有的區塊鏈基礎服務平台,已在股權、供應鏈、積分、信用等領域開展應用。
快速交易驗證
通過對簽名演算法、共識機制、賬本存儲等關鍵交易環節的優化,布比區塊鏈可以實現秒級的快速交易驗證。
高效賬本存取
布比區塊鏈對賬本存儲結構的調整,可以節省90%的儲存空間,降低系統長時間運行,導致賬本存取性能下降的風險。
多種資產發行
布比區塊鏈支持不同用戶、多種資產的發行與交易,每種資產可跟蹤記錄發行商、發行數量、交易流通等詳情。
聯合簽名控制
允許同一賬戶下設置多個使用用戶,並針對不同的操作設置相應的許可權,以滿足多方簽名控制的使用場景。
內置智能合約
智能合約是一套以數字形式定義的承諾,區塊鏈變身合約的參與方,負責維護保存合約,並自動執行。
鏈上交易所
與傳統中心化交易所相比,用區塊鏈構建的交易平台,所有交易都在鏈上驗證、完成和保存,保障用戶交易安全性。
布比區塊鏈要做的是一項新的技術和產品——實現真正的價值流通,使得互聯網到達一個新的高度。如果有了這個技術的應用,在轉移資產的時候就可以沒有中心機構了,可以實現我們之間資產的直接轉移。將來如果網路本身可以結賬,我們就可以直接轉移了,就不需要通過中間機構。
Ⅳ 區塊鏈與新零售結合前景怎樣
新零售貼近C端,這樣區塊鏈積分容易發揮通證經濟中的營銷魅力,以及整合不同體系積分的能力。這樣的結合可以持續推動區塊鏈進入實體經濟,可能在更大范圍內促進效率。
Ⅳ 「區塊鏈」是什麼意思,將來對人們的生活有什麼作用
區塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術方案。該技術方案主要讓參與系統中的任意多個節點,通過一串使用密碼學方法相關聯產生的數據塊(block),每個數據塊中包含了一定時間內的系統全部信息交流數據,並且生成數據指紋用於驗證其信息的有效性和鏈接(chain)下一個資料庫塊。
區塊鏈是一種類似於NoSQL(非關系型資料庫)這樣的技術解決方案統稱,並不是某種特定技術,能夠通過很多編程語言和架構來實現區塊鏈技術。並且實現區塊鏈的方式種類也有很多,目前常見的包括POW(Proof of Work,工作量證明),POS(Proof of Stake,權益證明),DPOS(Delegate Proof of Stake,股份授權證明機制)等。
互聯網將使得全球之間的互動越來越緊密,伴隨而來的就是巨大的信任鴻溝。目前現有的主流資料庫技術架構都是私密且中心化的,在這個架構上是永遠無法解決價值轉移和互信問題。所以區塊鏈技術有可能將成為下一代資料庫架構。通過去中心化技術,將能夠在大數據的基礎上完成數學(演算法)背書、全球互信這個巨大的進步。
區塊鏈技術作為一種特定分布式存取數據技術,它通過網路中多個參與計算的節點開共同參與數據的計算和記錄,並且互相驗證其信息的有效性(防偽)。從這一點來,區塊鏈技術也是一種特定的資料庫技術。互聯網剛剛進入大數據時代,但是從目前來看,大數據還處於非常基礎的階段。但是當進入到區塊鏈資料庫階段,將進入到真正的強信任背書的大數據時代。這裡面的所有數據都獲得堅不可摧的質量,任何人都沒有能力也沒有必要去質疑。
Ⅵ Linux學習資料:區塊鏈與雲計算之間有什麼關系
雲計算在經過多年的發展之後,已經成為一項非常成熟的技術了。專家是這么對雲計算下定義的:雲計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網路訪問, 進入可配置的計算資源共享池(資源包括網路、伺服器、存儲、應用軟體、服務),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互。
區塊鏈的概念相對簡單一點。它一種是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。其本質可以理解為分布式賬本和智能合約。如果再簡單一點時候,區塊鏈就相當於HTTP這樣的一個協議,是來做價值交換和價值傳遞的。
了解完二者定義以後,會發現從定義上看,二者並沒有什麼關聯。但實際上,區塊鏈作為一種有按需攻擊需求的資源,可以理解為雲計算的一部分。所以總的來說,二者雖然區別很大,但是可以相互融合,相信會有更優質的技術誕生。
Ⅶ 區塊鏈開發學什麼資料庫比較好
區塊鏈是去中心化的系統,但是由於區塊鏈中的區塊能保存的數據有限,因而區塊鏈+資料庫(雲存儲、分布式資料庫等)這種形式是在區塊鏈項目中應用比較多的一種設計。
在這種前提下,可以選擇的資料庫也有很多,比如輕量級的sqlite,可以作為app的基礎數據存儲支持,需要更大數據量性能支持的也有mysql、oracle可以使用,另外在項目緩存服務中也可以選擇使用各種key-value資料庫,如常用的redis,Memcache等來作為緩存支持,當然各種分布式資料庫系統也是現今發展的一個方向,比如阿里巴巴研發的OceanBase就是一款金融級分布式關系資料庫,RethinkDB則是一款擁有免費授權與商用授權的分布式資料庫。總之,需要學習的資料庫不是一個兩個的問題,而是需要根據實際情況入手從基本的關系型資料庫開始學習,在此基礎上再不斷提高,學習NoSql資料庫以及分布式資料庫系統開發是比較好的一個學習路線。鏈喬在線誠意奉上。
Ⅷ 看懂區塊鏈與大數據,雲計算,比特幣的關系
區塊鏈是一種不可篡改的、全歷史的資料庫存儲技術,巨大的區塊數據集合包含著每一筆交易的全部歷史,隨著區塊鏈運用的迅速發展,數據規模會越來越大,不同業務場景,使得區塊鏈的數據融合進一步擴大了數據規模和豐富性。但是區塊鏈提供的是賬本的完整性,數據統計分析的能力比較弱,而大數據具備海量數據存貯技術和靈活高效的分析技術,將極大地提升區塊鏈數據的價值和使用空間。
數字貨幣是區塊鏈1.0為代表的表現形式,主要以比特幣為主;作為一種虛擬貨幣系統,比特幣的總量是以網路共識協議限定的,沒有任何個人或機構可以改變修改供應量以及交易記錄,因此在比特幣網路成功運行多年後,區塊鏈作為支撐比特幣運行的底層技術,其本質是一種極其巧妙的分布式共享賬本及點對點價值傳輸技術。對金融乃至各行各業將帶來非常大的潛在影響。
區塊鏈與雲計算,區塊鏈技術的研就開發、與測試,涉及多個系統,時間與資金成本將阻礙區塊鏈技術的突破,基於區塊鏈技術的軟體開發,依然是高門檻的工作,雲計算服務具有資源彈性伸縮,快速調整低成本、高可靠性的特質,能夠幫助中小企業快速低成本的進行區塊鏈開發部署,兩項技術融合,將加速區塊鏈技術成熟,推動區塊鏈向金融業快速擴展。
Ⅸ 物聯網、區塊鏈、大數據有什麼區別
物聯網、區塊鏈、大數據有什麼區別
在不久的將來,物聯網的設備將爆增,有可能是千億,也可能是萬億,像這么一個龐大的網路,如果還是以中心化的組網模式去管理的話,數據中心的基礎設施投入維護應該是沒辦法估量的。
大數據本質上來講,屬於資料庫的一個小分支,這樣就把這個問題歸結為和資料庫的關系。資料庫在軟體、在互聯網界、在IT界其實是個特別古老的研究領域,從最初的文件系統到ER模型到後來引發的大家都知道的傳統資料庫的三大成就,關系模型、事務處理、查詢優化,一直到後來互聯網盛行以後的NOSql資料庫的崛起,資料庫技術在不停發展、在變化,那麼也包括以XML為代表的半結構化,文本、語音等非結構化的數據處理等等。
區塊鏈和資料庫的關系看起來其實也就是這樣一種關系,從資料庫技術演進的過程,我們可以發現,它總是來源於要怎麼去滿足新的業務需求,然後創造出新的這些數據處理技術。比如從最開始的文件系統,為什麼我們需要ER的這種模型呢,是因為金融行業的發展,大家對於這些快速的記帳、高並發數據寫入和訪問,有了進一步的需求,從而導致了實體關系模型的產生以及快速的發展。後來為什麼NOSql資料庫會出現呢?就是因為互聯網的快速發展對資料庫提出了更高更新的要求,所以本質上我們認為整個互聯網就是一個大的資料庫。
事物總是在不斷發展的,當然我們通過NOSql資料庫、雲存儲這些技術解決的互聯網海量實時數據處理問題之後,下一個問題一定就來了,那就是如何以規模化的方式來解決數據的真實性和有效性。
舉個例子,可能跟我們的飲食相關,從一開始的溫飽問題,到營養結構問題,再到大家所關注的食品安全問題,資料庫的發展其實也是一樣,當我們通過ER實體關系模型,通過NOSql資料庫能夠很好的解決數據存儲和數據訪問的這些問題的時候,接下來大家要去關心的,要去解決的那一定是真實性、有效性的問題。
所以到了這個階段,以區塊鏈為代表的這些技術,對數據真實有效不可偽造、無法篡改的這些要求,相對於現在的資料庫來講,肯定是一個新的起點和新的要求。我們可以清晰的感受到,資料庫與區塊鏈融合趨勢,其實是非常緊密的、無法阻擋,好像剛才說的電影,內容的製作方開始向虛擬現實、增強現實這個方向發展一樣;從資料庫的角度,區塊鏈就是一種新型的數據組織方式。我們認為大數據、區塊鏈是兩者合一的。
Ⅹ 區塊鏈的核心技術是什麼
簡單來說,區塊鏈是一個提供了拜占庭容錯、並保證了最終一致性的分布式資料庫;從數據結構上看,它是基於時間序列的鏈式數據塊結構;從節點拓撲上看,它所有的節點互為冗餘備份;從操作上看,它提供了基於密碼學的公私鑰管理體系來管理賬戶。
或許以上概念過於抽象,我來舉個例子,你就好理解了。
你可以想像有 100 台計算機分布在世界各地,這 100 台機器之間的網路是廣域網,並且,這 100 台機器的擁有者互相不信任。
那麼,我們採用什麼樣的演算法(共識機制)才能夠為它提供一個可信任的環境,並且使得:
節點之間的數據交換過程不可篡改,並且已生成的歷史記錄不可被篡改;
每個節點的數據會同步到最新數據,並且會驗證最新數據的有效性;
基於少數服從多數的原則,整體節點維護的數據可以客觀反映交換歷史。
區塊鏈就是為了解決上述問題而產生的技術方案。
二、區塊鏈的核心技術組成
無論是公鏈還是聯盟鏈,至少需要四個模塊組成:P2P 網路協議、分布式一致性演算法(共識機制)、加密簽名演算法、賬戶與存儲模型。
1、P2P 網路協議
P2P 網路協議是所有區塊鏈的最底層模塊,負責交易數據的網路傳輸和廣播、節點發現和維護。
通常我們所用的都是比特幣 P2P 網路協議模塊,它遵循一定的交互原則。比如:初次連接到其他節點會被要求按照握手協議來確認狀態,在握手之後開始請求 Peer 節點的地址數據以及區塊數據。
這套 P2P 交互協議也具有自己的指令集合,指令體現在在消息頭(Message Header) 的 命令(command)域中,這些命令為上層提供了節點發現、節點獲取、區塊頭獲取、區塊獲取等功能,這些功能都是非常底層、非常基礎的功能。如果你想要深入了解,可以參考比特幣開發者指南中的 Peer Discovery 的章節。
2、分布式一致性演算法
在經典分布式計算領域,我們有 Raft 和 Paxos 演算法家族代表的非拜占庭容錯演算法,以及具有拜占庭容錯特性的 PBFT 共識演算法。
如果從技術演化的角度來看,我們可以得出一個圖,其中,區塊鏈技術把原來的分布式演算法進行了經濟學上的拓展。
在圖中我們可以看到,計算機應用在最開始多為單點應用,高可用方便採用的是冷災備,後來發展到異地多活,這些異地多活可能採用的是負載均衡和路由技術,隨著分布式系統技術的發展,我們過渡到了 Paxos 和 Raft 為主的分布式系統。
而在區塊鏈領域,多採用 PoW 工作量證明演算法、PoS 權益證明演算法,以及 DPoS 代理權益證明演算法,以上三種是業界主流的共識演算法,這些演算法與經典分布式一致性演算法不同的是,它們融入了經濟學博弈的概念,下面我分別簡單介紹這三種共識演算法。
PoW: 通常是指在給定的約束下,求解一個特定難度的數學問題,誰解的速度快,誰就能獲得記賬權(出塊)權利。這個求解過程往往會轉換成計算問題,所以在比拼速度的情況下,也就變成了誰的計算方法更優,以及誰的設備性能更好。
PoS: 這是一種股權證明機制,它的基本概念是你產生區塊的難度應該與你在網路里所佔的股權(所有權佔比)成比例,它實現的核心思路是:使用你所鎖定代幣的幣齡(CoinAge)以及一個小的工作量證明,去計算一個目標值,當滿足目標值時,你將可能獲取記賬權。
DPoS: 簡單來理解就是將 PoS 共識演算法中的記賬者轉換為指定節點數組成的小圈子,而不是所有人都可以參與記賬。這個圈子可能是 21 個節點,也有可能是 101 個節點,這一點取決於設計,只有這個圈子中的節點才能獲得記賬權。這將會極大地提高系統的吞吐量,因為更少的節點也就意味著網路和節點的可控。
3、加密簽名演算法
在區塊鏈領域,應用得最多的是哈希演算法。哈希演算法具有抗碰撞性、原像不可逆、難題友好性等特徵。
其中,難題友好性正是眾多 PoW 幣種賴以存在的基礎,在比特幣中,SHA256 演算法被用作工作量證明的計算方法,也就是我們所說的挖礦演算法。
而在萊特幣身上,我們也會看到 Scrypt 演算法,該演算法與 SHA256 不同的是,需要大內存支持。而在其他一些幣種身上,我們也能看到基於 SHA3 演算法的挖礦演算法。以太坊使用了 Dagger-Hashimoto 演算法的改良版本,並命名為 Ethash,這是一個 IO 難解性的演算法。
當然,除了挖礦演算法,我們還會使用到 RIPEMD160 演算法,主要用於生成地址,眾多的比特幣衍生代碼中,絕大部分都採用了比特幣的地址設計。
除了地址,我們還會使用到最核心的,也是區塊鏈 Token 系統的基石:公私鑰密碼演算法。
在比特幣大類的代碼中,基本上使用的都是 ECDSA。ECDSA 是 ECC 與 DSA 的結合,整個簽名過程與 DSA 類似,所不一樣的是簽名中採取的演算法為 ECC(橢圓曲線函數)。
從技術上看,我們先從生成私鑰開始,其次從私鑰生成公鑰,最後從公鑰生成地址,以上每一步都是不可逆過程,也就是說無法從地址推導出公鑰,從公鑰推導到私鑰。
4、賬戶與交易模型
從一開始的定義我們知道,僅從技術角度可以認為區塊鏈是一種分布式資料庫,那麼,多數區塊鏈到底使用了什麼類型的資料庫呢?
我在設計元界區塊鏈時,參考了多種資料庫,有 NoSQL 的 BerkelyDB、LevelDB,也有一些幣種採用基於 SQL 的 SQLite。這些作為底層的存儲設施,多以輕量級嵌入式資料庫為主,由於並不涉及區塊鏈的賬本特性,這些存儲技術與其他場合下的使用並沒有什麼不同。
區塊鏈的賬本特性,通常分為 UTXO 結構以及基於 Accout-Balance 結構的賬本結構,我們也稱為賬本模型。UTXO 是「unspent transaction input/output」的縮寫,翻譯過來就是指「未花費的交易輸入輸出」。
這個區塊鏈中 Token 轉移的一種記賬模式,每次轉移均以輸入輸出的形式出現;而在 Balance 結構中,是沒有這個模式的。