比特幣發起一筆交易
Ⅰ 比特幣轉賬要付多少手續費
比特幣轉賬手續費是交易者付給礦工的一筆費用,用於激勵礦工競爭記賬,為比特幣提供足夠的算力,從而確保比特幣網路的安全,有的地方也叫做礦工費。
用戶在比特幣網路發起一筆轉賬時,一般需要支付給記賬礦工一定的轉賬手續費。轉賬手續費一般為0.001-0.0015個比特幣,由於區塊能容納交易記錄的容量有限,礦工會優先打包手續費高的交易,所以多付手續費可以更快被記賬。
比特幣交易手續費的存在能提高轉賬門檻,有效防止區塊鏈中充斥垃圾信息,並且能夠保證在比特幣被挖完之後礦工仍有動力維護比特幣網路。
Ⅱ 比特幣機制研究
現今世界的電子支付系統已經十分發達,我們平時的各種消費基本上在支付寶和微信上都可以輕松解決。但是無論是支付寶、微信,其實本質上都依賴於一個中心化的金融系統,即使在大多數情況這個系統運行得很好,但是由於信任模型的存在,還是會存在著仲裁糾紛,有仲裁糾紛就意味著不存在 不可撤銷的交易 ,這樣對於 不可撤銷的服務 來說,一定比例的欺詐是不可避免的。在比特幣出來之前,不存在一個 不引入中心化的可信任方 就能解決在通信通道上支付的方案。
比特幣的強大之處就在於:它是一個基於密碼學原理而不是依賴於中心化機構的電子支付系統,它能夠允許任何有交易意願的雙方能直接交易而不需要一個可信任的第三方。交易在數學計算上的不可撤銷將保護 提供不可撤銷服務 的商家不被欺詐,而用來保護買家的 程序化合約機制 也比較容易實現。
假設網路中有A, B ,C三個人。
A付給B 1比特幣 ,B付給C 2比特幣 ,C付給A 3比特幣 。
如下圖所示:
為了刺激比特幣系統中的用戶進行記賬,記賬是有獎勵的。獎勵來源主要有兩方面:
比特幣中每一筆交易都會有手續費,手續費會給記賬者
記賬會有打包區塊的獎勵,中本聰在08年設計的方案是: 每10分鍾打一個包,每打一個包獎勵50個比特幣,每4年單次打包的獎勵數減半,即4年後每打一個包獎勵25個比特幣,再過四年後就獎勵12.5個比特幣... 這樣我們其實可以算出比特幣的總量:
要說明打包的記錄以誰為準的問題,我們需要引入一個知名的 拜占庭將軍問題 (Byzantine failures)。拜占庭將軍問題是由萊斯利·蘭伯特提出的點對點通信中的基本問題。含義是在存在消息丟失的不可靠信道上試圖通過消息傳遞的方式達到一致性是不可能的。
假設有9個互相遠離的將軍包圍了拜占庭帝國,除非有5個及以上的將軍一起攻打,拜占庭帝國才能被打下來。而這9個將軍之間是互不信任的,他們並不知道這其中是否有叛徒,那麼如何通過遠距離協商來讓他們贏取戰斗呢?
口頭協議有3個默認規則:
1.每個信息都能夠被准確接收
2.接收者知道是誰發送給他的
3.誰沒有發送消息大家都知道
4.接受者不知道轉發信息的轉發者是誰
將軍們遵循口頭規則的話,那就是下面的場景:將軍1對其他8個將軍發送了信息,然後將軍2~9將消息進行轉達(廣播),每個將軍都是消息的接受者和轉發者,這樣一輪下來,總共就會有9×8=72次發送。這樣將軍就可以根據自己手中的信息,選擇多數人的投票結果行動即可,這個時候即便有間諜,因為少數服從多數的原則,只要大部分將軍同意攻打拜占庭,自己就去行動。
這個方案有很多缺點:
1.首先是發送量大,9個將軍之間要發送72次,隨著節點數的增加,工作量呈現幾何增長。
2.再者是無法找出誰是叛徒,因為是口頭協議,接受者不知道轉發信息的轉發者是誰,每個將軍手裡的數據僅僅只是一個數量的對比:
這里我們假設有3個叛徒,在一種最極端的情況下即叛徒轉發信息時總是篡改為「不進攻」,那麼我們最壞的結果就如上圖所示。將軍1根據手裡的信息可以推出要進攻的結論,卻無法獲知將軍裡面誰是叛徒。
這樣我們就有了方案二:書面協議。
書面協議即將軍在接受到信息後可以進行簽字,並且大家都能夠識別出這個簽字是否是本人,換種說法就是如果有人篡改簽字大家可以知道。書面協議相對比口頭協議就是增加了一個認證機制,所有的消息都有記錄。一旦發現有人所給出的信息不一致,就是追查間諜。
有了書面協議,那麼將軍1手裡的信息就是這樣的:
可以很明顯得看出,在最壞的一種情況——叛徒總是轉發「不進攻」的消息之下,將軍7、8、9是團隊里的叛徒。
這個方案解決了口頭協議里歷史信息不可追溯的問題,但是在發送量方面並沒有做到任何改進。
在我們的示例中,比特幣系統里的每個用戶發起了一筆交易,都會通過自己的私鑰進行簽名,用數學公式表示就是:
所以之前的區塊就變成了這樣:
這樣每一筆交易都由交易發起者通過私鑰進行數字簽名,由於私鑰是不公開的,所以交易信息也就無法被偽造了。
如書面協議末尾所說的那樣,書面協議未能解決信息交流過多的問題。當比特幣系統中存在上千萬節點的時候,如果要互相廣播驗證,請求響應的次數那將是一個非常龐大的數字,顯然勢必會造成網路擁堵、節點處理變慢。為了解決這個問題,中本聰乾脆讓整個10分鍾出一個區塊,這個區塊由誰來打包發出呢?這里就採用了工作量證明機制(PoW)。工作量證明,說白了就是解一個數學題,誰先解出來數學題,誰就能有打包區塊的權力。換在拜占庭將軍的例子中就是,誰先做出數學題,誰就成為將軍們裡面的總司令,其他將軍聽從他發號的命令。
首先,礦工會將區塊頭所佔用的128位元組的字元串進行兩次sha256求值,即:
這樣求得一個值Hash,將其與目標值相比對,如果符合條件,則視為工作量證明成功。
工作量證明成功的條件寫在了區塊鏈頭部的 難度數 欄位,它要求了最後進行兩次sha256運算的Hash值必須小於定下的目標值;如果不是的話,那就改變區塊頭的 隨機數 (nonce),通過一次次地重復計算檢驗,直到符合條件為止。
此外, 比特幣有自己的一套難度控制系統,使得比特幣系統要在全網不同的算力條件下,都保持10分鍾生成一個區塊的速率。這也就意味著:難度值必須根據全網算力的變化進行調整。難度調整的策略是由最新2016個區塊的花費時長與期望時長(期望時長為20160分鍾即兩周,是按每10分鍾一個區塊的產生速率計算出的總時長)比較得出的,根據實際時長與期望時長的比值,進行相應調整(或變難或變易)。也就是說,如果區塊產生的速率比10分鍾快則增加難度,比10分鍾慢則降低難度。
PoW其實在比特幣中是做了以下的三件事情。
這樣可以防止一台高性能機器同時跑上萬個節點,因為每完成一個工作都要有足夠的算力。
有經濟獎勵就會加速整個系統的去中心化,也鼓勵大家不要去作惡,要積極地按照協議本來的執行方式去執行。(所以說,無幣區塊鏈其實是不可行的,無幣區塊鏈一定導致中心化。)
也就是說,每個節點都不能以自身硬體條件去控制出快速度。現在的比特幣上平均10分鍾出一個塊,性能再好的機器也無法打破這個規則,這就能夠保證 區塊鏈是可以收斂到共同的主鏈上的 ,也就是我們所說的共識。
綜上,共識只是PoW三個作用中的一點,事實上PoW設計的作用有點至少有這么三種。
默克爾樹的概念其實很簡單,如圖所示
這樣,我們區塊的結構就大致完整了,這里分成了區塊頭和區塊體兩部分。
區塊鏈的每個節點,都保存著區塊鏈從創世到現在的每一區塊,即每一筆交易都被保存在節點上,現在已經有幾百個GB了。
每當比特幣系統中有一筆新的交易生成,就會將新交易廣播到所有的節點。每個節點都把新交易收集起來,並生成對應的默克爾根,拼接完區塊頭後,就開始調整區塊頭里的隨機數值,然後就開始算數學題
將算出的result和網路中的目標值進行比對,如果是結果是小於的話,就全網廣播答案。其他礦工收到了這個信息後,就會立馬放下手裡的運算,開始下一個區塊的計算。
舉個例子,當前A節點在挖38936個區塊,A挖礦節點一旦完成計算,立刻將這個區塊發給它的所有相鄰節點。這些節點在接收並驗證這個新區塊後,也會繼續傳播此區塊。當這個新區塊在網路中擴散時,每個節點都會將它作為第38936個區塊(前一個區塊為38935)加到自身節點的區塊鏈副本中。當挖礦節點收到並驗證了這個新區塊後,它們會放棄之前對構建這個相同高度區塊的計算,並立即開始計算區塊鏈中下一個區塊的工作。
整個流程就像下一張圖所展示的這樣:
簡單來說,雙花問題是一筆錢重復花了兩次。具體來講,雙花問題可分為兩種情況:
1.同一筆錢被多次使用;
2.一筆錢只被使用過一次,但是通過黑客攻擊或造假等方式,將這筆錢復制了一份,再次使用。
在我們生活的數字系統中,由於數據的可復制性,使得系統可能存在同一筆數字資產因不當操作被重復使用的情況,為了解決雙花問題,日常生活中是依賴於第三方的信任機構的。這類機構對數據進行中心化管理,並通過實時修改賬戶余額的方法來防止雙重支付的出現。而作為去中心化的點對點價值傳輸系統,比特幣通過UTXO、時間戳等技術的整合來解決雙花問題。
UTXO的英文全稱是 unspent transaction outputs ,意為 未使用的交易輸出 。UTXO是一種有別於傳統記賬方式的新的記賬模型。
銀行里傳統的記賬方式是基於賬戶的,主要是記錄某個用戶的賬戶余額。而UTXO的交易方式,是基於交易本身的,甚至沒有賬戶的概念。在UTXO的記賬機制里,除了貨幣發行外,所有的資金來源都必須來自於前面某一個或幾個交易。任何一筆的交易總量必須等於交易輸出總量。UTXO的記賬機制使得比特幣網路中的每一筆轉賬,都能夠追溯到它前面一筆交易。
比特幣的挖礦節點獲得新區塊的挖礦獎勵,比如 12.5 個比特幣,這時,它的錢包地址得到的就是一個 UTXO,即這個新區塊的幣基交易(也稱創幣交易)的輸出。幣基交易是一個特殊的交易,它沒有輸入,只有輸出。
當甲要把一筆比特幣轉給乙時,這個過程是把甲的錢包地址中之前的一個 UTXO,用私鑰進行簽名,發送到乙的地址。這個過程是一個新的交易,而乙得到的是一個新的 UTXO。
這就是為什麼有人說在這個世界上根本沒有比特幣,只有 UTXO,你的地址中的比特幣是指沒花掉的交易輸出。
以Alice向Bob進行轉賬的過程舉例的話:
UTXO 與我們熟悉的賬戶概念的差別很大。我們日常接觸最多的是賬戶,比如,我在銀行開設一個賬戶,賬戶里的余額就是我的錢。
但在比特幣網路中沒有賬戶的概念,你可以有多個錢包地址,每個錢包地址中都有著多個 UTXO,你的錢是所有這些地址中的 UTXO 加起來的總和。
中本聰發明比特幣的目標是創建一個點對點的電子現金,UTXO 的設計正可以看成是借鑒了現金的思路:我們可能在這個口袋裡裝點現金,在那個櫃子角落裡放點現金,在這種情況下不存在一個賬戶,你放在各處的現金加起來就是你所有的錢。
採用 UTXO 設計還有一個技術上的理由,這種特別的數據結構可以讓雙重花費更容易驗證。對比一下:
Ⅲ 如何進行比特幣交易 手把手教你用一台可以上網的電腦交易比特幣
1、首先,你需在一個比特幣交易網站進行注冊,如比特幣中國https://vip.btcchina.com/
2、通過手機或電腦都可以進行登錄,進行目前比特幣行情的查看,依據購買股票的方式,進行選擇性的購買。
3、特別在購買時大家一定要提前了解與比特幣相關的知識,做好充足的准備,要知道,上帝總會偏愛有所准備的人,最後送給大家一句話,股市有風險,入市需謹慎。
Ⅳ 在國內持有比特幣並進行交易違法嗎
寄語
每一天都是新的開始,在這個投資市場上,大多投資者開始的時候都是抱著賺錢的心態入市,可是虧損的原因日益加重,對賭的心態,不服輸的心態,慢慢滋生。開始為了賺錢做單,後來只為解單做單,丟掉初心,心態怎能平靜下來,這個 社會 一直在淘汰有學歷的人,但是不會淘汰有學習力的人!
持有比特幣並交易違法嗎?
持有或交易比特幣並不違法
在法律層面比特幣在國內其實早有定論,2013年12月關於防範比特幣的風險的通知中明確表示比特幣是一種特定的虛擬商品。比特幣被當做商品,既然是商品無論是否有形在法律上我們都把它稱為物品,既然是物品那買賣和持有虛擬商品都不違法,但是其中的交易風險需要自己承擔, 不禁止但是盈虧自付 。
但是如果使用比特幣來洗錢或者從事違法犯罪活動那是一定要打擊的,包括現在一些不法分子用USDT來跑分藉助虛擬貨幣進行傳銷活動等,這些都是重點打擊的對象。
比特幣的特性決定了它難以監管
去中心化的特性讓它難以監管,區塊鏈的特性就是如此我們可以知道發生了一筆交易卻不知道誰做了這筆交易,我們常說存在即合理。
比特幣的真實價值
以委內瑞拉為例,委內瑞拉是一個石油國家通過向歐洲亞洲出售石油獲得了巨額財富,靠著石油紅利大行 社會 福利,但是這同樣也埋下了弊端。經濟結構過於單一,在石油普遍低迷的情況下經濟出現了崩盤,他們的法幣玻璃瓦爾出現了 超級通脹。
看看他們的法幣能夠買到的物品
當共識崩塌,即使有國家背書法幣同樣不堪一擊。 面對日益縮水的錢包,如果是你,你會怎麼做? 要知道委內瑞拉的政府早就關閉了兌換美金的窗口,也就是說你錢包里的錢今天可以買輛自行車明天就只能買一包紙, 你如果什麼都不做,你的財富將會被掠奪是選擇躺平還是抗爭?
當你了解比特幣,知道如何獲取比特幣後你就有了對抗通脹的武器。實際上很多人,都通過比特幣保住了財富,那如果是你你會怎麼做呢?
再看看現在的伊朗,伊朗國內的礦工挖比特幣已經把電力系統弄得不穩了, 國家被迫出來叫停挖礦。
為什麼伊朗這么多人挖比特幣?
其實伊朗的法幣同樣出現貶值嚴重的情況,而且伊朗常年受到制裁可以說比特幣在伊朗絕對是硬通貨。實際上比特幣比很多小國的法幣更具有公信力。
總結
我們必須認識到比特幣是一種波動十分劇烈的資產,就在上周比特幣迎來了最大超過百分之五十的回撤。5月21號國家金融改革委員會會議中強調打擊比特幣與交易的條例。其實很多小白,並沒什麼控制風險的思維,他們是一股不可控的力量。 歷史 無數次證明,去中心化的東西是很難徹底封殺的,這就是去中心化的核心競爭力。
看完這篇文章,你對比特幣的看法有什麼改觀嗎?不跟風不盲從。
我們最值得自豪的不在於從不跌倒,而在於每次跌倒之後都爬起來。讓跟隨者與信任者獲利,將是兌現承諾最好的方法,但在這個過程中,悅姐現在肯定也會面對不同行情的挑戰。如果你抱著搏一搏的心態,那麼失敗是必然,穩中求勝一直是悅姐強調的,而如果你想穩中求勝,那就和悅姐好好聊聊!
Ⅳ 從發出交易到礦工打包需要幾步
當你發起一筆轉賬後,比特幣通過怎樣的流程才到達收款方呢?
當你發起一筆比特幣轉賬後,你需要將交易廣播至全網,挖礦節點接到這筆交易後,先將其放入本地內存池進行一些基本驗證,比如該筆交易花費的比特幣是否是未被花費的交易。
如果驗證成功,則將其放入「未確認交易池」(Unconfirm Transaction),等待被打包;如果驗證失敗,則該交易會被標記為「無效交易」(Invalid Transaction),不會被打包。也就是說,挖礦節點在比拼算力的同時還需要及時驗證每筆交易,更新自己的「未確認交易池」。節點搶到記賬權後,將從「未確認交易池」中抽取約近千筆「未確認交易」進行打包。
有時候我們的交易不能被及時打包,是因為「未確認交易池」中的交易筆數太多,而每個區塊能記錄的交易筆數有限,這時候就會造成區塊擁堵。
Ⅵ 比特幣是怎麼交易的
比特幣交易就是從一個比特幣錢包向另一個中轉賬,每筆交易都有數字簽名來保證安全。一個交易一旦發生那麼就是對所有人都公開的,每個交易的歷史可以最終追溯到相應的比特幣最初被挖出來的那個點
Ⅶ 我的比特幣怎麼轉賬到別人的賬戶上
很多人只知道比特幣可以用來投資,卻不知道比特幣可以像銀行卡一樣轉賬。
生活中我們都有自己的銀行賬戶,轉賬是在銀行賬戶之間進行的。同樣,比特幣轉賬就是把比特幣從一個比特幣地址轉移到另一個比特幣地址上的過程。
如果你想要轉賬比特幣給別人,你需要在比特幣交易平台、比特幣錢包或者比特幣客戶端中,輸入你的比特幣地址、接收方地址、轉賬金額和手續費金額。
確定支付後交易信息會在比特幣網路進行全網廣播。礦工每隔10分鍾會將比特幣網路中未被記賬的交易打包進一個區塊,這就完成了一次確認,此時比特幣已轉到對方賬戶。
通常需要經過6次確認,確保交易記錄不能被任何人竄改,轉賬才算真正完成。
1、輸入自己的比特幣地址,接收方地址。
2、輸入轉賬金額和手續費金額。
3、確定支付後交易信息全網傳播。
4、礦工會將比特幣中未被記賬的交易打包進入區塊。
5、完成確認後比特幣就已轉到對方賬戶。
6、為確保交易記錄不被人篡改,需要經6次確認,轉賬真正完成。
比如一個叫小五的人在山上挖礦,今天手氣不錯挖到了一塊值10000元的稀有金屬,為了感謝小三和小四借他工具所以想分別轉賬給小三和小四100和400塊表示感謝,小四為了感謝小三告訴小五想借他工具這件事(只是借了下工具得到400元),為表示感謝小四給小三轉賬150表示感謝,下面我們看看基於賬戶是怎麼處理的,比特幣是怎麼處理的。
比特幣轉賬手續費是交易者付給礦工的一筆費用,用於激勵礦工競爭記賬為比特幣提供足夠的算力從而確保比特幣網路的安全,有的地方也叫做礦工費。用戶在比特幣網路發起一筆轉賬時,一般需要支付給記賬礦工一定的轉賬手續費。轉賬手續費一般為0.0001-0.0015個比特幣,由於區塊能容納交易記錄的容量有限,礦工會優先打包手續費高的交易,所以多付手續費可以更快被記賬。比特幣交易手續費的存在能提高轉賬門檻,有效防止區塊鏈中充斥垃圾信息,並且能夠保證在比特幣被挖完之後礦工仍有動力維護比特幣網路。
理論上講,打包完這個交易記錄的區塊後,再產生6個區塊後,原則上講這條交易記錄就完全確認了。這個轉賬就完全確認了。
總結:在比特幣網路中,由於沒有了中心,為了實現安全、有效的記賬,採取了多種新的技術。為了防止網路上廣播秘鑰而採用的私鑰、公鑰、地址的加密形式;為了減少檢索整個賬單而採用的UTOX集,讓比特幣在像在水管中一樣在比特幣網路中來迴流淌;為了公平記賬,採用挖礦的機制來讓每個礦工根據算力付出來競爭;為了平衡10分鍾出一個區塊,可以根據全網算力動態調整挖礦的難度。而這一切技術都是圍繞著記賬展開,比特幣區塊鏈的區塊主體數據也都是這樣一條條交易數據,沒有比特幣本身,有的只是基於若干聰的UTOX;沒有賬戶本身,有的只是一串數字的三種形式(私鑰、公鑰、地址)。
Ⅷ 比特幣之問(一)一筆交易如何被寫進區塊
由於人為設置的海量運算,限制了用於存儲比特幣交易信息的區塊鏈生成新的區塊的速度。這個速度我所知道的是大約10分鍾產生一個。
你通過某些方式製作了一串包含著完整交易信息的數字流,將其上傳到網路中。這個網路可以理解為比特幣節點網,也可以指某個可以驗證交易的節點。本文中所有使用的「網路」一詞,都如此解釋。
某幾個節點驗證了你的交易合法,然後廣播到整個比特幣節點網中,這種廣播是不斷驗證再次廣播的過程。直到這筆交易 A 被網路中大多數節點接收。
需要明白的是,這一過程只是驗證,而非記錄(確認)。
我們所說的挖礦,是尋找一個符合要求的數字,這個數字就像 id 一樣代表了一個區塊。
一筆交易在網路中得到確認後,會保存在挖礦節點中,形成交易池,礦工需要從交易池中挑選一些優先順序高的交易形成一個備選區塊後,依據這個區塊進行挖礦。之所以說是備用區塊,因為這個區塊里存儲的交易信息但是沒有id,沒有 id 就無法識別同時無法認可。
在 04 整合交易&構建新區塊 中認為「驗證交易後,每個比特幣網路節點會將這些交易添加到自己的內存池中」,我認為驗證交易的節點可能是非挖礦節點,此節點不具有內存池的功能。
首先,交易費是不固定的。要理解為什麼是不固定的,需要明白一下幾個問題:
網路上積淀著一批需要確認的交易,這批交易存在於所有礦工的手裡,記錄工作由所有礦工根據自己認可的優先順序來進行,但是確認工作職能由其中的一個完成。這個礦工就是成功把記錄交易的區塊添加到主鏈上的礦工。 這個礦工:完成了記錄工作,找到一個新的區塊,將這個區塊成功添加到網路中。
時間以及交易量等多個因素決定交易的優先順序,交易費就是其中一項。
根據以上描述,總結:
礦工完成交易的確認。
你發起一筆交易,可以指定交易費也可以不指定,交易費的數量直接關繫到交易確認的時間。如果沒有礦工願意記錄你的這比交易,理論上說你的交易就無法寫入區塊鏈,這就意味著無法得到確認。這筆交易就永遠無法完成。
假設你的交易最終會寫入區塊鏈得到有效確認。
不管你的交易在其他礦工手裡如何,首先你的交易達到了確認交易的礦工的要求,被添加進備選區塊中,而不是躺在交易池裡。
這個包含了你的交易信息的新區塊被成功添加進主鏈,主鏈得到有效延伸。此時你的交易記錄得到有效確認。
Ⅸ 幣圈小知識:比特幣轉賬交易是如何進行的
隨著各種虛擬貨幣走進人們的視野,越來越多的人想要進入虛擬貨幣的交易市場。但隨之而來的問題是:我們要如何才能買到虛擬貨幣,從而擁有個人的數字資產呢?虛擬貨幣交易背後的原理是什麼呢?
我以比特幣為例子,進行簡單講解。
首先我們需要安裝虛擬貨幣交易平台。平台有很多,可供讀者們選擇,比如國內三大平台:幣安,huobi和okex。這時,我們已經有購買比特幣的平台了。安裝了比特幣客戶端的電腦被稱為節點,互聯網上的所有節點構成比特幣網路。每當有新的比特幣在某個節點上生成,交易,這個節點都會向附近的比特幣節點廣播,最終整個網路節點都會記錄交易信息。
在比特幣網路中, 每個安裝了客戶端的節點都擁有一個分布式資料庫來管理比特幣生產、交易、查詢賬戶余額記錄,同時也更新和記錄著比特幣系統變化的最新記錄。
當你想向朋友發送10個比特幣時。你需要兩樣東西,一個是比特幣地址,另一個是相應的私鑰。比特幣地址跟銀行賬號不一樣,你不需要簽署一堆文件去申請,它們是隨機生成的,就是一串由字母和數字組成的字元串,看起來非常混亂。私鑰也是類似的一個字元串,但是這個是要嚴格保密的。比特幣地址就好像一個透明的存錢罐,每個人都可以看到裡面有什麼,但是只有擁有私鑰的人才能打開它.
當你發送交易申請後,周邊的節點會檢查你的賬戶是否擁有 10 枚比特幣,如果有,則同意這次交易,並且把這條信息廣播到附近的節點,一傳十,十傳百,很快整個網路都會確認這筆交易信息,然後寫入到區塊中。你的朋友將會收到 10 枚比特幣,交易就算完成了.
Ⅹ 區塊鏈入門(比特幣為例)
區塊鏈主要解決的交易的信任和安全問題,通過每個獨立的節點的去中心化實現不可篡改(依賴分布式節點的共識機制),通過非對稱交易演算法實現僅公開交易信息,對交易人信息保密。
輔助理解:某種程度的逆運算
挖礦就是獲取新的交易信息的記賬權的過程。
比特幣記賬(記錄交易信息,也就是挖礦)的過程,也是比特幣發行的過程,會獎勵第一個完成挖礦計算的節點一定數量的比特幣。
挖礦的規則:
注意事項:
一條成功計算成功的信息摘要:首位18位連續為0的哈希值
涉及3個演算法:
賬號和秘鑰是不可逆推算的,秘鑰是可以推算出賬號的,但是賬號是無法推算秘鑰的,這樣張三亮出私鑰,就可以證明是張三賬號的持有者,但是別人知道張三賬號,卻無法推算出張三的私鑰。
在驗證階段,通過夾雜私鑰生成的簽名摘要+賬號信息,必須要可以驗證是否能匹配成功,這就需要加密演算法的設計,這三個演算法必須有設計上面的關聯性
用戶張三給李四的賬號發起一筆轉賬為例。
用戶張三,在系統中申請一個用戶賬號,創建的同時會收到一個私鑰(通過私鑰證明自己是張三)。
假設張三現在已經有10比特幣,要轉賬給李四。
那麼張三利用通過自己賬號來發起一筆交易
發起人:賬號張三
接收人:賬號李四
轉賬金額:10比特幣
這筆交易要廣播出來,就有幾個問題
為了方便節點之間更快的完成交易信息的核對,可以對交易信息進行哈希運算,這樣李四和王二比對交易信息的時候,比如比對這個交易信息的時候,只需要比對哈希值就可以知道是不是同一筆交易,交易信息是否完全一樣,而不需要比對 發起人賬號、收款人賬號、轉賬金額等這些信息
哈希運算:Hash(交易信息(出賬人賬號,緊張人賬號李四,轉賬金額10比特幣)) 獲得交易摘要
簽名信息不可偽造是因為簽名的參數涉及到私鑰
簽名的哈希運算:sign(交易摘要信息,私鑰) -->簽名摘要
開始廣播,現在有一個交易信息:信息為***,信息簽名為:簽名摘要,大家可以開始驗證,驗證成功請記賬。
驗證的過程:verify(簽名信息,出賬人賬號),現實生活場景中的簽名字跡和簽名人的姓名,是否對的上。
最後王二、麻子等等村民都收到了這個廣播,但是王二速度最快完成了記賬,馬上通過村裡的廣播廣而告之,我對這筆交易率先記賬成功了
(因為大家的賬本都只記錄交易信息,不記錄余額的,假設張三頻繁的發送轉賬,要統計幾年的交易記錄後的余額,也是要考驗村民的計算能力的(為了方便理解,你可以這么認為,實際上是挖礦的過程)),
你們村民你們就不要再算了,因為我是第一個完成校驗計算的,張三的余額是夠的,李四的賬號也是存在的,我宣布該筆交易有效,同時我有權利獲得了相應的獎勵,大家一起開始記錄,我的賬戶獲得獎勵1個比特幣,同時你們復制我的結果,當然還有我的計算過程編號。
整個交易才算完成。
只要大家都記賬了這個操作就可以了,因為是虛擬貨幣,類似於銀行轉賬,而不是紙幣交易,只需要在銀行的系統中張三賬號的余額-10,李四的賬號+10即可,只不過這里的銀行賬本是比特幣所有節點的賬本都做修改。
另外,從安全形度來說,還保護了張三和李四的真實信息的隱私,因為大家看到的只是張三的賬號、李四的賬號,這只是兩個神奇的數字,並不知道發起人是張三,收款人是李四。但是可以確認,這個交易是持有張三賬號的人發起的,而不是其它人偽造的,至於張三到底是誰,住在哪裡,哪個國家的,就不得而知了。