<oembed><type>rich</type><version>1.0</version><author_name>npub1w7tezshngplj3fd8r9twxv6zujrwaxq7v98q6t4rdhd0y7u2tfnsmwj55c</author_name><author_url>https://nostr.ae/npub1w7tezshngplj3fd8r9twxv6zujrwaxq7v98q6t4rdhd0y7u2tfnsmwj55c</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2011-12-16&#xA;🗒️ Summary of this message: Bitcoin needs to maintain its decentralized feature, but people want alternate representations of bitcoin addresses. Blockchain bloat is an issue, and an extra-blockchain aliasing system must prioritize usability and absolute security. Arbitrary aliases are not in use in mature financial systems, and checksum systems detect transposition errors.&#xA;📝 Original message:&gt; Bitcoin itself is decentralised by design, in my opinion it seems obvious&#xA;&gt; that it needs to continue to maintain this feature.&#xA;&#xA;What&#39;s the real issue?&#xA;&#xA; - People want to use alternate representations (&#39;aliases&#39;) of bitcoin&#xA;addresses, for various reasons.&#xA; - The blockchain is the only way to create distributed consensus&#xA;within the bitcoin network.&#xA; - Very few people - even those who wish to have a permanent alias -&#xA;want to have it map to a permanent bitcoin address, since this&#xA;discloses their financial history (eg: income for a business) to the&#xA;public&#xA; - Some people want throw-away (single use) aliases, others want&#xA;permanent ones.  This means many addresses.&#xA; - Blockchain bloat is already acknowledged as an issue.&#xA; - The blockchain is not really a good option.&#xA;&#xA;Leaving out the blockchain, there are still ways to implement aliasing.&#xA;&#xA;What is the core problem for an extra-blockchain aliasing system?&#xA;&#xA;At the core is usability - people basically want aliases to make it&#xA;easier to type in or remember addresses.  So a solution that&#xA;sacrifices usability too far is a broken one.&#xA;&#xA;Another requirement is absolute security.  A user of the aliasing&#xA;system is going to trust it to translate a particular alias to a&#xA;bitcoin address - ie: &#39;where my money goes with absolutely zero chance&#xA;(by default)  of getting it back if it&#39;s sent somewhere wrong by&#xA;accident&#39;.  Such an accident might be mistyping an alias.  It might&#xA;also be a hijacking of the alias resolution system (eg: a DNS based&#xA;system without DNSSEC, etc.).  As a case in point, we already see very&#xA;well organized attacks by domain squatters in order to steal traffic&#xA;or effect phishing under the DNS system.&#xA;&#xA;So... to help see which qualities are meaningful for such an alias&#xA;system, let&#39;s look at what types of solutions to these problems exist&#xA;within conventional (ie: mature) financial systems.&#xA;&#xA;First, arbitrary aliases are not in use.  This means that memory-based&#xA;mnemonics are not subject to predictable squatting-style attacks.  For&#xA;our purposes, this means that if you are payments at business1.com, I&#xA;can&#39;t go and register payments at busines1.com and take a portion of your&#xA;inbound cash whenever a client tries to pay you and typos on the send&#xA;address.  Likewise, if you&#39;re &#39;someuser at hostedwalletservice.com&#39; I&#xA;can&#39;t go and register as &#39;someuse at hostedwalletservice.com&#39; and pull&#xA;the same heist. IIBAN is the only aliasing proposal I have seen&#xA;mentioned within this thread that adopts this strategy, the others all&#xA;maintain this vulnerability through DNS. HTTP relies on DNS.&#xA;&#xA;Second, checksum systems detect transposition errors. This is a very&#xA;powerful feature, which (I can&#39;t be bothered googling for stats, but&#xA;just think about it) cuts out the vast majority of such errors&#xA;instantly, at the time of input, before money changes hands or&#xA;anything touches the financial settlement networks.  IIBAN adopts&#xA;exactly the same mature and proven MOD97-based two digit checksum&#xA;feature that is used within the IBAN standard, proposed by the&#xA;European Union with the benefit of decades of banking experience in&#xA;many member states and now growing rapidly in use around the world.&#xA;(For something as expensive and painful to implement as a&#xA;nationally-mandated banking standard affecting all member banks, a&#xA;growth rate of &#39;a few countries per year&#39; is a pretty serious growth&#xA;curve!)  With checksums, it&#39;s even possible to auto-suggest&#xA;corrections based upon common transposition errors and help the user&#xA;to check those parts of the alias for common errors more quickly.&#xA;&#xA;Third, conventional financial systems typically require recipient name&#xA;(and sometimes address, or business tax numbers in some countries&#39;&#xA;domestic schemes) as part of the transaction.  This secondary data&#xA;facilitates error checking since an incorrectly supplied destination&#xA;address can be checked against these properties.  Of course, Bitcoin&#xA;presently has no such secondary input with which to verify the&#xA;destination of a transfer, and since blockchain bloat is an&#xA;acknowledged issue and very few bitcoin users would like to see their&#xA;names appear against their transactions within the blockchain (visible&#xA;to all, for eternity!) it also seems that this feature is not going to&#xA;be added and for good reason.  However, within an external (and not&#xA;necessarily bitcoin specific) higher-level &#39;transaction negotation&#39;&#xA;protocol (alluded to in earlier posts as a logical extension of the&#xA;pre transaction alias resolution mechanism, and being a pre&#xA;transaction connection of some nature between a payer and payee, or&#xA;their proxying/representing institution, in the case of hosted&#xA;wallets/aliases), such external destination validation features could&#xA;be added. (Many types are possible... data-based as per name/address&#xA;validation, cryptographic validation schemes, etc.)&#xA;&#xA;Finally, an increasing number of countries use an aliasing scheme&#xA;(IBAN) that is familiar to users.  Doing so for digital currencies&#xA;such as Bitcoin increases usability (by eliminating novelty, and in&#xA;the case of IIBAN which is not specific to any given currency, the&#xA;need to register, recall and manage yet another account identifier),&#xA;which was one of the original goals. None of the other proposals&#xA;mentioned have this property.&#xA;&#xA;I won&#39;t go in to other benefits previously mentioned of the IIBAN&#xA;proposal, but I still cannot see any reason to either:&#xA; - Include aliasing within bitcoind itself&#xA; - Re-invent the wheel&#xA; - Scare off non-technical users&#xA; - Dodge the fact that there are unique properties of bitcoin that&#xA;will always remain and should perhaps simply be acknowledged and&#xA;worked around OUTSIDE of the codebase, rather than within.&#xA;Unix/internet philosophy is that it&#39;s usually best to keep code as&#xA;simple as possible, to &#39;do one thing&#39; and &#39;do it well&#39;. For bitcoind&#xA;(despite sharing a codebase with the GUI), that something is achieving&#xA;a distributed internet-based financial system that is free from legacy&#xA;centralized currencies. It is *not* worrying about making it look&#xA;pretty or easy to use, which can be achieved by layering totally&#xA;external systems through simply translating various alternate&#xA;representations (&#39;aliases&#39;) to the well defined bitcoin addressing&#xA;scheme.&#xA;&#xA;Just to avoid any notion of table-banging (Hah! A lost cause?), this&#xA;will be the last IIBAN-related post I will make on this thread, but&#xA;there will be some further announcements in the near future.&#xA;&#xA;Keep up the good work everyone.&#xA;&#xA;Regards,&#xA;Walter Stanish&#xA;Payward Inc.</html></oembed>