比特幣區塊打包
⑴ 比特幣一個UTXO交易為什麼要經過6個區塊確認才被認為更改不可逆(或者說幾乎不可逆)
你說的是對的,的確會回滾, 如果的交易不幸被打包到分叉上面了,這個交易很有可能會在主鏈被同步後被取消掉。
至於為什麼要6個確認是因為加大蒙出最優解難度(防止單節點造假)。 一個塊可能還能蒙出一個最優解,6個塊一起蒙出基本上不可能。 跟分叉關系不大
⑵ 終於弄明白了比特幣和區塊鏈的關系,現在還能靠挖礦得到比特幣嗎
能啊,現在買台礦機就能挖比特幣。
但我要強調的是,現在的比特幣挖礦,已經是一個很專業的行業了,一般人雖然能挖,但成本相較於專業化挖礦來說,高太多了,不如直接買幣。
⑶ 比特幣區塊鏈是1個比特幣就有一個區塊鏈嗎每個節點都有完整的區塊鏈數據嗎
比特幣區塊鏈是1個比特幣就有一個區塊鏈嗎? 不是,區塊保存交易的,前期你成功建立一個區塊會得到一個幣,後期只能得到交易所付出的費用。一枚貨幣是一串數字簽名,是上一個擁有的人發給接受者的數字簽名,所有人都可以從交易中看出誰擁有這枚貨幣。
每個節點都有完整的區塊鏈數據嗎? 你說的節點指的是一個用戶節點? 一個用戶節點需要保留最長的工作量證明鏈條的區塊頭的拷貝,所以是知道所有區塊頭的數據的可以向前推進知道所有區塊鏈上的數據,但是沒有全部保存下來。一個區塊頭是很小隻有80位元組,是完全能夠保存下來的,因為節點的生成是很慢的。就算隨著時間遷移現在來看量也不是太大的。
⑷ 比特幣怎麼挖
比特幣節點互相連接時,會從對方處獲取自己沒有的交易。但由於比特幣長期積累天量的交易,兩個節點逐條對照你缺了哪些交易/我缺了哪些交易,是非常困難的事情。
為解決這一難題,中本聰發明了區塊鏈(Block chain)這一重要技術。節點藉助區塊(block)來同步交易,保證了所有節點數據的統一性,並通過競爭區塊打包權(也就是挖礦)的方式,保證了區塊鏈的唯一性。
① 區塊和區塊鏈
一段時間內的交易打成的一個包稱為區塊,比特幣全網平均每10分鍾產生一個區塊,每一個區塊都鏈接到上一個區塊,依次相連形成區塊鏈。
② 以區塊為單位同步交易數據
區塊從1開始編號,因此節點A連接節點B後,只要檢查雙方的區塊編號高度,就能方便地同步交易數據。例如節點A自己的區塊高度是100,發現節點B的區塊高度是110,則只要向B請求同步101~110這10個區塊即可。
③ 打包區塊的獎勵
為保證有節點打包比特幣交易,比特幣規則規定:打包交易的節點將獲得比特幣作為酬勞。
A、打包獎勵的一部分來自交易創建者支付的交易手續費(每KB交易大小100~1000聰手續費)。
B、另一部分來自初始2100萬個比特幣的分發,最開始獎勵是每個區塊50比特幣,之後每經過21萬個區塊(約4年時間)獎勵將減半一次,直到2140年左右區塊獎勵不足1聰為止,此時區塊獎勵總和為2100萬比特幣,這就是比特幣2100萬總量的來源(准確地說是 20999999.97690000個)。
2140年後打包獎勵將只來自於交易創建者支付的交易手續費。
④ 對區塊打包權的競爭
節點打包交易只需要消耗很低成本的網路和計算資源,打包獎勵的存在(目前每個區塊的打包獎勵25比特幣約為4萬元),使得有大量節點想打包交易。為保證區塊鏈的唯一性,比特幣規則規定:節點使用類似「扔硬幣」的方法爭奪交易打包權。節點不斷地扔硬幣,誰首先扔出符合規則的結果,誰就能獲得這個區塊的交易打包權,以及這個區塊的打包獎勵。
⑸ 比特幣 新區塊必須在舊區塊滿之後才能產生么
今天(1月3日)是比特幣的「生日」;正是在九年前的2009年1月3日,比特幣區塊鏈網路中誕生出了「創世區塊」 (genesis block),也就是開天闢地的block #0,「0號區塊」。
⑹ 比特幣是如何完成升級和迭代的
如今這個互聯網時代,很多軟體採取的都是先開發一個簡化版,然後經過不停的迭代,數據多了就增加存儲器,性能不夠了就升級伺服器。總之就是一切跟著需求來,總能解決各種各樣的問題。然而,你可曾想過,當這些問題進入到區塊鏈的場景,可能就沒那麼容易了。
閃電網路實際通過微支付的通道,將交易剝離出比特幣區塊鏈來進行,而且剝離主鏈的交易次數是無限的,這從根本上解決了大量交易都放在比特幣主鏈上進行,從而大大提高了交易的效率。
多鏈: 區塊鏈應用的擴展交互
現在我們看到的很多區塊鏈基礎技術構架都是單鏈的形態。但在現實社會各個產業價值網路中,多鏈結構的技術才更符合復雜價值邏輯的實際應用,各行各業或者說各個領域都用可能針對不同的業務來構造一條鏈,這些平行的鏈之間就會存在數據交互的需求,即便實在同一個業務場景下,也有可能構建一組共同配合工作的鏈來完成復雜的業務邏輯。此時就會需要通過一個專門的介面來實現互聯,大家共同遵循同一個規則,各種不同的鏈只要針對介面規范來進行開發,就可以進行互聯,從而為自身的發展實現了更多可能。
⑺ 比特幣網路中什麼是「Blocks (區塊)」
每個區塊包含所有最近交易的信息,一個 Nonce (隨機數) 以及上一個區塊的哈希值。 在整個區塊的 SHA-256 哈希值低於當前目標值時,它便被標記為「已解決」 (已發布並通過多個節點驗證)。通常一次哈希很難達到目標,因此 Nonce 必須增加,區塊必須重新哈希上百萬次,才能達到目標。 Bitcoin 比特幣交易通過匯款人廣播到網路中,所有采礦的節點 (客戶端) 收集比特幣並將其添加到他們正在工作的區塊。如果交易額很大,超過了平均交易額,那麼網路將會扣除少量的交易手續費。 每個區塊中的第一個交易是特殊的: 它為第一個採到有效區塊的人創建新的比特幣。其它節點 (客戶端) 在該交易額正確的情況下僅會接受該區塊。每個區塊產生的比特幣的數量為 50,每 210000 個區塊減少一半 (大約為 4 年)。 網路嘗試每小時創建 6 個區塊。每 2016 個區塊 (大約兩周時間),所有的比特幣客戶端都會將這個目標與實際創建的區塊數量相比較,修改區塊採集的難度百分比以維持這一目標。 客戶端認為「最長的」區塊鏈是有效的。整個區塊鏈的「長度」是指難度相加最多的鏈,而不是擁有最多區塊的鏈。這可以避免某人偽造並創建大量低難度的區塊,欺騙網路將其接受為「最長」鏈。 點擊這里查看當前已採集區塊數目 沒有最大數目。區塊會不斷以 10 分鍾一個的速度添加到區塊鏈的末尾 是的。區塊用以證明交易在某個特定的時間存在。在所有比特幣都被採集後,交易仍然會發生。因此只要有人交易比特幣,區塊仍然會被創建。 沒有人可以准確說出。有一個采礦計算器會告訴您可能花去的時間。 沒有進度增加 1% 的說法。每次運算並不會增加進度。計算 24 小時後您獲得比特幣的幾率和您剛開始計算時是相等的。 這和您同時旋轉 37 個硬幣並使它們都正面朝上一樣。每次您嘗試,您成功的機會是相同的。
⑻ 比特幣錢包
比特幣(bitcoin)誕生於2008年的一篇論文。
一個署名為中本聰的人,提出了革命性的構想:讓我們創造一種不受政府或其他任何人控制的貨幣!這個想法堪稱瘋狂:一串數字,背後沒有任何資產支持,也沒有任何人負責,你把它當作錢付給對方,怎麼會有人願意接受?
Merkle tree
跟二叉樹長得很像,只是這個是下面兩個節點取哈希值得到上面節點。只需要記住根節點,就可以檢測整棵樹有沒有被篡改。
根哈希值存在block header里,交易過程存在block body里。全節點包括block header和block body,但是輕節點(比如手機上比特幣錢包)只包括block header。這棵樹可以證明包含某個交易已經被寫進了區塊鏈。
3.共識協議
去中心化的貨幣要注意的兩個問題:
1.誰能發行數字貨幣:挖礦。
2.怎麼驗證交易的合法性:區塊鏈。
雙花攻擊(double spending attack)
雙花攻擊是數字貨幣的一個主要挑戰。
比特幣中的交易都要有輸入和輸出,幣從哪來,花到哪去。
正常情況也可能有兩個分叉,因為兩個節點同時獲得記賬權,兩個節點打包的區塊,同時計算出了那個隨機數。此時會暫時兩個分叉共存,直到其中某一個區塊搶先找到了下一個區塊,這條就成了最長合法鏈,另一個分叉就被丟棄。
女巫攻擊(sybil attack)
某惡意節點不停產生賬戶,賬戶總數超過總賬戶的一半,則取得了區塊鏈的控制權。
比特幣中的共識協議(Consensus)
一些節點是有惡意的,大部分節點是好的。
想法1:把一些交易打包到區塊里作為候選區塊,讓每個區塊投票,如果通過就寫入區塊鏈。
不行,因為有的惡意節點一直發布一些含有惡意交易的區塊,則一直投票,佔用資源。而且有的節點不投票。
想法2:不按賬戶個數投票,而是按照計算力投票。每個節點都可以產生合法交易放入區塊,這些節點就開始試隨機數,直到找到H(block header)≤ target,則這個節點有記賬權。
唯一產生比特幣的途徑
coinbase transaction。這個不用指出幣的來源,有了記賬權的節點(找到了隨機數)會有出塊獎勵。
50BTC->25BTC->12.5BTC,每21萬個比特幣,獎勵就減半。
比特幣爭奪記賬權的過程叫挖礦。爭奪記賬權的節點叫礦工。
⑼ 比特幣挖礦軟體使得C盤硬碟空間不夠,怎麼設置,把文件都移到到其他盤上
可以轉移到其他盤的,甚至可以轉移到移動硬碟,隨身攜帶。
隨著比特幣區塊鏈數據容量越來越大,而客戶端錢包數據默認安裝在C盤,如果C盤不足夠大的話,就需要想辦法將數據從C盤遷到其他盤。
舉例如下:( 注意:需先關閉客戶端)
1、找到bitcoin的數據文件夾:
XP---C:\Documents and Settings\username\Application Data\Bitcoin
vista,win7---C:\Users\username\AppData\Roaming\Bitcoin
2、把這個Bitcoin文件夾,復制到你空間比較大的其他盤,比如d盤(為避免操作失誤,建議先復制,運行正常後刪除C盤,以節省C盤空間);
3、編輯桌面上的Bitcoin快捷方式(如果桌面上沒有快捷方式,有兩種方法:一種是找到安裝文件夾,找到「bitcoin-qt.exe」點右鍵,選創建快捷方式,可將快捷方式剪切到桌面或任意位置;第二種方法,如是綠色免安裝版本,那就找到本安裝文件夾,找到「bitcoin-qt.exe」點右鍵,選創建快捷方式,可將快捷方式剪切到桌面或任意位置。):在快捷方式上點右鍵,選「屬性」,在「目標」欄中輸入如下,確認即可:
"C:\Program Files\Bitcoin\bitcoin-qt.exe" -datadir=D:\Bitcoin
(紅色即為加上部分,更改的目標位置)
現在,雙擊桌面上的Bitcoin快捷方式,客戶端就啟動了,以後所有的數據更新都存在D盤了,C盤空間也就不再佔用。這種方法也可以避免重裝系統而刪掉C盤造成數據重新下載,也可保護錢包文件。