You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is (a) broken because getNameInfo() will always return null for every name in SPV mode. (rpc getnameinfo relies on the Urkel Tree, which in SPV mode is always empty). It is (b) insecure because it relies on an API server to getCoin() (even though it never will, because getnameinfo will always be null)
Verify with name is possible in SPV mode though, consider this:
Request Urkel proof for name from full node, which returns a complete NameState object
NameState contains owner which is hash and index of a UTXO
Bob Wallet requests the ENTIRE TX from API server with that hash
Bob verifies the TX from the server hashes to the hash in NameState.owner
Bob now has the coin that owns the name: by looking up the index in the TX it just verified
Bob now has the address that owns the name and everything is verified.
Update: ok I misread the code, getnameinfo is actually fetched from the API server, so its not broken its just insecure.
The text was updated successfully, but these errors were encountered:
pinheadmz
changed the title
verifymessagewithname in SPV is broken and insecure
verifymessagewithname in SPV is insecure
Mar 11, 2022
bob-wallet/app/background/node/service.js
Lines 491 to 514 in 6f3f93b
This is (a) broken because
getNameInfo()
will always returnnull
for every name in SPV mode. (rpc getnameinfo
relies on the Urkel Tree, which in SPV mode is always empty). It is (b) insecure because it relies on an API server togetCoin()
(even though it never will, becausegetnameinfo
will always benull
)Verify with name is possible in SPV mode though, consider this:
NameState
objectNameState
containsowner
which ishash
andindex
of a UTXONameState.owner
index
in the TX it just verifiedUpdate: ok I misread the code, getnameinfo is actually fetched from the API server, so its not broken its just insecure.
The text was updated successfully, but these errors were encountered: