devrandom [ARCHIVE] on Nostr: 📅 Original date posted:2015-03-12 📝 Original message:On 2015-03-11 05:11 PM, ...
📅 Original date posted:2015-03-12
📝 Original message:On 2015-03-11 05:11 PM, Gregory Maxwell wrote:
> On Wed, Mar 11, 2015 at 11:50 PM, devrandom <c1.sf-bitcoin at niftybox.net> wrote:
>> That said, I do agree that mnemonic phrases should be portable, and find
>> it unfortunate that the ecosystem is failing to standardize on phrase
>> handling.
>
> The fact remains that there are several apparently unresolvable
> well-principled perspectives on this subject.
>
> (And I can speak to this personally: There are several BIPs in this
> space that I'd rather not see in product with my name on it.)
>
> Unless two wallets have exactly the same feature set, cross importing
> keys is going to confuse or break something. Even if you're trying to
> be fairly generic the testing overhead for all possible strategies and
> structures is large. Expecting compatibility here would be like
> expecting two large commercial accounting packages to support the same
> internal file formats. Compatibility is only straight forward when the
> feature set is as limited as possible.
You make some good points. However, I still hope for standardization by
"profile". E.g. a "consumer profile" for wallets with just one account,
a "business profile" for small business wallets. If an application
falls outside of the standardized profiles, they can roll their own or
try to promote a new standard.
I think there are some important advantages to not being forced to use
the old wallet to send coins when switching wallets. The three I can
think of right now are: maintaining transaction history, emergency
transition when a wallet has a serious (e.g. money losing) bug and web
wallet with server down.
Another important reason to standardize is to reduce the "roll your own
crypto" temptation on the wallet creator part, where the wallet-specific
algorithm is more likely to contain weaknesses.
I do agree that trying to come up with one uber standard will likely
fail and is probably counter productive.
>
> The space for weird behavior to harm users is pretty large... e.g. you
> could load a key into two wallets, such that one can see all the funds
> by the other, but not vice versa and and up losing funds by
> incorrectly assuming you had no coins; or inadvertently rip of your
> business partners by accounting for things incorrectly.
>
> Even ignoring compatibility, most demanded use cases here are ones
> that create concurrent read/write use of single wallet without some
> coordinating service is inherently somewhat broken because you can
> double spend yourself, and end up with stalled and stuck transactions
> and causing people to think you tried ripping them off.
>
> I certainly recognize the desirable aspects of just being able to load
> a common wallet, and that inexperienced users expect it to just work.
> But I don't think that expectation is currently very realistic except
> within limited domains. It may be more realistic in the future when
> the role of wallets is better established. I don't see any _harm_ in
> trying to standardize what can be, I just don't expect to see a lot of
> success.
>
> Ultimately, the most fundamental compatibility is guaranteed: you can
> always send your funds to another wallet. This always works and
> guarantees that you are never locked in to a single wallet. It is well
> tested and cannot drive any software in to weird or confused states.
>
--
devrandom / Miron
Published at
2023-06-07 15:31:29Event JSON
{
"id": "52c7d6fd0620fc865d86d83eb5b2870959f9f401b8b68ec3b3a94b50e3a4b5e0",
"pubkey": "ebeb63b9f045163c648f5d84faefa323220f6883ca98091c831d7e9da63b294a",
"created_at": 1686151889,
"kind": 1,
"tags": [
[
"e",
"bf192ab1459041905386f8a0c7782f07de04af2932326a4e49fe0d6ce14ed93c",
"",
"root"
],
[
"e",
"cc9a6ce37d51cb23195e2c394632331dff91202c530b690c17b5827100ca5c29",
"",
"reply"
],
[
"p",
"4aa6cf9aa5c8e98f401dac603c6a10207509b6a07317676e9d6615f3d7103d73"
]
],
"content": "📅 Original date posted:2015-03-12\n📝 Original message:On 2015-03-11 05:11 PM, Gregory Maxwell wrote:\n\u003e On Wed, Mar 11, 2015 at 11:50 PM, devrandom \u003cc1.sf-bitcoin at niftybox.net\u003e wrote:\n\u003e\u003e That said, I do agree that mnemonic phrases should be portable, and find\n\u003e\u003e it unfortunate that the ecosystem is failing to standardize on phrase\n\u003e\u003e handling.\n\u003e \n\u003e The fact remains that there are several apparently unresolvable\n\u003e well-principled perspectives on this subject.\n\u003e \n\u003e (And I can speak to this personally: There are several BIPs in this\n\u003e space that I'd rather not see in product with my name on it.)\n\u003e \n\u003e Unless two wallets have exactly the same feature set, cross importing\n\u003e keys is going to confuse or break something. Even if you're trying to\n\u003e be fairly generic the testing overhead for all possible strategies and\n\u003e structures is large. Expecting compatibility here would be like\n\u003e expecting two large commercial accounting packages to support the same\n\u003e internal file formats. Compatibility is only straight forward when the\n\u003e feature set is as limited as possible.\n\nYou make some good points. However, I still hope for standardization by\n\"profile\". E.g. a \"consumer profile\" for wallets with just one account,\na \"business profile\" for small business wallets. If an application\nfalls outside of the standardized profiles, they can roll their own or\ntry to promote a new standard.\n\nI think there are some important advantages to not being forced to use\nthe old wallet to send coins when switching wallets. The three I can\nthink of right now are: maintaining transaction history, emergency\ntransition when a wallet has a serious (e.g. money losing) bug and web\nwallet with server down.\n\nAnother important reason to standardize is to reduce the \"roll your own\ncrypto\" temptation on the wallet creator part, where the wallet-specific\nalgorithm is more likely to contain weaknesses.\n\nI do agree that trying to come up with one uber standard will likely\nfail and is probably counter productive.\n\n\u003e \n\u003e The space for weird behavior to harm users is pretty large... e.g. you\n\u003e could load a key into two wallets, such that one can see all the funds\n\u003e by the other, but not vice versa and and up losing funds by\n\u003e incorrectly assuming you had no coins; or inadvertently rip of your\n\u003e business partners by accounting for things incorrectly.\n\u003e \n\u003e Even ignoring compatibility, most demanded use cases here are ones\n\u003e that create concurrent read/write use of single wallet without some\n\u003e coordinating service is inherently somewhat broken because you can\n\u003e double spend yourself, and end up with stalled and stuck transactions\n\u003e and causing people to think you tried ripping them off.\n\u003e \n\u003e I certainly recognize the desirable aspects of just being able to load\n\u003e a common wallet, and that inexperienced users expect it to just work.\n\u003e But I don't think that expectation is currently very realistic except\n\u003e within limited domains. It may be more realistic in the future when\n\u003e the role of wallets is better established. I don't see any _harm_ in\n\u003e trying to standardize what can be, I just don't expect to see a lot of\n\u003e success.\n\u003e \n\u003e Ultimately, the most fundamental compatibility is guaranteed: you can\n\u003e always send your funds to another wallet. This always works and\n\u003e guarantees that you are never locked in to a single wallet. It is well\n\u003e tested and cannot drive any software in to weird or confused states.\n\u003e \n\n-- \ndevrandom / Miron",
"sig": "c8be8a76c0dd671f4a0f2105ef5d63ef36e240cbd1a077ed42bfb9495167614efc67a2d421f27f8e0e356aa3b21bee6e41abe297b829543f2bd5c9eb0b9bb4b2"
}