[閒聊] 還是沒搞懂比特幣如何計算私鑰餘額

看板 DigiCurrency
作者 ripple0129 (perry tsai)
時間 2023-03-04 13:01:41
留言 70則留言 (16推 0噓 54→)

一個比特幣私鑰可以產生大量公鑰 公鑰可以產生一堆地址 如果我使用比特幣錢包 基本上我創建一個錢包私鑰 然後用多個不同的地址去收款 錢包是如何加總我所有地址的餘額的? ---- Sent from BePTT on my iPhone 13 Pro Max -- 交易有限,問題是我怎麼知道此筆交易的地址是屬於我這個私鑰的 Account based用習慣了,UTXO真是很難理解,我支付一筆交易,背後整合我的UTXO來支付, 要使用哪些UTXO,這部分又是誰來決定的,礦工或是我的錢包軟體?我們使用者只是很直觀 的從我的地址支付到另一個地址,但是整個運作底層根本不是這樣XD

※ 批踢踢實業坊(ptt.cc), 來自: 75.157.229.193 (加拿大)
※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1677906103.A.45D.html

MACD: 加總是前端做的事03/04 13:09

yyhsiu: 你自己不是都講完了…加法不就是機器最會做的事03/04 13:28

kugwa: 你的錢包知道這些地址都是你的啊03/04 13:47

kugwa: 當然其他任何人都不知道03/04 13:47

wahaha99: 我對這問題也不太懂 我猜是反正私鑰對這些地址都有控制03/04 13:58

wahaha99: 能力 所以餘額加總是自己錢包的事 鍊只管這些地址有錢03/04 13:58

wahaha99: 猜錯請指正03/04 13:58

ripple0129: 不是啊,地址無限多耶,怎麼全部加總03/04 14:58

GGylin: 交易有限阿 比特幣的區塊鏈 是記錄交易又不是記錄餘額03/04 15:03

DarkerDuck: UTXOs set是有限集合03/04 15:13

DarkerDuck: https://tinyurl.com/yc476ft803/04 15:16

DarkerDuck: 直接看最後的餘額章節03/04 15:16

DarkerDuck: https://www.samsonhoi.com/731/bitcoin-wallet-addre03/04 15:20

wahaha99: 不過除了稍微混淆一下追蹤者外 我是看不出太大意義 03/04 16:41

wahaha99: 畢竟這種交易方式很浪費資源不是嗎 03/04 16:41

ripple0129: 問了AI是錢包軟體來整合UTXO 03/04 17:56

ripple0129: XD 03/04 17:56

now99: 畢竟公開帳本,隱匿性也很重要 03/04 18:22

ofy: 是一個助記詞(Seed)能產生一堆公私鑰對,不是一把私鑰一堆公鑰 03/04 19:04

ofy: HD錢包內部通常會預生成約10~100個地址(公私鑰對) 03/04 19:04

ofy: 你的幣會從這裡加總,當有掃到使用紀錄(收付)時 03/04 19:04

ofy: 會往後多掃N個地址(依各錢包軟體不同) 03/04 19:04

ofy: UTXO花用那些input一般由錢包軟體自動以支出output額度決定 03/04 19:05

ofy: 不過你會手刻一樣能手刻,input=output(含找回)+fee 就行了 03/04 19:07

ofy: 只要你有能力給那些input有效簽章(有用到的地址私鑰) 03/04 19:10

ofy: 你花用同地址的兩筆input只要用該地址的私鑰簽章 03/04 19:13

ofy: 你花用不同地址的input,要用那些有用到的地址私鑰 03/04 19:13

ofy: 某種程度這也是多簽交易,少了一把交易就不成立無法上鍊 03/04 19:15

DarkerDuck: @wahaha99,UTXO這種顛覆傳統的記帳模式絕對才是 03/04 19:27

DarkerDuck: 中本聰最大的創見 (PoW也不算是中本聰獨立發明的) 03/04 19:28

DarkerDuck: 確保隱私性只能算是UTXO最不重要的優點 03/04 19:29

DarkerDuck: 可以說因為有了UTXO才讓Bitcoin有潛力變成 03/04 19:30

DarkerDuck: 全球通用的電子現金 03/04 19:30

DarkerDuck: *UTXO原生性只能被花一次,所以可以達成零確認支付 03/04 19:33

DarkerDuck: https://youtu.be/sZ2aV0Iy8Qk 03/04 19:37

DarkerDuck: 而account-based則一定要等待確認,甚至是多個確認 03/04 19:38

DarkerDuck: 以BCH的日常支付來說,三秒等待double-spend proof 03/04 19:39

DarkerDuck: 就已經非常安全,至於BTC被啥anti-feature搞自行研究 03/04 19:40

DarkerDuck: *UTXO因為是stateless,對於全球擴容有極大的優勢 03/04 19:42

DarkerDuck: 礦工不在乎各錢包甚至是各地址的狀態,就可驗證。 03/04 19:44

DarkerDuck: 因為礦工驗證的是UTXO狀態而不是address或wallet狀態 03/04 19:46

DarkerDuck: 甚至有能力達成硬體化的平行驗證,達成極大的TPS 03/04 19:47

DarkerDuck: https://tinyurl.com/45suaaab 03/04 19:52

DarkerDuck: https://tinyurl.com/2ncdzvav 03/04 19:54

DarkerDuck: 只要有利益,要讓礦工在TPS上再現算力的指數增長根本 03/04 19:54

DarkerDuck: 小菜一蝶,實在無法想像為什麼現在卡在這邊了 03/04 19:55

DarkerDuck: 而儲存空間也不成問題,前面已經講過礦工只在乎UTXO 03/04 19:56

DarkerDuck: 所以歷史狀態都可驗證完後被丟棄。 03/04 19:57

DarkerDuck: Bitcoin白皮書第七章: https://tinyurl.com/y6ny6nnh 03/04 19:58

DarkerDuck: Bitcoin白皮書第八章提到的SPV錢包也必須依靠UTXO 03/04 20:01

DarkerDuck: 現在的web3錢包並非是trustless,他必須有可信的RPC 03/04 20:02

DarkerDuck: 但中本聰提出SPV錢包可以獨立驗證自己的交易是否可信 03/04 20:02

DarkerDuck: 是一種真的可以在客戶端truetless又去中心化的錢包 03/04 20:03

wahaha99: 感謝回應...我消化一下 03/05 00:41

wahaha99: 想了一下,stateless做到0確認的前提是用的node可信吧? 03/05 02:48

wahaha99: 應該說,要多次確認除了店家怕遇到假帳與雙花,鍊也怕分岔 03/05 02:49

wahaha99: 歷史狀態驗證完就丟棄...那不就沒用到區塊鍊了? 03/05 02:51

wahaha99: 只存在於pool的概念? 03/05 02:51

DarkerDuck: 要做到接受零確認支付的確前提是必須是well-connected 03/05 03:13

DarkerDuck: 而Bitcoin錢包預設就會和多個全節點"同時"連接 03/05 03:14

DarkerDuck: 通常會是六個,也就是這六個節點必需共謀日蝕攻擊 03/05 03:15

DarkerDuck: 這難度比連到一個不可信的節點還來的高太多 03/05 03:15

DarkerDuck: 原始區塊鏈是一種timestamp server的觀念 03/05 03:19

DarkerDuck: 對於一個已經在線上一直運作的節點而言 03/05 03:19

DarkerDuck: 已經驗證過的區塊以後就不會再驗證一次 03/05 03:19

DarkerDuck: 當然沒必要留在硬碟占空間,但是區塊鏈還是會一直增長 03/05 03:20

DarkerDuck: 一直都會有新的區塊需要驗證 03/05 03:21

DarkerDuck: 而且無論如何一定還是要有一些archieve node 03/05 03:21

DarkerDuck: 讓一些新加入的驗證節點,有需要的時候可以從頭驗證 03/05 03:22

DarkerDuck: 一定還是會有一些節點儲存完整的區塊鏈 03/05 03:22

您可能感興趣