BlockChain區(qū)塊鏈學(xué)習(xí)筆記--概念理解

目錄

一毁靶、區(qū)塊

  • 什么是區(qū)塊
  • 區(qū)塊的結(jié)構(gòu)
  • 產(chǎn)生一個(gè)區(qū)塊的過程
  • 如何校驗(yàn)一個(gè)區(qū)塊的有效性
  • 如何驗(yàn)證交易的有效性

二、區(qū)塊鏈

  • 什么是區(qū)塊鏈
  • 區(qū)塊鏈的特點(diǎn)

三幕与、智能合約

  • 智能合約是什么
  • 如何搭建一個(gè)智能合約

關(guān)鍵字

UTXO POW coinbase Markle Tree Nonce

正文

區(qū)塊

什么是區(qū)塊

在比特幣網(wǎng)絡(luò)中速兔,數(shù)據(jù)會(huì)以文件的形式被永久記錄,我們稱這些文件為區(qū)塊淤齐。同時(shí)也是一種記錄交易的數(shù)據(jù)結(jié)構(gòu)股囊。每個(gè)區(qū)塊由區(qū)塊頭和區(qū)塊主體組成,區(qū)塊主體只負(fù)責(zé)記錄前一段時(shí)間內(nèi)的交易信息更啄,區(qū)塊鏈的大部分功能都由區(qū)塊頭來實(shí)現(xiàn)稚疹。

區(qū)塊的結(jié)構(gòu)

區(qū)塊的結(jié)構(gòu)主要分為兩部分:區(qū)塊頭和區(qū)塊主體,如下:

區(qū)塊結(jié)構(gòu)

數(shù)據(jù)項(xiàng) 描述 長(zhǎng)度
Magic no(魔法數(shù)) 總是0xD9B4BEF9 4字節(jié)
Blocksize(區(qū)塊大小) 到區(qū)塊結(jié)束的字節(jié)長(zhǎng)度 4字節(jié)
Blockheader(區(qū)塊頭) 包含8個(gè)數(shù)據(jù)項(xiàng) 80字節(jié)
Transaction counter(交易數(shù)量) 正整數(shù)VI=VarInt 1-9字節(jié)
Transaction (交易) 交易列表(非空) <Transaction-counter>許多交易

Blockheader區(qū)塊頭表結(jié)構(gòu)

數(shù)據(jù)項(xiàng) 目的 更新時(shí)間 大屑牢瘛(字節(jié))
Version(版本) 區(qū)塊版本號(hào) 更新軟件后他指定了一個(gè)新的版本號(hào) 4
hashPrevBlock(前一個(gè)區(qū)塊的hash值) 前一個(gè)區(qū)塊的256位hash(父區(qū)塊的hash内狗,區(qū)塊與區(qū)塊之間就是靠次hash鏈接成鏈) 新區(qū)塊進(jìn)來時(shí) 32
hashMerkleRoot Merkle(根結(jié)點(diǎn)hash值) 基于一個(gè)區(qū)塊中所有交易的256位hash 接受一個(gè)交易時(shí) 32
Time(時(shí)間戳) 從1970-01-01 00:00 UTC開始到現(xiàn)在,一秒為單位的當(dāng)前時(shí)間戳 每幾秒更新 4
Bits(當(dāng)前目標(biāo)的hash) 壓縮格式的當(dāng)前目標(biāo)hash值 挖礦難度調(diào)整時(shí) 4
Nonce(隨機(jī)數(shù)) 從0開始的32位隨機(jī)數(shù) 產(chǎn)生hash時(shí)(每次產(chǎn)生hash隨機(jī)數(shù)時(shí)都要增加) 4

產(chǎn)生一個(gè)區(qū)塊的過程

1.礦工在挖礦前要組建區(qū)塊
? 將coinbase交易打包進(jìn)區(qū)塊(coinbase交易必須放在交易列表的第一個(gè))
? 將交易池中優(yōu)先級(jí)的交易打包進(jìn)區(qū)塊
? (優(yōu)先級(jí) = 交易的額度 * UTXO的深度 / 交易的size)
2.創(chuàng)建區(qū)塊的頭部
? 版本號(hào) 父區(qū)塊哈希 Markle樹根 時(shí)間戳 難度值 Nonce
3.挖礦成功后义锥,將計(jì)算出來的隨機(jī)數(shù)Nonce填入?yún)^(qū)塊頭部柳沙,向臨近節(jié)點(diǎn)傳播

如何校驗(yàn)一個(gè)區(qū)塊的有效性

  • 利用算出來的nonce和本區(qū)塊里面存儲(chǔ)的父區(qū)塊的hash值再做一次hash。
  • 驗(yàn)證POW的nonce值是否符合難度值
  • 檢查時(shí)間戳是否小于當(dāng)前時(shí)間2小時(shí)
  • 檢查Merkle樹根是否正確
  • 檢查區(qū)塊size要小于區(qū)塊size的上限
  • 第一筆交易必須是coinbase(挖礦成功的那筆交易)交易
  • 驗(yàn)證每個(gè)交易

如何驗(yàn)證交易的有效性

  • 交易size不能大于區(qū)塊的size上限
  • 交易輸入的UTXO是否存在
  • 交易UTXO沒有被其他交易引用
  • 輸入金額要大于輸出金額(交易中拌倍,礦工會(huì)收取費(fèi)用)
  • 解鎖腳本進(jìn)行驗(yàn)證

區(qū)塊鏈

什么是區(qū)塊鏈

區(qū)塊鏈?zhǔn)且粋€(gè)分布式賬本赂鲤,一種通過去中心化噪径,去信任的方式集體維護(hù)的一個(gè)可靠數(shù)據(jù)的技術(shù)方案。是通過每相鄰的兩個(gè)區(qū)塊中區(qū)塊頭里面的父hash(hashPrevBlock)關(guān)聯(lián)在一起的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)数初。

區(qū)塊鏈的特點(diǎn)

  • 去中心化
    由于使用分布式核算和存儲(chǔ)找爱,不存在中心化的硬件或管理機(jī)構(gòu),任意節(jié)點(diǎn)的權(quán)利和義務(wù)都是均等的泡孩,系統(tǒng)中的數(shù)據(jù)塊由整個(gè)系統(tǒng)中具有維護(hù)功能的節(jié)點(diǎn)來共同維護(hù)车摄。

  • 開放性(沒有限制,開源珍德,數(shù)據(jù)公開)
    系統(tǒng)是開放的练般,除了交易各方的私有信息被加密外,區(qū)塊鏈的數(shù)據(jù)對(duì)所有人公開锈候,任何人都可以通過公開的接口查詢區(qū)塊鏈數(shù)據(jù)和開發(fā)相關(guān)應(yīng)用薄料,因此整個(gè)系統(tǒng)信息高度透明

  • 自治性,集體維護(hù)
    區(qū)塊鏈采用基于協(xié)商一致的規(guī)范和協(xié)議(比如一套公開透明的算法)使得整個(gè)系統(tǒng)中的所有節(jié)點(diǎn)能夠在去信任的環(huán)境自由安全的交換數(shù)據(jù)泵琳,使得對(duì)“人”的信任改成了對(duì)機(jī)器的信任摄职,任何人為的干預(yù)不起作用。

  • 可靠的數(shù)據(jù)庫(不可更改获列,永遠(yuǎn)可訪問)
    一旦信息經(jīng)過驗(yàn)證并添加至區(qū)塊鏈谷市,就會(huì)永久的存儲(chǔ)起來,除非能夠同時(shí)控制住系統(tǒng)中超過51%的節(jié)點(diǎn)击孩,否則單個(gè)節(jié)點(diǎn)上對(duì)數(shù)據(jù)庫的修改是無效的迫悠,因此區(qū)塊鏈的數(shù)據(jù)穩(wěn)定性和可靠性極高。

  • 匿名性巩梢,隱私保護(hù)
    由于節(jié)點(diǎn)之間的交換遵循固定的算法创泄,其數(shù)據(jù)交互是無需信任的(區(qū)塊鏈中的程序規(guī)則會(huì)自行判斷活動(dòng)是否有效),因此交易對(duì)手無須通過公開身份的方式讓對(duì)方自己產(chǎn)生信任括蝠,對(duì)信用的累積非常有幫助鞠抑。

智能合約

智能合約是什么

“智能合約”(smart contract)這個(gè)術(shù)語至少可以追溯到1995年,是由多產(chǎn)的跨領(lǐng)域法律學(xué)者尼克·薩博(Nick Szabo)提出來的忌警。定義如下:
“一個(gè)智能合約是一套以數(shù)字形式定義的承諾(promises) 搁拙,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議》啵”
個(gè)人理解就是:將一些約定好的條款箕速,用機(jī)器語言寫入機(jī)器中,在一定的條件下會(huì)自動(dòng)觸發(fā)礼烈;期間不需要人為參與弧满。
比如,通過淘寶下單付款后商家發(fā)貨此熬,確認(rèn)收貨后系統(tǒng)自動(dòng)轉(zhuǎn)錢給商家庭呜。

智能合約的部署

http://ethereum.github.io/browser-solidity //智能合約在線編輯器

https://learnblockchain.cn/2017/11/24/init-env/ //智能合約部署教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末滑进,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子募谎,更是在濱河造成了極大的恐慌扶关,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件数冬,死亡現(xiàn)場(chǎng)離奇詭異节槐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拐纱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門铜异,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秸架,你說我怎么就攤上這事揍庄。” “怎么了东抹?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵蚂子,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我缭黔,道長(zhǎng)食茎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任馏谨,我火速辦了婚禮别渔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惧互。我一直安慰自己钠糊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布壹哺。 她就那樣靜靜地躺著,像睡著了一般艘刚。 火紅的嫁衣襯著肌膚如雪管宵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天攀甚,我揣著相機(jī)與錄音箩朴,去河邊找鬼。 笑死秋度,一個(gè)胖子當(dāng)著我的面吹牛炸庞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荚斯,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼埠居,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼查牌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起滥壕,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤纸颜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后绎橘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胁孙,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年称鳞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涮较。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冈止,死狀恐怖狂票,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情靶瘸,我是刑警寧澤苫亦,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站怨咪,受9級(jí)特大地震影響屋剑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诗眨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一唉匾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匠楚,春花似錦巍膘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至与斤,卻和暖如春肪康,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背撩穿。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工冕广, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留噪奄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像侵俗,于是被迫代替她去往敵國(guó)和親丽焊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容