Guide icon indicating copy to clipboard operation
Guide copied to clipboard

Create a `BIPs, BOLTs & BITs` page in the `How it works` section

Open Bosch-0 opened this issue 4 years ago • 16 comments

We should create a BIPs page that lists application layer BIPs relevant to user experience. This may need to broadened as there is technologies, such as descriptors, that are not BIPs but relevant all the same.

We could also extend this to include LN BOLT details and other relevant technologies that Lightning implementations use.

We could include this page in either designing Bitcoin products or as a glossary sub-page. I prefer to former as I believe BIPs are very important to have at least a basic grasp of as a designer and should have more emphasis put on them earlier in the guide not at the end in the glossary.

See Google doc for details - https://docs.google.com/document/d/1s-2hB1goZJx3Mw60aLti64a6ohRCXDHTR0-fLRhdZ4Y/edit#

Bosch-0 avatar May 07 '21 04:05 Bosch-0

Not that we have to religiously follow it, but our original table of contents from last fall did have a page for "Important BIPs". So would make sense to me.

This is a bit like extracting another part of the glossary into a dedicated page, as some terms like PSBT and Seed phrases are already explained there. Works for me, we just have to make sure to cleanly cross-reference.

GBKS avatar May 07 '21 06:05 GBKS

For sure! I was thinking instead it could be a 'technology' page in foundations that covers foundational technologies on the Bitcoin network which would in turn cover relevant BIPs.

Bosch-0 avatar May 08 '21 08:05 Bosch-0

Currently we have a number of these BIPs covered in the glossary, and with the new updates there will be sub pages in the glossary so we're going to have more opportunity to expand the details beyond simple descriptions.

Questions:

  • Which of these are not covered in the glossary?
  • Is the content in the glossary suitable?
  • Would it be moved or new content have to be created?
  • How might we better angle the content so it can connect with a designer (target audience)?

johnsBeharry avatar May 11 '21 02:05 johnsBeharry

Not yet in glossary:

  • URI Scheme BIP 21
  • Paynims BIP 47
  • Compact block filters BIP 157/158

In glossary already (at least mentioned, maybe needs more detail):

  • Multi-sig BIP 10
  • Multi-sig BIP 11
  • Addresses BIP 13
  • Pay to Script Hash (P2SH) BIP 16
  • HD wallets BIP 32
  • Mnemonic Seed BIP 39
  • Bech32 address format BIP 173
  • Partially Signed Bitcoin Transactions BIP 174

I see an "Important BIPs" page a bit like a cheat sheet. The information relevant to UX design is probably covered elsewhere (like the URI scheme in the "Sending bitcoin" page). The BIPs should definitely appear in the glossary, even if it's just a 1-2 sentence summary and links to other pages, as it's the place to look things up. This leaves the "Important BIPs" page as more of a summary page that maybe also explains what BIPs are, how the process works, and maybe also the status of different BIPs (something like "has become a standard", "slowly being adopted", etc). So maybe just have a general page about BIPs, and one part of that page is a list of the ones we deem important to know for designers?

GBKS avatar May 11 '21 06:05 GBKS

The BIPs should definitely appear in the glossary, even if it's just a 1-2 sentence summary and links to other pages, as it's the place to look things up.

Yep agree! I think in the glossary they should just be referred to as what the BIP is rather than 'BIP 47' we should just have PayNym in the glossary and mention that its BIP 47 in the description linking to the 'important BIPs page' in foundations chapter.

This leaves the "Important BIPs" page as more of a summary page that maybe also explains what BIPs are, how the process works, and maybe also the status of different BIPs (something like "has become a standard", "slowly being adopted", etc).

+1 these suggestions. Could also reference some good implementations of the BIPs out in the wild with an image and/or list. As a designer it would be good to know which wallets use various BIPs to study how each went out implementing them (as it can differ).

So maybe just have a general page about BIPs, and one part of that page is a list of the ones we deem important to know for designers?

I think it would be better to include why its important to designers alongside its general info.

Bosch-0 avatar May 11 '21 10:05 Bosch-0

Just wanted to clarify some things for the BIP47 entry.

BIP47 is also referred to as "Reusable payment codes", "Payment codes", or less popular "Stealth addresses". (address are sometimes also referred to as an invoice btw)

PayNym is a registry of usernames that map to a BIP47 payment code. This registry is not open source and is managed by a single entity. The registry being centralised is normal and nothing malicious because we don't have an option for a decentralized registry - maybe namecoin but lol... Still, the underlying payment codes or usernames can be censored or the registry hacked. This kind of control would prevent most wallet developers from integrating PayNym registry and instead make their own. Samouri seems open to having other wallets using their registry though.

Since it's proprietory we should be careful how we mention it in relation to BIP47.

johnsBeharry avatar May 13 '21 14:05 johnsBeharry

Should we pick this up and make it happen?

My suggestion would be to create a short human-readable summary of each BIP (no technical stuff) and have a visual for each one. The visual would create the connection between what the technical change is and how it affects the user experience.

GBKS avatar Jul 01 '21 13:07 GBKS

Sounds good to me!

Should also add a paragraph on what a BIP is in technology primer that links to this page for more depth.

Bosch-0 avatar Jul 02 '21 06:07 Bosch-0

@Bosch-0 and I started a Google Doc for this. Idea is to create a sub-page, either for the glossary or under "Design Bitcoin products". We think the title should be something like "Technical standards", as there are also relevant specs like Output Descriptors that are not BIPs. This could also include BOLTs eventually. Description should be short and communicate the purpose of the standard as well as user benefits, and avoid technical details unless necessary.

GBKS avatar Jul 09 '21 08:07 GBKS

We can link to technical deep dives, would also be great to have an associated image (if possible) to illustrate to the technology and its UX benefits.

Bosch-0 avatar Jul 09 '21 08:07 Bosch-0

Made some edits in my OP to update where this discussion is at.

Bosch-0 avatar Jul 09 '21 08:07 Bosch-0

Here is a WIP Figma file for this page, I was thinking of calling this page 'Technical Standards' as it goes beyond just BIPs. It will also cover LN standards (BOLTs and others like LNURL).

https://www.figma.com/file/Ks3u0Rf0vVqQomlfwaZBcl/?node-id=1147%3A3770

Bosch-0 avatar Aug 10 '21 04:08 Bosch-0

This could be another sub-page to the glossary as it's a list of "terms" with short definitions, and I assume a major use case for this is as a reference.

GBKS avatar Aug 10 '21 08:08 GBKS

Might be worth having a mention of standards and linking to this page. Wallet interoperability or tech primer would be my two options.

Bosch-0 avatar Aug 10 '21 10:08 Bosch-0

Now that we have a new How it works section, this issue can be focused on adding a BIPs page to this section: https://bitcoin.design/guide/how-it-works/

Bosch-0 avatar Apr 05 '22 05:04 Bosch-0

BIPs, BOLTs, BALLs, & BITs? 😆

https://balls.dev/

Bosch-0 avatar Sep 19 '22 13:09 Bosch-0

Two ways to approach this

  1. We can list them here https://bitcoin.design/guide/glossary/#bip---bitcoin-improvement-proposal
  2. Or we can create a new page Standards that could talk about standards, how they can improve UX, link to our standards website(s).

pavlenex avatar Nov 22 '22 10:11 pavlenex

Quite an old and stale issue. This does not seem super important, shall we close it?

GBKS avatar Jan 05 '24 13:01 GBKS