Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: etotheipi on December 29, 2012, 05:14:33 PM



Title: Standardizing Bitcoin Terminology
Post by: etotheipi on December 29, 2012, 05:14:33 PM
As I get deeper and deeper into Armory feature development, I find myself making names for things in Bitcoin which are really just dull descriptions of what they are.  Such as "watching-only wallets".  And "tx distribution proposal".  Things like "deterministic wallets" and "Hierarchical deterministic wallets" are great enginerd phrases, but I think fewer syllables and less-fancy words are needed.  If we can make them a little sexy, too, that would be great.  

Additionally, these things are not consistent between clients.  I just found out that Armory uses "Watching-only wallets" and Electrum uses "Deseeded wallets".   I really think the community would benefit from having a consistent terminology that can be learned once via a glossary put on the bitcoin.org webpage, and then new users have a way to learn what all these crazy concepts are about.  Also, some of these things are future concepts for which it wouldn't hurt to agree to it before any devs implement them.

So, I'm going to create a dynamic list of things here that I think need standardized names, and update it with the recommendations of subsequent posters.  I'm okay rebranding the concepts in Armory (I'll throw in a pop-up window on the next upgrade with a link to a glossary).  I hope that devs of other clients (Multibit, Electrum, Android apps, etc) will entertain the idea of changing their apps if these standardized names make sense.  



Top contenders are bolded.  Other options are listed to get neurons firing about other names.

(A)  
  • Concept:  "Regular" wallets kept on an online computer, encrypted or not.  It may be acceptable to have a couple different names for this, given it's broadness.
  • Candidates:  "Online Wallet", "Regular Wallet", "Hot wallet", "Full Wallet"
(B)  
  • Concept: "Offline wallet" -- a wallet for which the private only exist on an internet-detached computer
  • Candidates: "Offline Wallet" "Cold Wallet", "Detached Wallet", "Air-gapped wallet"
(C)  
  • Concept: The concept of keeping your private keys offline (the previous term should probably be related to this)
  • Candidates:  "Offline Storage", "Cold Storage", "Cryo", "Detached Storage"
(D1)  
  • Concept:  "Watching-only wallets" -- a wallet containing no private key data, only public keys and/or addresses for watching balances
  • Candidates:  "Observer wallet", "Receiving Wallet", "Deseeded wallet" (Electrum term), "One-way wallet", "Hollow wallet", "Skeleton Wallet"
(D2)  
  • Concept:  "Full wallet" (when distinguishing from a "watch-only" wallet)
  • Candidates:  "Full Wallet", "Private Wallet", "Complete Wallet"
(E1)  
  • Concept:  "Deterministic wallets" -- this is just far too nerdy: it describes exactly what it is, but is a word that no foreigner would know (or even pronounce), and this is pretty much meaningless to new users who don't understand what is "deterministic" about the wallet or what is the alternative.
  • Candidates:  "Chained wallet", "Calculated wallet",  "Permanent wallet", "Crystal wallet", "Pre-determined wallet","Single-branch wallet"
(E2)  
  • Concept:  "Non-deterministic wallets" -- This is what Bitcoin-Qt uses right now, and should be deprecated.
  • Candidates:  "Loose-Key Wallet", "Old-style wallet", "Random Wallet", "JBOK (Jay-Bock) wallet" (just a bunch of keys)
(F)  
  • Concept:  "Hierarchical Deterministic wallets" -- same as above, but this one is even worse
  • Candidates:  "Branched wallet"
(G)  
  • Concept:  Linked wallets -- multiple wallets that represent a single entity via multi-signature transactions -- i.e. Computer has wallet A, smartphone has wallet B.  All receiving addresses are P2SH addresses.  These two wallets are:
  • Candidates:  "2-way linked wallets", "Sister wallets", "Sibling wallets", "Multi-signature wallets", "Paired wallets", "Partial wallets"
(H)  
  • Concept:  "Transaction Distribution Proposal" -- multi-signature transactions will require passing an unsigned/partially-signed transaction between parties to be signed.  This piece of data/file proposes how the funds from a multi-signature transaction should be distributed.  Parties may accept the proposal by signing it.
  • Candidates:  "Transfer Order", "Distribution", "Proposal", "Distro", "Prop"
(I)  
  • Concept:   Pre-broadcast Tranasction ID:  the "transaction distribution proposal" above needs a way to be referenced, but you can't use its official "Transaction ID" because you don't know it until all signatures are acquired.  I'm thinking it would simply be the hash of the transaction without all the TxIn scripts blanked.
  • Candidates:  ???  ??, "Pre-broadcast ID", "Distribution/Distro ID", "Proposal/Prop ID", "Temporary ID"
(J)  
  • Concept:  Multi-signature transactions -- any transaction spending coins that require multiple signatures  
  • Candidates:  "Multi-sig tx", "Multi-party tx", "Joint transaction"
(K)  
  • Concept:  Multi-signature encumbered coins -- any funds currently requiring multiple signatures  
  • Candidates:  "Encumbered funds", "Joint funds"
(L)  
  • Concept:  "bitcoin:" links/URLs
  • Candidates:  "Bitcoin URLs", " \"bitcoin:\" links", "Clickable Addresses"


Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on December 29, 2012, 05:32:36 PM
How about we work to rename non-deterministic wallets as "loose key collections" or "JBOK's" (just-a-bunch-of-keys) and give them the mouthful name as part of effort to deprecate them?  Then, at some point, just set the expectation that a "wallet" is something where backing it up once is just a normal feature, just like the way you expect italicized text to be a feature of a "word processor".

For the concept of observing, I would totally avoid using the term "wallet".  I'd almost call it a "watch file".

For what you're calling a "transaction distribution proposal", I would just call it a "transaction proposal".


Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on December 29, 2012, 05:35:48 PM
How about we work to rename non-deterministic wallets as "loose key collections" or "JBOK's" (just-a-bunch-of-keys) and give them the mouthful name as part of effort to deprecate them?  Then, at some point, just set the expectation that a "wallet" is something where backing it up once is just a normal feature, just like the way you expect italicized text to be a feature of a "word processor".

I do agree with that.  At some point in the future, I hope that JBOK wallets will no longer exist (except in history, and maybe specific, specialized applications).  And then we don't need to differentiate them.  But maybe it still warrants having a "long name" for them, anyway.  Especially since they still need to be distinguished from HD wallets.  Maybe: "Single-branch wallet" 


Title: Re: Standardizing Bitcoin Terminology
Post by: BCB on December 29, 2012, 05:39:42 PM
+1 for this.

I think Tangible Cryptology had a good post requesting standardizing or at least clarifying some of the bitcoind api calls as well.

I strongly fee the the term for a bitcoin public key - "bitcoin address" is very misleading.  It belies the fact that you require a private key to control the bitcoin which has been the bane for more then a few newbies.



 


Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on December 29, 2012, 05:42:44 PM
How about we work to rename non-deterministic wallets as "loose key collections" or "JBOK's" (just-a-bunch-of-keys) and give them the mouthful name as part of effort to deprecate them?  Then, at some point, just set the expectation that a "wallet" is something where backing it up once is just a normal feature, just like the way you expect italicized text to be a feature of a "word processor".

I do agree with that.  At some point in the future, I hope that JBOK wallets will no longer exist (except in history, and maybe specific, specialized applications).  And then we don't need to differentiate them.  But maybe it still warrants having a "long name" for them, anyway.  Especially since they still need to be distinguished from HD wallets.  Maybe: "Single-branch wallet" 

Are JBOK wallets branched at all?

Is the user distinction between branching necessary?  Perhaps ought the names simply be numbers instead?  For example, users know that *.mp3 and *.wma are both audio files, and they have clear technical distinctions and competing advantages beyond the user's need-to-know, but what the user does need to know is whether his player plays the same kind of files he has.  Meanwhile, the file extension has absolutely nothing to do with the specific technical merits of the file formats.  So I might suggest calling all of them "wallets" in a basic sense, and putting some careful thought into the file extension.

If hierarchical deterministic wallets were typically saved with a *.bcw (bitcoinwallet) extension, then he might come to learn he has a "bcw" wallet instead of a "dat" wallet, and he therefore enjoys XYZ features, the same way someone saving a "png" file knows he enjoys certain features not available in a "gif" file.



Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on December 29, 2012, 06:10:29 PM
I always thought "one way wallet" sounded better than "watching only wallet". Not only is it shorter on syllables, it's alliterative too (well, phonetically!)


Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on December 29, 2012, 06:13:54 PM
I always thought "one way wallet" sounded better than "watching only wallet". Not only is it shorter on syllables, it's alliterative too (well, phonetically!)

I am a big fan of "observer" wallet, as Eliel proposed in IRC.  But you're right that it doesn't quite capture the fact that you can "do" something with that wallet (generate addresses, receive money).  I'll add "one-way wallet" to the list.  Though I bet there's an even better term for it, that explains which way it goes :)


Title: Re: Standardizing Bitcoin Terminology
Post by: 2112 on December 29, 2012, 06:27:25 PM
[Author unknown to me, I think this is an old USENET joke]

Yesterday, I helped my mother-in-law get set up on email for the first time. She got frustrated from time to time. Upon reflection, I decided that frustration was perfectly understandable. Imagine trying to learn to write a letter for the first time …
 
Me: Ok, to write a letter, the first thing you need is a piece of paper and a pen.
 
Tarzan: What are those?
 
Me: Paper is flat stuff that is made from tree pulp, sort of like a very small blackboard. Pens are sticks that write, sort of like chalk but smaller and in darker colors.
 
Tarzan: Is this paper?
 
Me: Ah, yes, that is paper, but you dont want to write a letter on that, thats my paycheck.
 
Tarzan: Why cant I use this?
 
Me: Well, thats a representation of money that I … uh, never mind. Just dont write on that. Look, heres a piece of paper that you can write on.
 
Tarzan: What about a pen?
 
Me: Pens are like little sticks. Do you see anything on this desk that
 looks
 like a little stick? Uh, no, thats a ruler. Rulers are for measuring things. Uh, no, thats a toothpick, its for cleaning teeth, I dont know why its on my desk. Look, heres a pen.
 
Tarzan: That doesnt look like a little stick! Its grey. Little sticks are brown.
 
Me: I meant little stick metaphorically. Just use this. Uh, you have to take the cap off first. Ok, now write Dear Mom on the paper. Wait, you want to rotate the paper so that the short side is at the top and the long side comes towards you.
 
Tarzan: Why?
 
Me: Well, thats just how its done. I suppose you could do it the other way, but it would look a little funny. Ok, now write Dear Mom on the – oh, no, at the top. Well, never mind, we can just throw this one away and start over. Thats right, Dear Mom at the top. Then the rest of the letter.
 
Tarzan: Ok, Ive finished the letter! Can we go hunting now?
 
Me: Well, you arent really done. I mean, you are done with the letter, but now you have to send it. You need to put the letter in an envelope next. An envelope is a piece of paper that is all folded up to hide and protect the letter. Uh, no, put my paycheck down, we dont want to fold it into an envelope.
 
Tarzan: Wouldnt that work?
 
Me: Well, yeah, it would *work*, but it isnt the best way to do it, and besides, I want to keep my paycheck. Look, just put your letter into this envelope here.
 
Tarzan: It wont fit.
 
Me: Yeah, you have to fold it first. Um, it will work better if you fold it into thirds. No, the other way. There you go, now put it in the envelope. Good. Now seal the envelope by licking the paper here and folding it over.
 
Tarzan: You *must* be joking!
 
Me: No, really, thats how you seal the envelope. Look, if you dont want to lick it, you could get a little sponge and dish of water and use the sponge to wet the envelope flap.
 
Tarzan: Ill just go dunk it in the creek then.
 
Me: NO! Sorry, I didnt mean to yell. Look, Ill show you, *I* will lick it for you. See? Easy.
 
Tarzan: Ok, now can we go hunting?
 
Me: No, not yet, we still need to address the mail so that the postman knows who should get the envelope. So on the envelope, write Lady Greystoke – nonono over here. Well, never mind, we can get a new envelope for it. Ill take it out of the old one for you. Ok, heres a new envelope for you, see if you can put it in – thats good – and seal it.
 
Tarzan: I cut my tongue!
 
Me: Ooops. It does take a little getting used to. Ok, now write Lady Greystoke right here. Good! Ok, now we need to look up her address in the address book. This is my address book, and youll have to make your own address book and fill it in with addresses.
 
Tarzan: How will I know what peoples addresses are?
 
Me: Youll just ask them for their address.
 
Tarzan: How can I ask them if I cant write to them?
 
Me: You have to ask them some other way, like when you see them in person.
 
Tarzan: Why cant I just get a big book with everybodys address in it?
 
Me: Well, there are five billion people in the world, so it would be an awfully big book, plus people move all the time, plus some people wouldnt want their address in the book. Look, trust me, it works. Youll get peoples addresses. Ok, so underneath her name, write her address. Uh, you put the street address on its own line, then the city and state and ZIP code.
 
Tarzan: Whats a ZIP code?
 
Me: Dont worry about it, just do it.
 
Tarzan: Hmmpf. It would be a lot easier if I could just put Mom. Ok, its
 addressed. NOW can we go hunting?
 
Me: Hold your horses. You need to put your return address in the upper left-hand corner of the envelope.
 
Tarzan: Whats my return address?
 
Me: Its how people can contact you. Your landlord should have given you a piece of paper with your address on it. Yeah, that looks right, now copy that to the upper left corner. Upper LEFT corner. Good. Ack! My desk! Put the cap back on!
 
Tarzan: Huh?
 
Me: Its very important that you put the cap back on the pen so that the ink from the pen doesnt get all over everything. Ok, now we have to put a stamp on the envelope, which is a way of paying for the delivery. You need a 32-cent stamp. Never mind why. You need to put it in the upper right hand corner, no, right-side up – so the 32 is right-side up. No, it wont stay by itself, you have to lick it.
 
Tarzan: Im not licking anything else, I cut my tongue last time.
 
Me: Oh, all right. Ill lick it for you this time. Tomorrow you can go buy a different kind of stamps that you dont have to lick.
 
Tarzan: How many different types of stamps are there?
 
Me: Well, theres stamps you lick and self-adhesive stamps, and different denominations of stamps, oh, and there are stamps from other countries but you cant use them.
 
Tarzan: Why not?
 
Me: Because our government doesnt recognize those stamps. And we cant use our stamps in other countries.
 
Tarzan: So do I have to use two different stamps if I send something to another country?
 
Me: No, theres an agreement with other countries that they will deliver mail with our stamps if they come from outside the country.
 
Tarzan: So why cant we use other countries stamps inside our country?
 
Me: They just wont, leave it be.
 
Tarzan: Ok, Im going hunting now.
 
Me: Just a minute, just a minute! How do you think the letter is going to get to your mother? Did you think it was just going to magically leap from the desk and get to her? We need to take it somewhere that the Post Office can find it.
 
Tarzan: How about under my pillow?
 
Me: Dont be smart with me, young man. We need to take it and either put it in the mailbox or take it down to the post office.
 
Tarzan: Isnt the mailbox where mail comes *in*?
 
Me: Yes, but the postman will take it out of the mailbox and take it down to the post office if it is already there.
 
Tarzan: Does that mean that if I dont take my incoming mail out of my mailbox by the time the mailman comes again, hell take all my mail away?
 
Me: No, it doesnt work like that. Look, it just works, ok? Just go put it in the mailbox, Im tired of arguing with you. Then go play in the jungle or whatever, just leave me alone.
 
Tarzan: *Sigh* Letter-writing is *hard*!


Title: Re: Standardizing Bitcoin Terminology
Post by: jim618 on December 29, 2012, 06:37:39 PM
Also the need to be able to localise the names of wallets drives you to "Simple English" i.e. using simple, concrete words that can be bolted together. (Like German or scientific names where you just compound the distinguishing shorter words).

For instance "JBOK wallet" is practically impossible to localise - if you translate each word you'll get a completely different acronym in every language. A couple of terms like that and you will have acronym spaghetti.

For multibit I was planning to call "a wallet with a bunch of random keys' as "random key wallets".

What you (etotheipi) are calling "watching only wallets" I was going to simplify to "watch only wallets".


If you look at the taxonomy used in things like medicine and sciences generally the format tends to be either:

<major classifier> <minor classifier> <sub minor> etc

or the same thing ordered the other way round i.e.

<minor classifier> <major classifer> wallet





Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on December 29, 2012, 07:04:25 PM
For instance "JBOK wallet" is practically impossible to localise - if you translate each word you'll get a completely different acronym in every language. A couple of terms like that and you will have acronym spaghetti.

Yeah, I wasn't entirely seroius about JBOK.  I put it up there to get gears turning about what the wallet actually is, and then people can come up with better stuff.  I was just amused by Casascius' suggestion.  Most of the others up there are serious.

Funny you mention localization, I was just looking into that for Armory.  I guess that's another good reason to use simple words -- likely to translate cleanly.

I really don't like "watch-only wallets."  That actually inspired this whole thread, because they're kind clunky and "watch-only" is more of a description than an adjective (or descriptive noun).  I'm really digging "Observer wallets". 


Title: Re: Standardizing Bitcoin Terminology
Post by: DeathAndTaxes on December 29, 2012, 07:09:51 PM
I always thought "one way wallet" sounded better than "watching only wallet". Not only is it shorter on syllables, it's alliterative too (well, phonetically!)

I am a big fan of "observer" wallet, as Eliel proposed in IRC.  But you're right that it doesn't quite capture the fact that you can "do" something with that wallet (generate addresses, receive money).  I'll add "one-way wallet" to the list.  Though I bet there's an even better term for it, that explains which way it goes :)

What about receiving wallet?

BTW I am glad this discussion is being had.  Unlikely it will all be decided in a day but Bitcoin needs its own vocabulary.  I was glad kjj agreed to modify names of RPC calls (no idea if it will ever be integrated into the mainline).

https://bitcointalk.org/index.php?topic=122345.0

As the Bitcoin "ecosystem" gets larger and more diverse, the rough edges need to get smoothed down to avoid it becoming a complicated cluster frak of jargon to the new outsider.


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on December 30, 2012, 12:24:42 AM
I always thought "one way wallet" sounded better than "watching only wallet". Not only is it shorter on syllables, it's alliterative too (well, phonetically!)

I am a big fan of "observer" wallet, as Eliel proposed in IRC.  But you're right that it doesn't quite capture the fact that you can "do" something with that wallet (generate addresses, receive money).  I'll add "one-way wallet" to the list.  Though I bet there's an even better term for it, that explains which way it goes :)

Hmmm, observer wallet works for me too, it takes care of the one-way aspect and the directionality. Maybe "one-way" is a more appropriate fallback description for those individuals with below average abstractive imaginations (computer programmers often forget that their abstract reasoning skills have to be significantly above average). Their next question is almost bound to be "which way?".

Maybe "observation wallet" would be even better, as using the verb form is a little more indicative, as any potential Tarzan may feel the need to ask "who's the observer here?". Or maybe I'm splitting hairs! The majority will decide what sticks in the end, so there's always that fail-safe (let's just hope the majority don't ever settle on something hideously clunky)


Title: Re: Standardizing Bitcoin Terminology
Post by: knight22 on December 30, 2012, 06:14:19 PM
You should make polls for the candidates


Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on December 30, 2012, 06:25:04 PM
For instance "JBOK wallet" is practically impossible to localise - if you translate each word you'll get a completely different acronym in every language. A couple of terms like that and you will have acronym spaghetti.

Yeah, I wasn't entirely seroius about JBOK.  I put it up there to get gears turning about what the wallet actually is, and then people can come up with better stuff.  I was just amused by Casascius' suggestion.  Most of the others up there are serious.

Funny you mention localization, I was just looking into that for Armory.  I guess that's another good reason to use simple words -- likely to translate cleanly.

While I don't have my heart set on it, I was more serious than not with this one: just like JBOD in the disk storage world, JBOK implies it's a sort of hack that lets you make maximum utilization of a hodgepodge of mismatched junk leftovers on the cheap, while considering reliability and fault-tolerance to be a low priority.  Just like JBOD, it also implies that you should only use this technology for things you can easily replace, don't mind losing, or will be protecting in some other way.

If the whole point of choosing a somewhat pejorative term is to convey a sense of deprecation, clean localization isn't quite a must, as long as it's translated into something equally bulky and ridiculous sounding... assuming translation is necessary at all (French people still listen to "MP3" files despite "Motion Picture Group Layer 3" translating to something else with different initials in French, and without regard for MP3 files not being a "motion picture")


Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on December 31, 2012, 04:41:56 AM
You should make polls for the candidates

A poll would be impossible here because of the endless things to vote on.  However, what I've done is bolded my personal preference, and will update as new consensus is reached.

Please help with the more-advanced names.  I can't even think of good names besides "Distribution".  Though names that are descriptive with good abbreviations ("distro") are always good.  But prefer something not too generic. 


Title: Re: Standardizing Bitcoin Terminology
Post by: grondilu on December 31, 2012, 06:05:46 AM
Finding a name for E1 is quite challenging if "deterministic wallet" is too nerdy.

What about a rather poetic image?   I have two in mind:

1.   "Crystal wallet".  Because it can grow from a small seed (just like crystals)

2.   "Phoenix wallet".  Because if you lose it, it's not a big deal since you can recreate it from its ashes (well, kind of)

PS.  I have a big preference for "Crystal wallet", which sounds very cool and is a good metaphor imho.


Title: Re: Standardizing Bitcoin Terminology
Post by: Transisto on December 31, 2012, 08:04:22 AM
Finding a name for E1 is quite challenging if "deterministic wallet" is too nerdy.

What about a rather poetic image?   I have two in mind:

1.   "Crystal wallet".  Because it can grow from a small seed (just like crystals)

2.   "Phoenix wallet".  Because if you lose it, it's not a big deal since you can recreate it from its ashes (well, kind of)

PS.  I have a big preference for "Crystal wallet", which sounds very cool and is a good metaphor imho.
Poetry for a technical term ? No sorry.

Maybe Procedural ? I don't think deterministic is too technical.

Anyway it's not the wallet that's E1 it's the generation of addresses in said wallet.
So Sequentially generated wallet?


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on December 31, 2012, 01:18:32 PM
Finding a name for E1 is quite challenging if "deterministic wallet" is too nerdy.

What about a rather poetic image?   I have two in mind:

1.   "Crystal wallet".  Because it can grow from a small seed (just like crystals)

2.   "Phoenix wallet".  Because if you lose it, it's not a big deal since you can recreate it from its ashes (well, kind of)

PS.  I have a big preference for "Crystal wallet", which sounds very cool and is a good metaphor imho.
Poetry for a technical term ? No sorry.

Maybe Procedural ? I don't think deterministic is too technical.

Anyway it's not the wallet that's E1 it's the generation of addresses in said wallet.
So Sequentially generated wallet?

I prefer "pre-determined". It's an identical concept to deterministic, but I expect it would confuse fewer people. Obvious follow up question for the uninitiated would be "What aspect is pre-determined?". I can't see as many people being confused or put off by the expression.

Another way of looking at it could be to not to distinguish between deterministic wallets and regular wallets, and instead refer to wallets that possess the qualities of either "Calculated addresses" or "Random addresses". 


Title: Re: Standardizing Bitcoin Terminology
Post by: grondilu on December 31, 2012, 02:59:51 PM
I prefer "pre-determined". It's an identical concept to deterministic, but I expect it would confuse fewer people. Obvious follow up question for the uninitiated would be "What aspect is pre-determined?". I can't see as many people being confused or put off by the expression.
"pre-determined" sounds terrible.  People would immediately think that there is someone, somewhere, who can recreate a copy of any such wallet.

I don't think deterministic is too technical.

I actually agree.  Deterministic should be fine imho.  But if we really want something less technical,  I like the crystal metaphor.


What about "reproducible"?


Title: Re: Standardizing Bitcoin Terminology
Post by: justusranvier on December 31, 2012, 03:33:26 PM
I prefer "pre-determined". It's an identical concept to deterministic, but I expect it would confuse fewer people. Obvious follow up question for the uninitiated would be "What aspect is pre-determined?". I can't see as many people being confused or put off by the expression.
"pre-determined" sounds terrible.  People would immediately think that there is someone, somewhere, who can recreate a copy of any such wallet.

I don't think deterministic is too technical.

I actually agree.  Deterministic should be fine imho.  But if we really want something less technical,  I like the crystal metaphor.


What about "reproducible"?
"Permanent"

Deterministic wallets are permanent in the sense that you only need to back them up once.


Title: Re: Standardizing Bitcoin Terminology
Post by: grondilu on December 31, 2012, 03:53:49 PM

What about "infinite wallet"?   By this I mean an analogy with "infinite lists" in programming languages.

Infinite lists can also be called "iterators" or "lazy lists", so the same idea could bring "lazy wallet" or "iterating wallet".



Title: Re: Standardizing Bitcoin Terminology
Post by: cbeast on December 31, 2012, 04:23:08 PM
Hot wallet, cold wallet, air-gapped wallet, deterministic wallet, are terms I use. They will change when technology changes. I like the gun analogy of single and double action for multisig transaction.


Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on December 31, 2012, 04:28:13 PM
Hot wallet, cold wallet, air-gapped wallet, deterministic wallet, are terms I use. They will change when technology changes. I like the gun analogy of single and double action for multisig transaction.

There's plenty of "slang" that can be used.  I know that whatever we decide here will not automatically change the way people talk about these concepts.  It would be fine to even put in the glossary that "Sometimes "offline wallets" are referred to as "cold storage"".  But the important part is that application developers, in their apps, stick to consistent terminology.  Then, new users who don't read the forums have consistency across (and even within!) applications.  I mention "within", because even I've sometimes used different names for these things in different parts of Armory.



Title: Re: Standardizing Bitcoin Terminology
Post by: thanke on December 31, 2012, 04:44:34 PM
Another aspect when talking about properties of "wallets": what about distinguishing between wallets and keyrings? A wallet is typically more than a collection of keys or keypairs. It also contains transaction data, and meta data like accounts. Properties like deterministic, loose, watch-only etc. refer either to a keyring or to an individual key, not the wallet. A wallet could contain several keyrings with different properties.

BTW, I don't think deterministic is too technical.


Title: Re: Standardizing Bitcoin Terminology
Post by: fornit on December 31, 2012, 05:00:57 PM
disclaimer: english is not my first language, so my proposals might suck.

i think observer wallet is not a bad start. problem is, its not really a wallet at all. its not a wallet that observes things, its exactly the other way around. so something like "wallet observer" would be better imho. personally, i like "wallet monitor".

regarding (non-) deterministic wallets, i think it mostly depends on what you want to emphasize. the idea of determinism might be a bit tough to put into any short formulation. "permanent wallet" vs. "loose key collection" contains a good idea imho. why not just call them static and dynamic wallets?


Title: Re: Standardizing Bitcoin Terminology
Post by: jim618 on December 31, 2012, 05:09:15 PM
What about:

+ a wallet contains either random addresses or linked addresses (= deterministic)

+ the wallet can be password protected (= private keys/master wallet key/seed are encrypted as appropriate) or not.

+ using any wallet you can create an observer wallet that is identical except you cannot spend (= no private keys, same deterministic algorithm if used). Maybe a better term is no-spend copy.

These are orthogonal so you could then annotate each wallet with:

+ Icon 1: showing 'randomness' or 'linkedness'
+ Icon 2: showing unencrypted or encrypted (like the MultiBit beta)
+ icon 3: if observer/ no-spend copy show an appropriate icon

You could reuse the icons between apps so that the user sees the same visual metaphor.


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on December 31, 2012, 05:28:28 PM
I prefer "pre-determined". It's an identical concept to deterministic, but I expect it would confuse fewer people. Obvious follow up question for the uninitiated would be "What aspect is pre-determined?". I can't see as many people being confused or put off by the expression.
"pre-determined" sounds terrible.  People would immediately think that there is someone, somewhere, who can recreate a copy of any such wallet.

I don't think deterministic is too technical.

I actually agree.  Deterministic should be fine imho.  But if we really want something less technical,  I like the crystal metaphor.


What about "reproducible"?

I really do disagree. All these 3+ syllable terms are just fine for us here, we have the ability, and more importantly, the inclination to make sense of them. Everyday non-technical types will find it very off-putting. As if there isn't enough convoluted explanations required to help people understand Bitcoin already! And if people don't understand it, they'll either dismiss it or adopt the "watch and wait" attitude. Neither outcome is what anyone here should ideally want. Instead of coming up with the most perfect descriptive terms to satisfy the technical reality, maybe a little pragmatism wouldn't go amiss. We're not going to turn everyone into nerds overnight with our magic bean money, that just won't fly.

tl;dr : grow some mirror neurons!


Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on December 31, 2012, 06:51:24 PM
Are we trying to come up with terms for regular folks or computer folks?  I think the scope of the problem should be defined before really entertaining potential solutions.  If I look at this thread and pretend that we are trying to name a JPEG file, the suggestions sound to me like the following names for a JPEG: "Tri-chromatic quantized raster image".  "Non-palletized discrete cosine color map".   Meanwhile, the rest of the world has settled on calling these "photos", and calling them "JPEG's" where there is any need to make a distinction as to how the picture is encoded.

If I put myself into "regular folks" shoes, there should just be one thing: "bitcoin wallet".  You double click it (just like your e-mail inbox) and there's your bitcoins.  If you received more bitcoins while the wallet was closed, then the computer should think about it for a bit and then the bitcoins appear.  Anything more complicated than that screams "this is for computer experts only".  The Apple computer company has risen to stardom due to their intuitive grasp of this concept, and Microsoft is getting the burial it deserves.

Whether it's deterministic or not shouldn't even be in the regular user's lexicon.  Whether it's random or non-random or whatever, shouldn't be either.  Keep in mind that for the vast majority of users, if you simply tell them that a "bitcoin wallet" has the property of being able to spew out as many receiving addresses as they'll ever need, then they will take that at face value, without needing some sort of adjective qualifying the wallet as having that property.  

From a technical standpoint, what kind of wallet it is should be denoted by the file extension, and the differences between certain kinds of wallets should be assigned certain file extensions (the extensions themselves may or may not stand for anything).

This way, if they need to make a distinction, it might roll off the tongue the easiest by calling it a ".BW3 bitcoin wallet", automatically incorporating by reference the exact nature of the "determinism" and "randomness" inherent in using the wallet, the same way calling a picture a JPEG automatically implies usage of the discrete cosine transform and Huffman encoding without the user having to say or even think about these.

Afterwards, we can say that a ".dat wallet" sucks because (insert list of limitations here), and that for maximum benefit, you should convert it to a .bw3 wallet.  (imagining that a .bw3 wallet has the ability to accept a "JBOK" at the time of creation so payments to old addresses can continue to be received and spent away, but such a wallet will only issue new addresses generated deterministically).


Title: Re: Standardizing Bitcoin Terminology
Post by: jim618 on December 31, 2012, 07:07:12 PM
I agree with you the user should just see a wallet.

I wouldn't use the file extension to determine it's properties though.
In bitcoinj/ MultiBit there are various properties actually in the wallet ( version number, various flags etc) that indicate what it is capable of.

Personally I like having an iconography that shows what a wallet is capable of because:
+ humans are visual creatures
+ good icons are international



Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on December 31, 2012, 07:11:55 PM
Are we trying to come up with terms for regular folks or computer folks?  I think the scope of the problem should be defined before really entertaining potential solutions.  If I look at this thread and pretend that we are trying to name a JPEG file, the suggestions sound to me like the following names for a JPEG: "Tri-chromatic quantized raster image".  "Non-palletized discrete cosine color map".   Meanwhile, the rest of the world has settled on calling these "photos", and calling them "JPEG's" where there is any need to make a distinction as to how the picture is encoded.

If I put myself into "regular folks" shoes, there should just be one thing: "bitcoin wallet".  You double click it (just like your e-mail inbox) and there's your bitcoins.  Anything more complicated than that screams "this is for computer experts only".  The Apple computer company has risen to stardom due to their intuitive grasp of this concept, and Microsoft is getting the burial it deserves.

Whether it's deterministic or not shouldn't even be in the regular user's lexicon.  Whether it's random or non-random or whatever, shouldn't be either.  Keep in mind that for the vast majority of users, if you simply tell them that a "bitcoin wallet" has the property of being able to spew out as many receiving addresses as they'll ever need, then they will take that at face value, without needing some sort of adjective qualifying the wallet as having that property.  

From a technical standpoint, what kind of wallet it is should be denoted by the file extension, and the differences between certain kinds of wallets should be assigned certain file extensions (the extensions themselves may or may not stand for anything).

This way, if they need to make a distinction, it might roll off the tongue the easiest by calling it a ".BW3 bitcoin wallet", automatically incorporating by reference the exact nature of the "determinism" and "randomness" inherent in using the wallet, the same way calling a picture a JPEG automatically implies usage of the discrete cosine transform and Huffman encoding without the user having to say or even think about these.

I've been battling this question myself.

The important question to ask is "what do users interact with?"  Literally, what do they see on the interface?  They interact with "wallets", of various kinds.  They interact with "transactions" and "labels", and "confirmations", and "transaction amounts".  The names need to start simple, and have a hierarchy that accommodates the various gradations of user education.

You can't just call everything a "wallet" with no qualifiers, because that neglects the profound differences between different kinds of wallets.  For users that use nothing more than "online, maybe-encrypted wallets", using "encrypted" or "unencrypted" is all the qualifier they need.  But once you go beyond "standard" usermode, users have options and need to understand what those options are.  And that's a million times easier if there's consistent names between the applications giving them these options.  Armory uses deterministic wallets, Bitcoin-Qt uses "loose-key" wallets -- the user should care that "loose-key" wallets need to be backed up regularly.  In this sense, anything that will show up on the user interface to the 80th-percentile-and-lower user base, should have simple, unique, fewer-syllables-preferred names. 

Things that only matter to developers, can have as complicated a name as they wanted.  "TxOut trees" are fine because developers aren't actually developers if they're not used to things like that.  And "deterministic wallets" are fine for developers.  But for users, especially ESL and not-so-smart users, we need at least something they can call it, even if they don't understand it.


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on December 31, 2012, 07:16:39 PM
Are we trying to come up with terms for regular folks or computer folks?  I think the scope of the problem should be defined before really entertaining potential solutions.  If I look at this thread and pretend that we are trying to name a JPEG file, the suggestions sound to me like the following names for a JPEG: "Tri-chromatic quantized raster image".  "Non-palletized discrete cosine color map".   Meanwhile, the rest of the world has settled on calling these "photos", and calling them "JPEG's" where there is any need to make a distinction as to how the picture is encoded.

More or less how I feel about it too

This way, if they need to make a distinction, it might roll off the tongue the easiest by calling it a ".BW3 bitcoin wallet", automatically incorporating by reference the exact nature of the "determinism" and "randomness" inherent in using the wallet, the same way calling a picture a JPEG automatically implies usage of the discrete cosine transform and Huffman encoding without the user having to say or even think about these.

Afterwards, we can say that a ".dat wallet" sucks because (insert list of limitations here), and that for maximum benefit, you should convert it to a .bw3 wallet.  (imagining that a .bw3 wallet has the ability to accept a "JBOK" at the time of creation so payments to old addresses can continue to be received and spent away, but such a wallet will only issue new addresses generated deterministically).

Now that's a pretty common sense way of dealing with it. File extensions are a great example of computing vernacular that IS accepted by the non-techie crowd, even my folks can distinguish between file extensions and appreciate the bearing they have on the practical use of a computer. They may not have liked it at first (I had a real struggle getting my pop to accept that he need to get this, as well as the hierarchical folder/directory structure concept), but once they do, it becomes an accepted necessity.  


Title: Re: Standardizing Bitcoin Terminology
Post by: jim618 on December 31, 2012, 07:21:05 PM
The last posts by Casascius and etotheipi indicate that classifications should be driven by the functional differences (which are important to the user) and not differences in the underlying architecture (which are important to the developer)


Using file extensions I think is a bad idea as they can be changed by the end user.
Thus you are forced have to have something in the file (magic bytes, the flags I mentioned) in addition to check the structure.
Just call it a ".wallet".




Title: Re: Standardizing Bitcoin Terminology
Post by: DeathAndTaxes on December 31, 2012, 07:30:20 PM
I think some of these distinctions are academic.  The reality is Bitcoin isn't ready for primetime.  I have long believe (that dozens of other revolutionary technology) we are on a decade long timeline to mainstream usage.

random vs deterministic - nobody will care.  By the time Bitcoin becomes mainstream 99.99999999% of wallets will be deterministic.   It would be like classifying computers are binary or trinary.  Who asks if their Dell laptop is a binary computer?  Who worries that the flash game might not work unless they can verify it wasn't written for trinary based machine language? Nobody.  Except for extremely small niches (by technically savy professionals) all wallets will be deterministic.  The risk of losing funds due to out of date or corrupted backup is simply too high for random wallets.  They will fall out of favor like floppy disks.

encrypted vs plaintext "I want to be robbed because I have too much money" - once again nobody will care.  This is money we are talking about.  The fact that there are wallets which are incapable of encryption simply shows Bitcoin isn't ready for primetime.  I would hope and pray this oversight will be long since corrected before Bitcoin becomes even close to mainstream.  Also encrypted is not understand by most people.   "Password protection to keep your funds safe" = sufficient for mainstream users.

Many of the rest of the terms aren't "wallets" they are "features of a wallet".  

watching wallet?  No such thing.  It is simply confusing.  A wallet is something you use to hold money/value.  It would be like calling an ATM receipt a watching "wallet".   Someone up thread nailed it.   There is no such thing as a watching wallet; there are "wallet watchers"!.  It isn't a type of wallet it is a tool, utility, feature of a wallet (or maybe someday ALL wallets).

linked wallet?   Most people will simply see this as a "double key/login/authorization" and understand it is for security.  They won't want to even begin to understand how the phone is actually part of the wallet and the keys from both the wallet and phone need to be both used to produce the valid multi-sig transactions ..... ZZZZZZ ..... ZZZZZ ..... ZZZZ.  Using terminology that users already understand like 2FA or even more simplistically something like "asks for confirmation from your phone".

" .... for even more security xyz wallet will get confirmation of all spending right from your mobile phone.  See this video demo.  [demo of guy spending 100 BTC on his laptop then getting a security confirmation on his phone to authorize or deny]

TL/DR nerds like to classify things, users like to see FEATURES.

Example of a wallet advertisement circa 2020
xyz wallet supports ...
* password protection to keep your funds safe.
* ability to print your own money from any inkjet or laser printer (offline paper key generation and auto transfer).
* supports usb PIN pad to defeat malware and hackers.
* approve or deny all transactions right from your phone.
* daily spending limits.
* remote wallet monitoring ... great for parents.
* optional bitcoin escrow & recovery system (never lose funds again).






Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on December 31, 2012, 07:33:14 PM
I've been battling this question myself.

The important question to ask is "what do users interact with?"  Literally, what do they see on the interface?  They interact with "wallets", of various kinds.  They interact with "transactions" and "labels", and "confirmations", and "transaction amounts".  The names need to start simple, and have a hierarchy that accommodates the various gradations of user education.

Let me compare it to iTunes.  What would a user say he interacts with?

Would a user say he interacts with "media" and "metadata" and "album art" and "playlists"?

Or would he say he uses iTunes to listen to his music, and to organize it, and load up his iPod?

The moment we decide that the user even needs to know he is "interacting with a label", the resulting software is no longer speaking his language.

I submit that the user should be able to use the software without needing to name anything.

You can't just call everything a "wallet" with no qualifiers, because that neglects the profound differences between different kinds of wallets.

Let me compare it to vehicles.  What if I told you you can't just call everything a "vehicle" with no qualifiers, because that neglects the profound differences between cars, buses, trucks, and trains?  Not to mention airplanes?

On the other hand, if I say "vehicle" to you, you probably think of a car.  This is probably because cars are the most popular kind of vehicle that you and everybody you know interacts with.

When deterministic wallets are the norm, the word "wallet" may as well mean one.

For users that use nothing more than "online, maybe-encrypted wallets", using "encrypted" or "unencrypted" is all the qualifier they need.

If I sent you a PDF file and it needed a password, and I called it a "password-protected PDF", you would get it.  So would the average user.  So this is entirely acceptable as a qualifier.

The most important thing here is it is a distinction that is meaningful to the user.  100% of users will care if a password is needed, since it's instrumental to their ability to use the file.

But once you go beyond "standard" usermode, users have options and need to understand what those options are.  And that's a million times easier if there's consistent names between the applications giving them these options.  Armory uses deterministic wallets, Bitcoin-Qt uses "loose-key" wallets -- the user should care that "loose-key" wallets need to be backed up regularly.  In this sense, anything that will show up on the user interface to the 80th-percentile-and-lower user base, should have simple, unique, fewer-syllables-preferred names.  

The average user would be satisfied calling it a ".dat wallet", a ".bw3 wallet", or whatever.

If the user has to stop and ask "wtf is a loose key wallet", you've lost his mind share.  99% of people never ask what does "MP3" stand for, this doesn't stop them from using their iPod.

I would strongly suggest that different kinds of wallets be given names that have no words in them, and leave the job of explaining the technical differences to the documentation.

I accept .wallet as a good extension, but this should be reserved for a wallet type that is a) standardized, b) well accepted by the community, c) has all of the important features we have determined that wallets should have.  At the very least, a user should be able to expect that wallets saved by any application that creates .wallet files can also be read by any future application that reads .wallet files.


Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on December 31, 2012, 07:38:34 PM
Using file extensions I think is a bad idea as they can be changed by the end user.
Thus you are forced have to have something in the file (magic bytes, the flags I mentioned) in addition to check the structure.
Just call it a ".wallet".

I agree on both counts: the software should sense the file type through magic bytes, and the file extension is for the benefit of the user.

This is already pretty common practice and is something I'd assume we'd imitate.  (try renaming a .jpg to .gif, and notice that many things will still open it because they see the magic bytes... the extension simply helped the OS's shell pick the appropriate program to open the file)


Title: Re: Standardizing Bitcoin Terminology
Post by: SgtSpike on December 31, 2012, 08:01:32 PM
I like most of the naming, but pointed out a few that I thought could use changes.

A) Completely disagree with "Online Wallet".  If you're truly trying to make this noob-friendly, then don't use the word "online" with anything that isn't web-based.  When you say "Online Wallet", the first thing people will (generally speaking) think of is a wallet hosted at a website.  I think "Hot Wallet" is the best terminology to use here, though it is still a bit on the geeky side.  Maybe "Live Wallet"?

D1) Call it "Read-only wallet".  People already understand what Read Only means, may as well take advantage of that phrasing for the Bitcoin counterpart.

D2) "Unlocked wallet" is the best noob-friendly term I can come up with.  "Full Wallet" is a vague description and conjures up zero images as to the usage of said wallet to a newbie.

E1) I do like "Chained Wallet", but I think "Seed Wallet" might do a decent job as well.  More and more people know what a computer seed means (from games, random number generators, whatever), so I think it might be good to piggyback on that naming convention.

H) "Proposed Transaction". Simple terms that still do a decent job of explaining what the object is.

I) "Proposed Transaction ID"


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on December 31, 2012, 08:13:16 PM
Ultimately, if major adoption takes off, the type of language that the average user can use and understand might not be that easy to second guess. It's an experiment in collective consciousness of sorts, and just like paradigm shifts of the past, the world will suddenly end up with a few new concepts with words to describe them in it's parlance. As there is a necessary amount of learning to do, regardless of whether someone takes to using the more technical expressions or not, we can be pretty certain that some new expressions will become part of the mainstream. All we can really do is thrash out some sensible ideas. But what sticks will not be decided in this thread! Still a useful bit of brainstorming though, as if we can come up with something truly simple and meaningful with universal comprehension, then I think we'll have done a good job. We still won't be able to get people to use the expressions we come up with though, they're (collectively) in charge of that! 


Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on January 01, 2013, 03:39:00 AM
I think some of these distinctions are academic.  The reality is Bitcoin isn't ready for primetime.  I have long believe (that dozens of other revolutionary technology) we are on a decade long timeline to mainstream usage.

random vs deterministic - nobody will care...

...



This thread isn't about how to make Bitcoin go primetime, or how to best market it to new users.  It's about creating a common language for people that need that language.  Many of these terms may be relics of the past one day, and many of them may never be seen by, or cared about, by grandma.  But there's still plenty of users who need that language, because they're dealing with these things.  Right now.  And a lot of these potential users are people who will help build the foundation of Bitcoin's future.

My goal with this thread is to make sure there's a friendly, coherent landscape for the users of the system, right now.  Just because certain things may be relics of the past doesn't mean that we don't need to be intelligent about naming these things.  The current user base is more advanced, more technical than the average person using text-message.  But so is the current Bitcoin software.  And if there are options for it, we need to at least make it as easy as possible for them to understand it.  When Bitcoin is ready for primetime, I'll let the marketers figure out what to call these things, and what features users want.

I'm someone who is constantly bombarded by users asking what the hell each feature is.  How do I do this?  Is this feature the same as that?  Does it work the same in both this program and that?  While the Bitcoin world consists of complicated options, we need a language to talk about it.  You're talking more about how we'll market these things in the future, and how to choose which options are best for the user.  I'm talking about right now, even while Bitcoin is still manual-transmission...


Title: Re: Standardizing Bitcoin Terminology
Post by: fornit on January 01, 2013, 04:47:06 AM
to all those advocating observer wallets, read-only wallets, no-spend wallets etc:

imho, a good name communicates as much correct concepts as possible and few or none misleading ones. the term "wallet" is already a compromise, emphasizing "you can spend bitcoins with this" but omitting the fact that its not containing money, but permissions. "key collection" would be a different compromise.
so, when you call a thing you cannot spend bitcoins from a wallet, you use it for something that lacks exactly the one concept that made "wallet" a useful word in the first place. the term is completely void of correct concepts. yes, under the hood it looks a lot like a wallet file. in terms of functionality, it has as much to do with with a real life leather wallet as a dolphin or a fruit juice.


Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on January 01, 2013, 05:30:10 AM
to all those advocating observer wallets, read-only wallets, no-spend wallets etc:

imho, a good name communicates as much correct concepts as possible and few or none misleading ones. the term "wallet" is already a compromise, emphasizing "you can spend bitcoins with this" but omitting the fact that its not containing money, but permissions. "key collection" would be a different compromise.
so, when you call a thing you cannot spend bitcoins from a wallet, you use it for something that lacks exactly the one concept that made "wallet" a useful word in the first place. the term is completely void of correct concepts. yes, under the hood it looks a lot like a wallet file. in terms of functionality, it has as much to do with with a real life leather wallet as a dolphin or a fruit juice.


I think your point is dwelling too much on the literal meaning of "wallet", without acknowledging that many things in life, especially in tech, are named after things that they only approximately represent.  I think "wallet" is a perfect euphamism for "key collection that lets you receive and send money"

But you bring up a point that I like:  the "Observer Wallet" doesn't have to be a "wallet".  It could be more like a "collection box" or a "drop slot", etc.  The only problem with that is that it still behaves much like a "wallet", and it's definitely more convenient to bundle it on the list of "wallets" like Armory does.  And, I don't think it's incorrect at all to call it a "wallet" with an appropriate modifier, but you're right it doesn't have to be...

EDIT:  Actually, I'm not so sure I agree with not calling it a wallet.  An "observer wallet" is nearly identical to other wallets, it just happens to be missing one operation.  Users will use it exactly the same way.  And especially for savings wallets, their interactions with it may be 99% the same as a "regular" wallet. 


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on January 01, 2013, 11:02:23 AM
But you bring up a point that I like:  the "Observer Wallet" doesn't have to be a "wallet".  It could be more like a "collection box" or a "drop slot", etc.  The only problem with that is that it still behaves much like a "wallet", and it's definitely more convenient to bundle it on the list of "wallets" like Armory does.  And, I don't think it's incorrect at all to call it a "wallet" with an appropriate modifier, but you're right it doesn't have to be...

It strikes me that there's two approaches then:

1. The more abstract technical terms that can entirely describe the whole concept it's ascribed to in a single word

2. The more anthropo-centric terms that can be understood more quickly an widely, but provide an incomplete picture, and require a secondary explanation to let users really understand

These two approaches recur again and again, although I would understand if everyone would prefer there to be a single term that can satisfy both consumate explanation and universal comprehension. Thta would be the ideal that I think you're after. 


Title: Re: Standardizing Bitcoin Terminology
Post by: etotheipi on January 06, 2013, 03:11:42 AM
I just realized that "multi-sig transactions" are clunky not only because of the unfriendly wording, but also because I don't believe that "transaction" is the way users will understand them.  Every coin in the network has a script attached to it describing how it can be spend.  Most of them require one signature.  Some require multiple signatures.  This is a property of the coins more than it is a "transaction".  Yes, it requires a "multi-signature transaction" to spend them, but users typically think about how they "hold" the coins, not how they spend them.  I've found it much easier to describe to Bitcoin newbies this way.

I think it makes sense to ditch "multi-signature transactions" and, if anything, use "multi-wallet coins", or "split-wallet funds".  Actually, it's probably worth separating out two different terms even though they are both the same concept under-the-hood:

(1) Multi-signature coins that require the signatures of 2 or 3 devices you own:  "double-protected coins", "two-factor coins", "split-wallet coins", "multi-wallet", etc
(2) Multi-signature coins that are serving as escrow between 2+ parties that don't trust each other:  "encumbered coins", "two-party funds", etc.



Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on January 06, 2013, 03:50:47 AM
I actually think multi signature transactions would be well understood because they are the equivalent of multi party checks in the fiat banking world... there is already an existing concept to invoke as a mental prototype.

I might submit that the potentially confusing term is "transaction".  This term makes sense if a "transaction" has been completed, but when it applies to a data structure that's missing signatures or hasn't been sent to the p2p network, it might be better called a "transfer order".

Example usage:

If I want to make a transaction, my bitcoin client creates a transfer order, signs it, and broadcasts it to the network.

I might have paid an address that requires signatures from multiple parties to authorize spending.  For my funds to be respent, one authorized party creates a multi-party transfer order, the other authorized party also signs it, and then the transaction is executed when the completed order is broadcasted to the network.


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on January 06, 2013, 12:34:54 PM
I actually think multi signature transactions would be well understood because they are the equivalent of multi party checks in the fiat banking world... there is already an existing concept to invoke as a mental prototype.

I might submit that the potentially confusing term is "transaction".  This term makes sense if a "transaction" has been completed, but when it applies to a data structure that's missing signatures or hasn't been sent to the p2p network, it might be better called a "transfer order".

Example usage:

If I want to make a transaction, my bitcoin client creates a transfer order, signs it, and broadcasts it to the network.

I might have paid an address that requires signatures from multiple parties to authorize spending.  For my funds to be respent, one authorized party creates a multi-party transfer order, the other authorized party also signs it, and then the transaction is executed when the completed order is broadcasted to the network.

I like it, a transaction is only deemed to be instantiated once a transfer order has had it's signatory conditions satisfied. It just so happens that we've been working with 1-1 signatory requirements up until now.


Title: Re: Standardizing Bitcoin Terminology
Post by: Gavin Andresen on January 06, 2013, 04:35:43 PM
RE: "multisig transactions" :

I did some high-level multisig design work a couple of months ago:
  https://gist.github.com/4039433
and
  https://moqups.com/gavinandresen/no8mzUDB/

... and had these thoughts about terminology:

Quote
Is "Shared Wallet" the right metaphor?

I use the term "shared wallet" to mean: one or more multisignature bitcoin addresses that can receive funds and whose private keys are distributed to more than one person or device.

Perhaps "joint account" or some other banking term would be better.


Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on January 06, 2013, 05:01:22 PM
I would be a fan of "joint account" and "shared wallet" to the extent these refer to single accounts that can be spent with approval from either party, since that's how joint accounts work in the fiat world.  Most people will think of this as husband and wife sharing the same purse.

I would consider them confusing if these terms were applied to an arrangement where both signatures are required.  Rather than being an account that belongs to two entities (people), a typical multisig fiat banking account is a business account that belongs to one entity (a corporation for example) and requires two signatures.  This would never be called a joint bank account.


Title: Re: Standardizing Bitcoin Terminology
Post by: Gavin Andresen on January 06, 2013, 05:12:37 PM
So is there a banking term for an account that requires multiple authorizations for spending?

I ain't never been a CFO or an accountant, so I don't know nuthin about that stuff...


Title: Re: Standardizing Bitcoin Terminology
Post by: Carlton Banks on January 06, 2013, 05:15:38 PM
I would consider them confusing if these terms were applied to an arrangement where both signatures are required.  Rather than being an account that belongs to two entities (people), a typical multisig fiat banking account is a business account that belongs to one entity (a corporation for example) and requires two signatures.  This would never be called a joint bank account.

Indeed, if it could cause any potential confusion as to how it overlaps with existing functional meaning of joint account, then it's a potential turn off. I think it could be a successful metaphor though, perhaps a well laid out GUI driven tool for establishing multi-sig wallets in all their possible variations would be all you need to avoid such a pitfall. Using the maths-ey terminology would obviously harbour potential confusion. I'm thinking little pictorial diagrams to represent the possibilities.


Title: Re: Standardizing Bitcoin Terminology
Post by: casascius on January 06, 2013, 05:49:27 PM
So is there a banking term for an account that requires multiple authorizations for spending?

I ain't never been a CFO or an accountant, so I don't know nuthin about that stuff...


The account itself doesn't have a separate term, but the checks themselves can have two signature lines and the phrase "Two Signatures Required".  This statement is known as a "restrictive legend".  Other examples of restrictive legends include "void if not cashed after 90 days" or "not valid over $500".

Restrictive legends don't have legal force in and of themselves, except where a bank has contractually agreed to honor them.  Although many banks don't offer to enforce restrictions like this, others probably have a "two signatures required" flag as a standard field in accounts.  That said, banks will typically honor them anyway, or at least will typically apply some sort of discretion (e.g. they'd probably let a $50 check slide, and may not even notice the legend due to automated processes involved, but would be far more manual and careful with a $50,000 check).

Even when enforced in this slipshod manner, they effectively deter situations where one person runs off with all a business's or a charity's money.  If a restrictive legend said "two signatures required for over $500", it wouldn't stop someone from cleaning out the account with a series of $499 checks, but it would definitely slow the theft, draw attention, and raise questions, which is consistent with the intent.


Title: Re: Standardizing Bitcoin Terminology
Post by: fornit on January 06, 2013, 08:36:52 PM
So is there a banking term for an account that requires multiple authorizations for spending?

I ain't never been a CFO or an accountant, so I don't know nuthin about that stuff...


i would strongly advice against usage of any terms that only a banker or accountant would know of. "multi-signature transactions" can still be understood by anyone with some basic knowledge of bitcoin and reasonable knowledge of the english language. any banking-specific terms might be understood by a very few extra people with no knowledge of bitcoin, but are a pain in the the ass to look up or translate for any non-native speaker. "restrictive legend" for example is something i never heard of. even with the context of financial transactions i have zero idea what to make of it. its not on wikipedia and the only simple definition i can find is "restrictions on sale".

example: when i finally understand it and get the accurate translation of the banking term in german and someone tries to translate it back without realizing its a financial technical term, he might end up with stuff like "broadcast constraint" or "transmission limit". multi-signature transaction on the other hand consists of words that are probably common in all roman languages.


Title: Re: Standardizing Bitcoin Terminology
Post by: tkembo on October 17, 2014, 08:59:50 AM
I have started working on an ambitious but important project called Bitcoin Dictionary - http://bitcoindictionary.org (http://bitcoindictionary.org).

The problem I am try to solve is that we still don't have a credible source of definitions for Bitcoin-related words. Also, with the Bitcoin-related startups/projects/technologies that are coming up, we have new words being coined every day but we don't have a single place we can go to to find standard definitions of these words.

I notice that you have also noticed this problem too. Would you be willing to contribute to this project?