如何防止double spending

2022-08-24 01:51:10 字數 568 閱讀 4470

一、 位元幣的**

位元幣一共有兩種**,一是作為挖礦者得到的coinbase鑄幣交易;

二是別人轉賬給你;

二、 位元幣的交易

首先需要明確的是,位元幣雖然說是分布式賬本系統,但是系統中並沒有維護賬戶資訊,也就是說,我們是無法直接查到現在我的賬戶有多少錢的。

但是,我們可以通過計算得到,類似於加減法,從最開始得到幣的交易開始進行加減法得到現在幣的剩餘量。

那這裡幣的**怎麼得到呢?

這裡仍然是hash指標。

區塊鏈系統中其實是有兩種hash指標,乙個是區塊和區塊之間的;

另一種這裡提到的用於溯源的hash指標。這個指標該順著區塊鏈向上溯源,得到所有收錢和花錢的交易,最終判斷是否有足夠的餘額支付這筆交易。

從以上討論看出,這個溯源的過程是非常消耗算力的。

三、 utxo

區塊鏈作為transaction-based ledger,並沒有賬戶的概念。

因此為了解決上述溯源的問題,位元幣系統在全節點裡維護了乙個utxo的系統,unspent transaction output,沒有被花掉的交易輸出。這樣溯源的計算量將會大大下降。

如何防止重新整理?

如何防止重新整理?與上屆相比,最大的區別就是,人數倍增,我到達的時候,主會場已經爆滿,根本擠不進去。另乙個差別,對我來講,就是參加了專訪,採訪物件分別是 thoughtworks的首席科學家martin fowler和創始人roy singham。採訪者是我的同事,我作為旁聽記者加入了採訪行列,仍感...

如何防止死鎖

作業系統中有若干程序併發執行,它們不斷申請 使用 釋放系統資源,雖然系統的進 程協調 通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能 繼續執行,否則就阻塞的情況。此時,若不借助外界因素,誰也不能釋放資源,誰也不能解 除阻塞狀態。根據這樣的情況,作業系統中的死鎖被定義為系統中...

mysql 防止注入 mysql如何防止sql注入

mysql防止sql注入的方法 1 普通使用者與系統管理員使用者的許可權要嚴格地區分開 2 強迫使用者使用引數化語句 3 盡量使用sql server資料庫自帶的安全引數 4 對使用者輸入的內容進行驗證。sql injection攻擊具有很大的危害,攻擊者可以利用它讀取 修改或者刪除資料庫內的資料,...