當前位置:首頁 » 區塊鏈知識 » fdb區塊鏈

fdb區塊鏈

發布時間: 2021-10-23 13:16:24

1. 比特幣如何防止篡改

比特幣網路主要會通過以下兩種技術保證用戶簽發的交易和歷史上發生的交易不會被攻擊者篡改:

  • 非對稱加密可以保證攻擊者無法偽造賬戶所有者的簽名;

  • 共識演算法可以保證網路中的歷史交易不會被攻擊者替換;

  • 非對稱加密


  • 非對稱加密演算法3是目前廣泛應用的加密技術,TLS 證書和電子簽名等場景都使用了非對稱的加密演算法保證安全。非對稱加密演算法同時包含一個公鑰(Public Key)和一個私鑰(Secret Key),使用私鑰加密的數據只能用公鑰解密,而使用公鑰解密的數據也只能用私鑰解密。

  • 圖 4 - 51% 攻擊


  • 1使用如下所示的代碼可以計算在無限長的時間中,攻擊者持有 51% 算力時,改寫歷史 0 ~ 9 個區塊的概率9:

  • #include

  • #include


  • double attackerSuccessProbability(double q, int z) {

  • double p = 1.0 - q;

  • double lambda = z * (q / p);

  • double sum = 1.0;

  • int i, k;

  • for (k = 0; k <= z; k++) {

  • double poisson = exp(-lambda);

  • for (i = 1; i <= k; i++)

  • poisson *= lambda / i;

  • sum -= poisson * (1 - pow(q / p, z - k));

  • }

  • return sum;

  • }


  • int main() {

  • for (int i = 0; i < 10; i++) {

  • printf("z=%d, p=%f\n", i, attackerSuccessProbability(0.51, i));

  • }

  • return 0;

  • }


  • 通過上述的計算我們會發現,在無限長的時間中,佔有全網算力的節點能夠發起 51% 攻擊修改歷史的概率是 100%;但是在有限長的時間中,因為比特幣中的算力是相對動態的,比特幣網路的節點也在避免出現單節點佔有 51% 以上算力的情況,所以想要篡改比特幣的歷史還是比較困難的,不過在一些小眾的、算力沒有保證的一些區塊鏈網路中,51% 攻擊還是極其常見的10。


  • 防範 51% 攻擊方法也很簡單,在多數的區塊鏈網路中,剛剛加入區塊鏈網路中的交易都是未確認的,只要這些區塊後面追加了數量足夠的區塊,區塊中的交易才會被確認。比特幣中的交易確認數就是 6 個,而比特幣平均 10 分鍾生成一個塊,所以一次交易的確認時間大概為 60 分鍾,這也是為了保證安全性不得不做出的犧牲。不過,這種增加確認數的做法也不能保證 100% 的安全,我們也只能在不影響用戶體驗的情況下,盡可能增加攻擊者的成本。

  • 總結


  • 研究比特幣這樣的區塊鏈技術還是非常有趣的,作為一個分布式的資料庫,它也會遇到分布式系統經常會遇到的問題,例如節點不可靠等問題;同時作為一個金融系統和賬本,它也會面對更加復雜的交易確認和驗證場景。比特幣網路的設計非常有趣,它是技術和金融兩個交叉領域結合後的產物,非常值得我們花時間研究背後的原理。


  • 比特幣並不能 100% 防止交易和數據的篡改,文中提到的兩種技術都只能從一定概率上保證安全,而降低攻擊者成功的可能性也是安全領域需要面對的永恆問題。我們可以換一個更嚴謹的方式闡述今天的問題 — 比特幣使用了哪些技術來增加攻擊者的成本、降低交易被篡改的概率:

  • 比特幣使用了非對稱加密演算法,保證攻擊者在有限時間內無法偽造賬戶所有者的簽名;

  • 比特幣使用了工作量證明的共識演算法並引入了記賬的激勵,保證網路中的歷史交易不會被攻擊者快速替換;


  • 通過上述的兩種方式,比特幣才能保證歷史的交易不會被篡改和所有賬戶中資金的安全。

2. Tbtcoin如何設置節點呢

租憑一個伺服器 伺服器租憑網站:my.vultr.com 選擇10美金一月的伺服器即可 使用以下說明在Ubuntu Server 18.04masternode。伺服器 確保您具有以下要求。- 設置主節點所需的硬幣數量。 - 存放硬幣的錢包。 - 伺服器或VPS。 說明分為三個部分。 設置控制錢包(1/2) 打開你的錢包,等到錢包下載了完整的區塊鏈。 轉到「工具」。 單擊「調試控制台」。 這是您將執行所有命令的控制台。 創建一個masternode私鑰。 masternode genkey 示例輸出 顯示您的抵押品地址。 getaccountaddress "MN1" 示例輸出 記下masternode私鑰和附屬地址。 設置VPS 在VPS上安裝Ubuntu Server 18.04。 更新你的Ubuntu機器。 sudo apt-get update sudo apt-get upgrade 安裝所需的依賴項。 sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libboost-all-dev libboost-program-options-dev sudo apt-get install libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler unzip software-properties-common 安裝Berkeley DB。sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install libdb4.8-dev libdb4.8++-dev 。從官方網站下載守護進程和工具。 提取tar文件。 tar -xzvf tbtcoin-daemon-linux.tar.gz tar -xzvf tbtcoin-qt-linux.tar.gz 安裝守護程序和工具。 sudo mv tbtcoinnd tbtcoin-cli tbtcoin-tx /usr/bin/ 創建配置文件。 mkdir $HOME/.tbtcoin cd $HOME cd tbtcoin.conf Touch tbtcoin.conf Vi tbtcoin.conf 在examplecoin.conf中粘貼以下行。#---- rpcuser=rpc_tbtcoin rpcpassword= rpcallowip=127.0.0.1 #---- listen=1 server=1 daemon=1 maxconnections=64 #---- masternode=1 masternodeprivkey=REPLACE_WITH_MASTERNODE_PRIVATE_KEY externalip=REPLACE_WITH_EXTERNAL_IP_OF_VPS #---- 將文本「REPLACE_WITH_MASTERNODE_PRIVATE_KEY」替換為使用命令 「masternode genkey」創建的「masternode私鑰」。 例如 masternodeprivkey= dtnro2Wo將文本「REPLACE_WITH_EXTERNAL_IP_OF_VPS」替換為VPS的外部IP地址。 例如externalip=136.144.171.201 使用以下命令啟動節點。 examplecoind 設置控制錢包(2/2) 使用命令「getaccountaddress」MN1「」將所需數量的硬幣轉移到您創建的「附屬地 址」。 等到事務具有所需的masternode確認。 轉到工具。 單擊調試控制台。 輸入以下命令。 masternode outputs 示例輸出 [ {"" : "0", } ] 轉到「工具」。 單擊「打開Masternode配置文件」。 修改以下行並將其粘貼到記事本中。 MN1 136.144.171.201:9999 0 MN1 - 您的masternode的別名。 136.144.171.201 - 您的VPS的外部IP。 9999 - 更換硬幣的P2P埠。 - 來自命 令「masternode genkey」的Masternode私鑰。 - 來自命令「masternode outputs」的事務哈希。0 - 命令「masternode outputs」中的單個數字。 保存文件並關閉記事本。 關閉錢包並重新打開錢包。 前往設置」。 點擊「解鎖錢包」。 輸入您的錢包密碼並解鎖您的錢包。 轉到「工具」。 單擊「調試控制台」。 使用該命令啟動masternode。 masternode start-alias MN1 激活你的masternode需要+/- 30分鍾

3. tbtcoin如何搭建主節點

租憑一個伺服器 伺服器租憑網站:my.vultr.com 選擇10美金一月的伺服器即可 使用以下說明在Ubuntu Server 18.04masternode。伺服器 確保您具有以下要求。- 設置主節點所需的硬幣數量。 - 存放硬幣的錢包。 - 伺服器或VPS。 說明分為三個部分。 設置控制錢包(1/2) 打開你的錢包,等到錢包下載了完整的區塊鏈。 轉到「工具」。 單擊「調試控制台」。 這是您將執行所有命令的控制台。 創建一個masternode私鑰。 masternode genkey 示例輸出 顯示您的抵押品地址。 getaccountaddress "MN1" 示例輸出 記下masternode私鑰和附屬地址。 設置VPS 在VPS上安裝Ubuntu Server 18.04。 更新你的Ubuntu機器。 sudo apt-get update sudo apt-get upgrade 安裝所需的依賴項。 sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libboost-all-dev libboost-program-options-dev sudo apt-get install libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler unzip software-properties-common 安裝Berkeley DB。sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install libdb4.8-dev libdb4.8++-dev 。從官方網站下載守護進程和工具。 提取tar文件。 tar -xzvf tbtcoin-daemon-linux.tar.gz tar -xzvf tbtcoin-qt-linux.tar.gz 安裝守護程序和工具。 sudo mv tbtcoinnd tbtcoin-cli tbtcoin-tx /usr/bin/ 創建配置文件。 mkdir $HOME/.tbtcoin cd $HOME cd tbtcoin.conf Touch tbtcoin.conf Vi tbtcoin.conf 在examplecoin.conf中粘貼以下行。#---- rpcuser=rpc_tbtcoin rpcpassword= rpcallowip=127.0.0.1 #---- listen=1 server=1 daemon=1 maxconnections=64 #---- masternode=1 masternodeprivkey=REPLACE_WITH_MASTERNODE_PRIVATE_KEY externalip=REPLACE_WITH_EXTERNAL_IP_OF_VPS #---- 將文本「REPLACE_WITH_MASTERNODE_PRIVATE_KEY」替換為使用命令 「masternode genkey」創建的「masternode私鑰」。 例如 masternodeprivkey= dtnro2Wo將文本「REPLACE_WITH_EXTERNAL_IP_OF_VPS」替換為VPS的外部IP地址。 例如externalip=136.144.171.201 使用以下命令啟動節點。 examplecoind 設置控制錢包(2/2) 使用命令「getaccountaddress」MN1「」將所需數量的硬幣轉移到您創建的「附屬地 址」。 等到事務具有所需的masternode確認。 轉到工具。 單擊調試控制台。 輸入以下命令。 masternode outputs 示例輸出 [ {"" : "0", } ] 轉到「工具」。 單擊「打開Masternode配置文件」。 修改以下行並將其粘貼到記事本中。 MN1 136.144.171.201:9999 0 MN1 - 您的masternode的別名。 136.144.171.201 - 您的VPS的外部IP。 9999 - 更換硬幣的P2P埠。 - 來自命 令「masternode genkey」的Masternode私鑰。 - 來自命令「masternode outputs」的事務哈希。0 - 命令「masternode outputs」中的單個數字。 保存文件並關閉記事本。 關閉錢包並重新打開錢包。 前往設置」。 點擊「解鎖錢包」。 輸入您的錢包密碼並解鎖您的錢包。 轉到「工具」。 單擊「調試控制台」。 使用該命令啟動masternode。 masternode start-alias MN1 激活你的masternode需要+/- 30分鍾

熱點內容
區塊鏈幣圈今天的話題 發布:2025-07-05 15:22:06 瀏覽:796
玩區塊鏈的人群 發布:2025-07-05 15:06:06 瀏覽:123
VP幣是傳銷還是真正區塊鏈 發布:2025-07-05 15:01:21 瀏覽:453
個人還能挖比特幣嗎 發布:2025-07-05 14:46:43 瀏覽:680
幣圈財富自由論壇 發布:2025-07-05 14:12:52 瀏覽:844
挖比特幣有沒有風險 發布:2025-07-05 14:02:51 瀏覽:82
BE區塊鏈生態算網路傳銷嗎 發布:2025-07-05 13:34:31 瀏覽:657
幣圈是什麼控制漲跌 發布:2025-07-05 12:51:01 瀏覽:385
以太坊的運作過程 發布:2025-07-05 12:34:09 瀏覽:207
如何銷售區塊鏈會議 發布:2025-07-05 11:34:12 瀏覽:219