互聯網發展的三個階段
web1.0
靜態頁面,內容只能供用戶去閱讀,類似于在網絡上讀報紙或者看書。
web2.0
動態互聯網,實現用戶之間的互動,比如twitter,facebook,titok等。
web2.0中廠商用免費或極低的成本吸引用戶,通過獲取到用戶的信息來推流廣告從而獲得利潤。
打個比方就是廠商在一片地上種了很多草,吸引羊來吃,趁著羊吃草的功夫把羊身上的毛薅下來拿去賣錢,而羊自己并不在意這些毛,可以說是一種雙向互利的方式。
web3.0
web3.0是一個很模糊的概念,隨著區塊鏈技術的發展,基于區塊鏈的web3.0誕生。
接著用上面的例子來說,隨著web2.0的發展壯大,稀缺的不再是草,而是羊毛,也就是用戶身上的數據。那么羊毛的重要性愈加突出,所以提出web3.0的概念,也就是擁有自己的一片空間,別人無論如何都無法修改,也就是將羊毛存放在了一個非常安全的地方中,相比于web2.0,不但實現了動態的交互,也實現了數據的“擁有”。
web3的概念非常模糊,可以說是一個大方向,按照我個人的理解可以說是在互聯網創造了一個虛擬的世界,這個虛擬的世界擁有和現實世界一樣的貨幣交易系統以及其他體系,能夠自主維持運轉的這樣一個“虛擬生態系統”,而這個生態系統的生存法則就是“去中心化”。
什么是去中心化?
比如現在市面上的app都由一個廠家負責,廠商可以隨意刪除控制用戶數據,形成了以廠商為中心的服務體系,去中心化就是沒有中心廠商作為核心,而是所有用戶形成一個能夠自力更生的體系。
密碼貨幣
隨著web2.0發展,數字貨幣使用越來越多,而在區塊鏈技術的支持下,數字貨幣也出現了全新的存在形式,去中心化的密碼貨幣,世界上第一種密碼貨幣就是比特幣。像紙幣有防偽印一樣,密碼貨幣通過密碼學的散列計算出的hash值并且和智能合約進行綁定,密碼貨幣基于去中心化的機制,與依賴中心監管體系的銀行金融系統相對。之后出現的數種密碼貨幣被創造,它們通常被稱為altcoins。
區塊鏈
區塊鏈的防篡改機制一個區塊中儲存了三樣東西:數據,前一個區塊的hash值,自身的hash值,如果要更改某一區塊的內容,那么該區塊的hash值就會改變,下一區塊儲存的a區塊的hash值無法對應a區塊當前哈希值,那么這兩個區塊間的鏈接就會斷開。
如果想要篡改某一區塊的數據,我們就要將這一區塊以及后續所有區塊的hash值進行重算,比如一條區塊鏈里面有abcde五個區塊,當我們篡改了b區塊的數據,那么我們就要帶著b區塊的新hash值和c區塊的數據重新計算出c區塊的新hash值,然后再帶著c區塊的新hash值和d區塊的數據重新計算d區塊的新hash值,再帶著d區塊的新hash值和e區塊的數據重新計算e區塊的hash值…………………..其實在重新計算某一區塊的hash值的過程也就相當于創造了一個新的區塊,因此篡改一個區塊以及后續區塊所需的時間取決于創造一個區塊所需要的時間。
這個看起來對算力要求似乎非常龐大,但是現代計算機其實是可以做到這一點的,如果我們有一臺超大算力的計算機,那么是不是輕松就可以改變區塊鏈的內容了?為了防止這種情況的出現,區塊鏈加入了工作量證明機制簡稱pow
我們用游戲舉例說明一下pow,我們剛才說到用超大算力計算機來篡改區塊鏈,這就好比你拿著滿級神裝在新手村亂殺,區塊鏈是不允許這種情況出現的,因此它會上調怪物屬性,也就是會增加創造一個區塊所需的難度,使每一新區塊被創造時都保持在十分鐘左右,因此即使是一臺超高算力的計算機想要篡改一個區塊所需的時間仍然是
美股開盤,區塊鏈板塊普漲:美股小幅高開,道指漲0.36%,納指漲0.32%,標普500指數漲0.33%,區塊鏈普漲。[2021/9/2 22:56:05]
創造一個區塊的時間??nmin。
那我們所說的挖礦是什么呢?上面提到的情況是想要篡改區塊中的數據,那么我沒有惡意,我只是單純的創造區塊去給自己或者他人使用,這個創造區塊的過程犧牲了我電腦的算力和一些其他資源,所以作為補償,創建區塊的人會得到密碼貨幣的獎勵,這就是我們所說的挖礦。
區塊鏈的點對點網絡結構
在傳統的web服務中,傳統的鏈接對象基本都是客戶端和服務端,眾多客戶端訪問一個服務端來進行交互,而在區塊鏈的點對點網絡結構中,不再有客戶端與服務端的概念,每一個節點間相互平等,并且包含完整的區塊鏈數據存儲,也就是說每一個節點中都儲存了整個區塊鏈網絡中的所有信息,這樣即使一個節點出現故障,其他所有節點也在幫他記錄信息,這些記錄了所有節點區塊鏈的節點叫做全節點,當然也有只儲存了自己信息的輕節點,比如區塊鏈用來儲存轉賬記錄,那么每一節點都儲存了所有節點之間的轉賬記錄,每一節點儲存的內容也是相同的,如果某一節點與其他節點出現差異,那么該節點或許就有被篡改過的可能了,但是被篡改幾乎是不可能發生的,原因看下面。
點對點網絡結構下的所有節點擁有判斷區塊是否被篡改的能力,當一個新區塊想要加入某一節點的區塊鏈時,該節點會向其他所有節點進行廣播,所有的節點進行判斷,如果50%以上的節點都認為該區塊沒有被篡改,那么這個區塊就可以成功的加入區塊鏈當中,反言之如果想要篡改某一區塊的數據,你首先要將這一區塊后的所有哈希重新計算,并且還要更改超過百分之五十節點的這一區塊后的所有區塊的哈希,那么就要擁有超過全網50%以上的算力才可以,這付出的代價是相當高的,這就是區塊鏈網絡系統的少數服從多數原則。
DAPP
Dapp是什么?
APP(Application)指的是手機里的應用程序,像是微信、微博、抖音…等都是日常生活中常會使用到的App。
而Dapp的全名為去中心化應用程序,是建立在區塊鏈系統網絡上,所提供的服務都具有公開透明、不可篡改的特性。
①網安學習成長路徑思維導圖②60+網安經典常用工具包③100+SRC漏洞分析報告④150+網安攻防實戰技術電子書⑤最權威CISSP認證考試指南+題庫⑥超1800頁CTF實戰技巧手冊⑦最新網安大廠面試題合集⑧APP客戶端安全檢測指南
以下是Dapp所具有的要素:
代碼開源:程序代碼皆公開透明,任何人都可以查閱及審核,避免項目方說到沒做到。
分布式帳本:降低數據遺失的風險,且沒有任何其他第三方有權能夠竄改數據。
數據所有權:除本人外,任何人皆無法動用該帳號的數據。
為什么Dapp會崛起?
事實上,App都是中心化的應用服務,用戶所使用的數據都會存儲在單一服務器系統里,代表公司能掌控用戶的所有數據,但相關問題也隨之浮出水面。
數據所有權歸屬問題
用戶在App上的個人資料、搜索瀏覽紀錄等信息都會存儲在中心化系統的服務器里,這也意味著軟件公司能夠借由這些數據來營利。
也導致像是微博、抖音等企業,能透過搜集的用戶數據來投放廣告,并借此獲利。等于企業能用你的信息來賺錢,但你卻分不到任何好處,甚至還可能受到影響。
另外,傳統手游的游戲道具、帳號數據也都屬于公司所有,一旦宣布停止營運,這些資產也會隨著官方服務器關閉而消失。
但在Dapp中,你的游戲道具、帳號都會以NFT形式儲存在鏈上,因此只要區塊鏈不倒,你就能持續擁有這些資產。換句話說,Dapp能夠讓數據的所有權回歸到用戶身上。額外提醒,雖然你仍擁有這些資產,但可能會因為游戲已經關閉,導致這些資產的現值趨近于零,你能保有的仍以回憶居多。
濟南市局推出“復產復工”系統,采用區塊鏈為全市企業構筑疫情防控“安全網”:濟南市局、濟南市工業和信息化局聯合浪潮,依托愛城市網APP推出“復工復產”系統,為全市企業構筑疫情防控“安全網”。該系統采用區塊鏈可信二維碼機制,保證碼的合法性與真實性,防止利用非法虛假二維碼收集個人信息;采用基于區塊鏈技術的授權機制,保證信息收集的合法性、真實性及可追溯性。同時,數據上鏈,保證信息不可篡改,利于明晰責任主體,科學戰“疫”。[2020/3/6]
過度中心化
App是由中心化服務器來進行管理,因此企業有時可以專斷獨行,但用戶卻沒有任何反制的手段:例如可以隨意植入廣告,或是刪除用戶的內容、帳號。
而Dapp的數據都存在區塊鏈上,因此項目方沒辦法任意刪除用戶資料,目前也沒有任何廣告植入的問題。
由于上述幾點原因,也讓許多人開始對傳統的App感到不滿,于是就有人打算通過區塊鏈“去中心化”的特性來研發能解決上述問題的App,于是Dapp就此誕生。
不過同時也要注意,不是每個Dapp都一定符合公開、去中心化的規范,例如Opensea就能下架用戶的NFT和限制用戶登陸。
Dapp與App的差異
App的應用服務是使用中心化服務器,代表軟件公司必須要承擔存儲用戶的數據量的營運成本,否則將無法持續地運行。
例如抖音服務器的成本就百萬以上,因此必須想辦法創造各種營收管道來支持各項支出,像是通過大數據將廣告推廣到潛在用戶面前,借此吸引更多廣告商進駐。
而Dapp是建立在區塊鏈上,用戶在鏈上進行交易、換幣等行為時,是需要自行負擔手續費的,也就代表開發商的運營成本會比傳統App來得更低。
智能合約
智能合約,是一段寫在區塊鏈上的代碼,一旦某個事件觸發合約中的條款,代碼即自動執行。也就是說,滿足條件就執行,不需要人為操控,類似于傳統web的后端代碼。
簡單區塊鏈實現
我們用Javascript來手寫一個建議的區塊鏈出來,其實和寫一個鏈表很像:
constsha256=require('crypto-js/sha256')Date=newDate()classblock{constructor(data,time,previousHash){this.data=datathis.time=timethis.previousHash=previousHashthis.myHash=this.currHash(。currHash(){returnsha256(this.data+this.time+this.previousHash).toString(。classblockCahin{constructor(){this.chain=;}createBlockchain(){returnnewblock("Genesisblock",Date.toLocaleString(),0o0000000。getLatestblock(){returnthis.chain}addBlock(newBlock){newBlock.previousHash=this.getLatestblock().myHashnewBlock.myHash=newBlock.currHash()this.chain.push(newBlock。BlockChain=newblockCahin()BlockChain.addBlock(newblock("thisisatest",Date.toLocaleDateString(),"anything"))console.log(BlockChain)
聲音 | 新時代證券首席經濟學家:區塊鏈將提升我國經濟效率并優化節能環保產業和能源結構:金色財經報道,新時代證券首席經濟學家潘向東表示,區塊鏈技術在金融行業運用較多,目前也逐漸運用到實體經濟,比如高端裝備、能源、生物醫藥等產業,隨著區塊鏈技術的逐漸成熟,科創板支持六大領域的運用場景會越來越多。區塊鏈對科創板的新一代信息技術產業的企業會產生直接影響,未來隨著區塊鏈技術的逐漸成熟和區塊鏈應用場景的開發,區塊鏈將會提升我國經濟效率,改善經濟質量,科創板其他產業的企業也將受到影響。區塊鏈將會優化我國節能環保產業和能源結構,促進傳統產業轉型升級,加快發展新興產業,降低傳統煤炭等能源消耗比重,通過碳交易的精準計量,達到環境保護和經濟的協調發展,從而實現經濟的高質量增長。從整體來看,目前區塊鏈存在的問題和風險,潘向東認為,主要可以分為兩類:一是金融風險問題,區塊鏈在金融領域運用較為廣泛,一些監管尚未跟上,存在一定金融風險,需要完善監管;二是區塊鏈技術本身的安全問題,包括底層代碼、密碼算法、共識機制的安全等。[2019/10/30]
接下來我們用代碼實現一下簡易的POW:
constsha256=require("crypto-js/sha256")functionproofOfwork(){letseed="y1zh3e7"letx=1//x為自增變量while(true){if(sha256(seed+x).toString().substring(0,4)!="0000")//定義難度,比如我現在要求通過不斷自增x去計算seed+x的哈希值{//當哈希值前四位都為0000時則代表成功如果想提高難度我們就可以讓前x位為xxxxx+=1}else{console.log(sha256(seed+x).toString())break}}console.log(x)//輸出計算多少次后成功}proofOfwork()
實現防篡改機制:
/***********************************************驗證區塊鏈防篡改需要檢測兩項:1.重新計算區塊的hash值,判斷與區塊中儲存的hash是否相同2.判斷當前區塊的previousHash是否和上一區塊的hash相同***********************************************/functionvalidateBlock(validBlockchain){if(validBlockchain.chain.length==1){if(validBlockchain.chain.myHash!=validBlockchain.calcHash()){console.log("數據篡改")returnfalse}}else{for(leti=1;i<=validBlockchain.chain.length-1;i++){if(validBlockchain.chain.myHash!=validBlockchain.chain.calcHash()){console.log("數據篡改")returnfalse}if(validBlockchain.chain.previousHash!=validBlockchain.chain.myHash){console.log("前后區塊鏈斷裂")returnfalse}}}console.log("數據無篡改且區塊鏈結構完整")returntrue}
將完整的POW整合到區塊鏈當中并實現挖礦功能,最終實現的完整區塊鏈:
constsha256=require('crypto-js/sha256')Date=newDate()classblock{constructor(data,time,previousHash){this.data=datathis.time=timethis.nonce=1this.previousHash=previousHashthis.myHash=this.calcHash(。calcHash(){returnsha256(this.data+this.time+this.previousHash+this.nonce).toString(。/****/getAnswer(difficulty){letanswer=""for(leti=0;i<difficulty;i++){answer+="0"}console.log(answer)returnanswer}/**引入挖礦功能**/mine(difficulty){letanswer=this.getAnswer(difficulty)letHash=this.calcHash()while(true){if(Hash.substring(0,difficulty)!=answer){this.nonce++Hash=this.calcHash(。else{break}}console.log("minesuccessful!")console.log(this.nonce)returnHash}}classblockCahin{constructor(){this.chain=this.difficulty=5}createBlockchain(){returnnewblock("Genesisblock",Date.toLocaleString(),0o0000000。getLatestblock(){returnthis.chain}addBlock(newBlock){newBlock.previousHash=this.getLatestblock().myHashnewBlock.myHash=newBlock.mine(this.difficulty)this.chain.push(newBlock。/***********************************************驗證區塊鏈防篡改需要檢測兩項:1.重新計算區塊的hash值,判斷與區塊中儲存的hash是否相同2.判斷當前區塊的previousHash是否和上一區塊的hash相同***********************************************/functionvalidateBlock(validBlockchain){if(validBlockchain.chain.length==1){if(validBlockchain.chain.myHash!=validBlockchain.calcHash()){console.log("數據篡改")returnfalse}}else{for(leti=1;i<=validBlockchain.chain.length-1;i++){if(validBlockchain.chain.myHash!=validBlockchain.chain.calcHash()){console.log("數據篡改")returnfalse}if(validBlockchain.chain.previousHash!=validBlockchain.chain.myHash){console.log("前后區塊鏈斷裂")returnfalse}}}console.log("數據無篡改且區塊鏈結構完整")returntrue}BlockChain=newblockCahin()BlockChain.addBlock(newblock("thisisatest",Date.toLocaleDateString(),"anything"))//console.log(BlockChain)//BlockChain.chain.data="數據篡改"//BlockChain.chain.myHash="0012343566688"//console.log(validateBlock(BlockChain))
聲音 | 納斯達克CEO:區塊鏈及加密貨幣領域存在真正的機會:據雅虎財經消息,納斯達克首席執行官Adena Friedman在接受采訪時就“加密是納斯達克的敵人還是朋友?”一問進行了回答。Friedman回答「都不是」,她認為這是一個非常有趣的創新,區塊鏈的技術基礎非常有趣,納斯達克正在把區塊鏈整合到其交易基礎設施的很多元素中,為新市場做準備。至于加密貨幣本身,Friedman認為,這是區塊鏈技術的一種表現,且加密貨幣仍然是一項非常年輕的發明。Friedman還強調了需要弄清楚加密貨幣真正的用途,以及如何利用這一技術創新創造更好的資金轉移方式,從而使全球經濟運行得更快更好。Friedman最后表示,在區塊鏈及加密貨幣領域存在著真正的機會。[2019/10/11]
數字貨幣的簡單實現
比特幣
我們前面說到區塊鏈是用來記錄信息的,如果它記錄的是轉賬記錄那么它就成了一個賬本。
一筆轉賬信息需要以下四個信息:
付款人收款人轉賬金額轉賬時間
我們前面提到了POW,比特幣會通過POW將產生一個區塊的時間控制在十分鐘左右,比特幣的工作機制基本如下:
整個區塊鏈是一個網狀的網絡結構,其中有一個中心,每十分鐘發布一個問題,當問題發布后,該網狀網絡中的所有結點會來解這個問題,此時就是各結點間的算力比拼,當有一個結點解出該問題后則代表挖礦成功,一個新區塊被創造出來,這時該新區塊內會自動生成一筆轉賬記錄,其中的收款人就是該區塊的挖出者,這時區塊鏈就會自動把獎勵發放到收款人的賬戶上,并且該區塊會在整個區塊鏈網絡中進行廣播,區塊鏈中的每一個結點會對該區塊進行驗證其合法性,經過驗證后該新區塊就會被加到區塊鏈上。每四年比特幣的獎勵會減半一次,最后的比特幣總量大約是在2100萬個左右。
那么這里會有一個問題,如果過了幾年之后,比特幣越來越少,每次挖礦后幾乎得不到比特幣了,那還會有人來挖礦嗎?
其實比特幣只是比特幣區塊鏈中的一個額外獎勵機制,整個區塊鏈貨幣依賴的是每一筆轉賬記錄的手續費,當一個新區塊被挖出時那么這個新區塊的轉賬信息就會記錄在這個新區塊上,后續也會記錄其他的轉賬信息,并且會產生手續費,手續費歸記錄該筆轉賬信息的區塊的挖出者所有。
說到動態調整難度,比特幣是怎么調整的呢?
比特幣會在每2016個區塊誕生后驗證一下難度,如果說本來預期中mine這2016個區塊所需要的時間是兩個星期,而實際只用了一個星期,那么此時比特幣區塊鏈就會調整難度,使其達到預期,基本上比特幣區塊鏈會每兩個星期調整一次難度。
創建自己的數字貨幣
首先我們要新建一個Transaction類來進行轉賬記錄:
classTransaction{constructor(from,to,amount){this.from=fromthis.to=tothis.amount=amount}}
更改區塊中data的含義,此時要記錄的是轉賬信息transaction,并且由于transaction是一個對象,因此在參與計算哈希時要轉為字符串:
classBlock{constructor(transaction,previousHash){this.transactions=transactionthis.time=Date.now()this.nonce=1this.previousHash=previousHashthis.myHash=this.calcHash(。//計算hash時要將data轉換為字符串類型,此時的data是一個transactioncalcHash(){returnsha256(JSON.stringify(this.transactions)+this.time+this.previousHash+this.nonce).toString(。
現場 | 鏈極科技董事長龐引明:區塊鏈能夠切實服務實體經濟:金色財經現場報道,在今日舉辦的2018全球媒體峰會上,“清流智庫專家”、鏈極科技董事長龐引明發表題為《區塊鏈服務實體經濟》的演講,他表示,傳統金融存在痛點,第一是成本高,傳統金融機構的成本越來越高;第二是普惠性低,考慮客戶分層不服務于窮人,金融機構機構變成了大山。實體經濟方面也存在痛點,一是過程、流程過于復雜,二是大數據真實性、可靠性不足。區塊鏈技術能夠解決傳統金融和實體經濟存在的問題,服務實體經濟。[2018/7/19]
上面說到獎勵貨幣的發放是通過轉賬的方式實現的,所以我們在鏈上實現邏輯:
classblockChain{constructor(){this.chain=this.difficulty=5this.transactionPool=//挖礦成功的轉賬信息this.mineReward=50//每次挖礦成功的獎勵貨幣數}mineTransaction(minerAddress){constminerRewardTransaction=newTransaction('',minerAddress,this.mineReward)this.transactionPool.push(minerRewardTransaction。
之前我們是在外部傳入一個區塊,在整個貨幣系統的實現后區塊應該是在挖礦時在區塊鏈內部產生的,修改代碼:
//將Transaction添加到TransactionPool中addTransaction(Transaction){this.transactionPool.push(Transaction。mineTransaction(minerAddress){constminerRewardTransaction=newTransaction('',minerAddress,this.mineReward)this.transactionPool.push(minerRewardTransaction)//挖礦/*********************************************************這里新區塊記錄了整個區塊鏈的轉賬信息,但在實際情況中區塊的存儲*容量是有限制的,所以在挖礦時記錄的轉賬記錄會選擇手續費最高的transaction*我們這里先不考慮這種情況*******************************************************/constnewBlock=newBlock(this.transactionPool,this.getLatestBlock().myHash)newBlock.mine()//添加到區塊鏈,并清空TransactionPoolthis.chain.push(newBlock)this.transactionPool=}
整個寫好的數字代幣:
constsha256=require('crypto-js/sha256')classTransaction{constructor(from,to,amount){this.from=fromthis.to=tothis.amount=amount}}classBlock{constructor(transaction,previousHash){this.transactions=transactionthis.time=Date.now()this.nonce=1this.previousHash=previousHashthis.myHash=this.calcHash(。//計算hash時要將data轉換為字符串類型,此時的data是一個transactioncalcHash(){returnsha256(JSON.stringify(this.transactions)+this.time+this.previousHash+this.nonce).toString(。/**獲取相應難度hash**/getAnswer(difficulty){letanswer=""for(leti=0;i<difficulty;i++){answer+="0"}returnanswer}/**引入挖礦功能**/mine(difficulty){letanswer=this.getAnswer(difficulty)letHash=this.calcHash()while(true){if(Hash.substring(0,difficulty)!=answer){this.nonce++Hash=this.calcHash(。else{break}}console.log("minesuccessful!\n")console.log("計算"+this.nonce+"次后挖礦成功,answer為"+Hash)returnHash}}classblockChain{constructor(){this.chain=this.difficulty=4this.transactionPool=//挖礦成功的轉賬信息this.mineReward=50//每次挖礦成功的獎勵貨幣數}createBlockchain(){returnnewBlock("Genesisblock",null。getLatestBlock(){returnthis.chain}//將Transaction添加到TransactionPool中addTransaction(Transaction){this.transactionPool.push(Transaction。mineTransaction(minerAddress){constminerRewardTransaction=newTransaction('',minerAddress,this.mineReward)this.transactionPool.push(minerRewardTransaction)//挖礦/*********************************************************這里新區塊記錄了整個區塊鏈的轉賬信息,但在實際情況中區塊的存儲*容量是有限制的,所以在挖礦時記錄的轉賬記錄會選擇手續費最高的transaction*我們這里先不考慮這種情況*******************************************************/constnewBlock=newBlock(this.transactionPool,this.getLatestBlock().myHash)newBlock.mine(this.difficulty)//添加到區塊鏈,并清空TransactionPoolthis.chain.push(newBlock)this.transactionPool=}}/***********************************************驗證區塊鏈防篡改需要檢測兩項:1.重新計算區塊的hash值,判斷與區塊中儲存的hash是否相同2.判斷當前區塊的previousHash是否和上一區塊的hash相同***********************************************/functionvalidateBlock(validBlockchain){if(validBlockchain.chain.length==1){if(validBlockchain.chain.myHash!=validBlockchain.calcHash()){console.log("數據篡改")returnfalse}}else{for(leti=1;i<=validBlockchain.chain.length-1;i++){if(validBlockchain.chain.myHash!=validBlockchain.chain.calcHash()){console.log("數據篡改")returnfalse}if(validBlockchain.chain.previousHash!=validBlockchain.chain.myHash){console.log("前后區塊鏈斷裂")returnfalse}}}console.log("數據無篡改且區塊鏈結構完整")returntrue}Y1Coin=newblockChain()constTransaction1=newTransaction('add1','add2',20)constTransaction2=newTransaction('add1','add2',5)Y1Coin.addTransaction(Transaction1)Y1Coin.addTransaction(Transaction2)Y1Coin.mineTransaction("add3")console.log(Y1Coin)console.log(Y1Coin.chain.transactions)
Tags:區塊鏈Blockchain比特幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢blockchaintechnologyblockchain錢包是哪個國家的blockchain
,Paris:Fayard,2018)這幾年在國外念書,常常深居簡出,一天也說不了幾句話。偶逢師友小聚,總擔心自己不諳社交禮度,說錯話、辦錯事,壞了大家的雅興.
1900/1/1 0:00:00本報記者趙奕胡金華上海報道FTX崩潰的影響仍在持續。11月10日,數據顯示,比特幣失守1.6萬美元關口,最低下探至1.56萬美元左右,創2020年11月以來的最低點.
1900/1/1 0:00:00中蒙煤炭貿易,出現了新的變化。受國內反腐形勢影響,蒙古國政府已經決定從2月開始,單方面停止與中國簽署煤炭直接銷售協議,轉而在國內的證券交易所拍賣合同,此外,其他煤炭企業對中國的煤炭出口,也將改為.
1900/1/1 0:00:00近日,從相關渠道獲悉,高合HiPhiY的申報圖。新車定位為中型SUV,相比HiPhiZ和HiPhiX,新車的外觀造型更為常規,或稱為高合品牌走量的車型,小編猜測售價在40萬元左右.
1900/1/1 0:00:00都說特斯拉官降沒有底線,只有更低價格,沒有最低價格,這也是特斯拉常用的手段之一,一家車企殺四方車企,不服就干,當然,受益最大的還是咱們消費者.
1900/1/1 0:00:00卡塔爾世界杯即將開始,大家了解卡塔爾嗎? 卡塔爾是全球人均收入最高的國家,沒有之一。在全球范圍內,卡塔爾也稱得上是共同富裕的典范.
1900/1/1 0:00:00