Mike Hearn [ARCHIVE] on Nostr: 📅 Original date posted:2011-07-07 🗒️ Summary of this message: The client ...
📅 Original date posted:2011-07-07
🗒️ Summary of this message: The client wants to calculate the balance of specific addresses without requiring the entire blockchain, and introducing new commands is acceptable.
📝 Original message:> What I want to be able to do though is calculate a balance for an aribtrary
> address. Not every address; just the particular ones that the client is
> interested in. It's complete overkill to require the whole block chain just
> to calculate the balance of a few addresses.
But what is that for? You said it's for a lightweight client to do
that when it receives a transaction, to verify that all the
dependencies are in blocks recursively. But why?
> Not entirely. If I ask for "the block that contains transaction with hash
> 12345678abcd..." then when I get that full block, I can verify the merkle tree
> myself.
Well, it's more efficient to just verify the merkle branch. But yes.
> I'm not entirely sure I see how a filter helps. If I've been offline for ten
> minutes then I need all the transactions pending in the last ten minutes. No
> amount of filtering makes that list any smaller.
Why do you need all of them? You just care about the ones sending
coins to you, surely?
> That would be fine. My reason for suggesting using getblocks was that it
> didn't introduce a new command.
IMHO it's fine to introduce new commands. They'll just be ignored by
old clients in any event.
Published at
2023-06-07 02:03:24Event JSON
{
"id": "cb3d37d2e169f3c25fdde1cb258452510c8b07a93a2fd6f9d61aa9cd15b97084",
"pubkey": "f2c95df3766562e3b96b79a0254881c59e8639f23987846961cf55412a77f6f2",
"created_at": 1686103404,
"kind": 1,
"tags": [
[
"e",
"9937cd991e90b8eac747cbbc95f665ee02332070c215333b4ec526b53cec3cee",
"",
"root"
],
[
"e",
"3b0c17000e55a2c69e200842adfb609a190caf41cbf6d8e90ed83267a04b87b3",
"",
"reply"
],
[
"p",
"99bec497728c848e65549d1a5257d08de97621edcb4b77073269a45dac708d59"
]
],
"content": "📅 Original date posted:2011-07-07\n🗒️ Summary of this message: The client wants to calculate the balance of specific addresses without requiring the entire blockchain, and introducing new commands is acceptable.\n📝 Original message:\u003e What I want to be able to do though is calculate a balance for an aribtrary\n\u003e address. Not every address; just the particular ones that the client is\n\u003e interested in. It's complete overkill to require the whole block chain just\n\u003e to calculate the balance of a few addresses.\n\nBut what is that for? You said it's for a lightweight client to do\nthat when it receives a transaction, to verify that all the\ndependencies are in blocks recursively. But why?\n\n\u003e Not entirely. If I ask for \"the block that contains transaction with hash\n\u003e 12345678abcd...\" then when I get that full block, I can verify the merkle tree\n\u003e myself.\n\nWell, it's more efficient to just verify the merkle branch. But yes.\n\n\u003e I'm not entirely sure I see how a filter helps. If I've been offline for ten\n\u003e minutes then I need all the transactions pending in the last ten minutes. No\n\u003e amount of filtering makes that list any smaller.\n\nWhy do you need all of them? You just care about the ones sending\ncoins to you, surely?\n\n\u003e That would be fine. My reason for suggesting using getblocks was that it\n\u003e didn't introduce a new command.\n\nIMHO it's fine to introduce new commands. They'll just be ignored by\nold clients in any event.",
"sig": "07f9bb07f5670ec34dd13280f7edb542b136f17345fb44159bc1af6784a515d7e86578836540da04d031f97c30c3e9900687b5601a1782d2a53735efd4950ff8"
}