一筆交易就是一個地址的比特幣,轉移到另一個地址。由于比特幣的交易記錄全部都是公開的,哪個地址擁有多少比特幣,都是可以查到的。因此,支付方是否擁有足夠的比特幣,完成這筆交易,這是可以輕易驗證的。
問題出在怎麼防止其他人,冒用你的名義申報交易。舉例來說,有人申報了一筆交易:地址 A 向地址 B 支付10個比特幣。我怎麼知道這個申報是真的,申報人就是地址 A 的主人?
比特幣協議規定,申報交易的時候,除了交易金額,轉出比特幣的一方還必須提供以下數據。
上一筆交易的 Hash(你從哪里得到這些比特幣)
本次交易雙方的地址
支付方的公鑰
支付方的私鑰生成的數字簽名
驗證這筆交易是否屬實,需要三步。
第一步,找到上一筆交易,確認支付方的比特幣來源。
第二步,算出支付方公鑰的指紋,確認與支付方的地址一致,從而保證公鑰屬實。
第三步,使用公鑰去解開數字簽名,保證私鑰屬實。
經過上面三步,就可以認定這筆交易是真實的。
確認交易的真實性以后,交易還不算完成。交易數據必須寫入數據庫,才算成立,對方才能真正收到錢。
比特幣使用的是一種特殊的數據庫,叫做區塊鏈(blockchain)。
首先,所有的交易數據都會傳送到礦工那里。礦工負責把這些交易寫入區塊鏈。
根據比特幣協議,一個區塊的大小最大是 1MB,而一筆交易大概是500字節左右,因此一個區塊最多可以包含2000多筆交易。礦工負責把這2000多筆交易打包在一起,組成一個區塊,然后計算這個區塊的哈希。
計算哈希的過程叫做采礦,這需要大量的計算。礦工之間也在競爭,誰先算出哈希,誰就能第一個添加新區塊進入區塊鏈,從而享受這個區塊的全部收益,而其他礦工將一無所獲。
一筆交易一旦寫入了區塊鏈,就無法反悔了。這里需要建立一個觀念:比特幣不存放在錢包或其他別的地方,而是只存在于區塊鏈上面。區塊鏈記載了你參與的每一筆交易,你得到過多少比特幣,你又支付了多少比特幣,因此可以算出來你擁有多少資產。
交易的確認離不開礦工。為什麼有人愿意做礦工呢?
比特幣協議規定,挖到新區塊的礦工將獲得獎勵,一開始(2008年)是50個比特幣,然后每4年減半,目前(2018年)是12.5個比特幣。這也是比特幣的供給增加機制,流通中新增的比特幣都是這樣誕生的。
你可能看出來了,每4年獎勵減半,由于比特幣可以分割到小數點后八位,那麼到了2140年,礦工將得不到任何獎勵,比特幣的數量也將停止增加。這時,礦工的收益就完全依靠交易手續費了。
所謂交易手續費,就是礦工可以從每筆交易抽成,具體的金額由支付方自愿決定。你完全可以一毛不拔,一分錢也不給礦工,但是那樣的話,你的交易就會沒人處理,遲遲無法寫入區塊鏈,得到確認。礦工們總是優先處理手續費最高的交易。
目前由于交易數量猛增,手續費已經水漲船高,一個區塊2000多筆交易的手續費總額可以達到3~10個比特幣。如果你的手續費給低了,很可能過了一個星期,交易還沒確認。
一個區塊的獎勵金12.5個比特幣,再加上手續費,收益是相當可觀的。按照目前的價格,可以達到100萬~200萬人民幣。想想看,運氣好的話,幾分鐘就能挖到一個區塊,拿到這樣一大筆錢,怪不得人們對挖礦趨之若鶩。
發文者:鏈站長,轉載請註明出處:https://www.jmb-bio.com/4268.html