区块链相关问题 理解
本博客針對(duì)區(qū)塊鏈的部分問題進(jìn)行詳解,希望幫助大家對(duì)于區(qū)塊鏈有一個(gè)更好的理解
1,如果散布虛假交易,怎么整?(誰欠我XXX比特幣)
1,可以發(fā)起虛假交易,但是很難被全網(wǎng)的節(jié)點(diǎn)接收并寫入?yún)^(qū)塊鏈中。因?yàn)榘l(fā)起交易是需要進(jìn)行身份驗(yàn)證,區(qū)塊鏈一般發(fā)起的交易內(nèi)容入下,從我的賬戶轉(zhuǎn)多少比特幣給誰。比如我轉(zhuǎn)給張三10個(gè)比特幣,這個(gè)過程需要使用交易發(fā)起者的私鑰加密,加密過后會(huì)形成秘文,然后將交易消息、秘文、公鑰一起廣播,其余節(jié)點(diǎn)收到消息之后會(huì)對(duì)于消息的合法性進(jìn)行驗(yàn)證,別人通過我的公鑰解密秘文,如果解密得到的明文和發(fā)布的消息一致,就驗(yàn)證我的身份。如果不一致,這條消息就會(huì)被舍棄。
? ? ? ?舉例來說,有人申報(bào)了一筆交易:地址 A 向地址 B 支付10個(gè)比特幣。怎么知道這個(gè)申報(bào)是真的,申報(bào)人就是地址 A 的主人?比特幣協(xié)議規(guī)定,申報(bào)交易的時(shí)候,除了交易金額,轉(zhuǎn)出比特幣的一方還必須提供以下數(shù)據(jù)。比特幣發(fā)起交易應(yīng)該只能是,轉(zhuǎn)出方發(fā)出轉(zhuǎn)賬交易,比如,我要轉(zhuǎn)給A?10比特幣,而不是發(fā)出交易,A?欠我10個(gè)比特幣。
需要提供的數(shù)據(jù)
- 上一筆交易的 Hash(你從哪里得到這些比特幣,這個(gè)是根據(jù)比特幣的內(nèi)部UTXO結(jié)構(gòu)進(jìn)行驗(yàn)證)
- 本次交易雙方的地址
- 支付方的公鑰
- 支付方的私鑰生成的數(shù)字簽名
驗(yàn)證這筆交易是否屬實(shí),需要三步。
- 第一步,找到上一筆交易,確認(rèn)支付方的比特幣來源。(UTXO結(jié)構(gòu))
- 第二步,算出支付方公鑰的指紋,確認(rèn)與支付方的地址一致,從而保證公鑰屬實(shí)。
- 第三步,使用公鑰去解開數(shù)字簽名,保證私鑰屬實(shí)。
補(bǔ)充知識(shí)
? ? *私鑰經(jīng)過運(yùn)算得到公鑰,公鑰的后160位是錢包地址。根據(jù)協(xié)議,公鑰的長度是512位。這個(gè)長度不太方便傳播,因此協(xié)議又規(guī)定,要為公鑰生成一個(gè)160位的指紋。所謂指紋,就是一個(gè)比較短的、易于傳播的哈希值。160位是二進(jìn)制,寫成十六進(jìn)制,大約是26到35個(gè)字符,比如 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2。這個(gè)字符串就叫做錢包的地址,它是唯一的,即每個(gè)錢包的地址肯定都是不一樣的。
2,發(fā)布虛假交易是需要很強(qiáng)的計(jì)算能力。舉一個(gè)例子,假設(shè) 250 名礦工組成一個(gè)團(tuán)隊(duì),占網(wǎng)絡(luò)整體挖掘力的 25%。現(xiàn)在那些礦工決定通過發(fā)布無效(虛假)交易來從中受益。首先解決密碼難題的那個(gè)人會(huì)提出一個(gè)包含無效交易的區(qū)塊,另外 249 人會(huì)接受它并一同開始增加更多的區(qū)塊。與此同時(shí),剩余的 75%的礦工不會(huì)接受該塊。相反,他們會(huì)添加一系列有效塊到鏈中。擁有這個(gè)團(tuán)隊(duì)挖掘能力的三倍,75% 的計(jì)算能力為區(qū)塊鏈分支增加新的區(qū)塊比其快三倍。這將給他們最長的鏈,被所有人所接受。另一條鏈將變得毫無價(jià)值,沒有人會(huì)接受它。為了成功提出一個(gè)無效區(qū)塊并將其添加到最長的區(qū)塊鏈中,需要控制 51%的采礦能力。任何不足之處,惡行都將失敗。
2,比如我網(wǎng)上購物,錢打過去了,但是不給我發(fā)貨
- 線上問題難以解決線下問題。只能根據(jù)店家的信用進(jìn)行購物,如果存在第三方平臺(tái),可以進(jìn)行平臺(tái)投訴。如果,商家意識(shí)到自身的錯(cuò)誤,把錢退換給你,也不是利用回滾退錢,因?yàn)榇鷥r(jià)很大。而是通過發(fā)起新的一筆交易,將錢轉(zhuǎn)給你。
3,我購買商品,店家發(fā)貨了,但是我讓交易回滾,不認(rèn)賬
- 這個(gè)利用的是商品發(fā)貨需要長途運(yùn)輸時(shí)間的天生的優(yōu)勢(shì)。比如,今天下單,但是交易回滾之后,第二天,店家發(fā)現(xiàn)這筆錢并沒有上鏈,所以拒絕給我郵寄商品。
- 使用智能合約來執(zhí)行整個(gè)過程,將200比特幣存儲(chǔ)到賬戶中,如果在規(guī)定的日期內(nèi)沒有收到快遞,將只能能合約接入快遞公司的查詢網(wǎng)站,這筆錢就會(huì)退還。因?yàn)橹悄芎霞s不受到個(gè)人的操控,完全是程序的自我執(zhí)行的過程,因此可以保證第三方可信,但是需要注意一個(gè)大的前提是合約不存在漏洞,被別人利用。
4,創(chuàng)建錢包地址
1,基于平臺(tái)創(chuàng)建地址,安全性未知,比如https://login.blockchain.com/zh/#/home
2,在本地創(chuàng)建全節(jié)點(diǎn)
3,相關(guān)內(nèi)容
- https://www.bilibili.com/video/BV1TE411q7mW
- https://bitcoin.org/zh_CN/download
- https://www.bilibili.com/read/cv4078068
- 比特幣如何開戶
5,比特幣的可分割特性
目的:采用和鼓勵(lì)大家使用和購買比特幣,并進(jìn)而替代一般貨幣。比特幣可分割小至0.00000001 BTC的單位。在未來,如果情勢(shì)所需,比特幣的分割性則可以增加到1000億個(gè)更小的單位,甚至更多。這是因?yàn)?/span>比特幣協(xié)議和其相關(guān)軟件體系可以修改成能夠處理更小的單位。
6,"同步"是什么意思?為什么同步要花很長時(shí)間?
只有像Bitcoin Core這樣的全節(jié)點(diǎn)型客戶端才需要較長的同步時(shí)間。從技術(shù)上來說,同步是一個(gè)下載并核實(shí)網(wǎng)絡(luò)上所有以往比特幣交易的過程。某些比特幣客戶端需要知道所有以往的交易才能計(jì)算你比特幣錢包的可用余額并完成新的交易。這一步驟非常消耗資源,需要有足夠的帶寬以及能存放整個(gè)塊鏈的空間。為了保持比特幣的安全性,需要有足夠的用戶使用完全節(jié)點(diǎn)型客戶端,因?yàn)樗麄兤鹬_認(rèn)和中繼交易的作用。
總結(jié)
以上是生活随笔為你收集整理的区块链相关问题 理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自助存钱需要银行卡吗 自助存钱需不需要银
- 下一篇: java 三位数的水仙花数