Do we know the identities of all of the 21 block producers? If not, then how were they voted into place?
Do we know the identities of all of the 21 block producers?
We don't necessarily know anything about the identities of BPs besides the account names and the public key(s) corresponding to their accounts.
regproducer subcommand that allows users to register as BPs have optional flags to indicate a URL and a location for the BP. Thus, BPs often use the URL field to link to a page where they provide more details about their identities and motivation for being voted.
If not, then how were they voted into place?
Any user can check all registered producers as their details are stored in the blockchain state and can be queried (
$ cleos system listproducers). From there, a user can vote for the BPs they want identifying them by their account names (
$ cleos system voteproducers prods <voting-acount> <producer-accounts>).
so users are voting based on how a username looks as many of the BPs are anonymous?
I wouldn't claim to know what criteria people use for voting, but all 21 active BPs right now have a URL published that reveals information about their teams. Further, there are various tools that can be used to track BP performance, and people may use proxies to vote for them based on certain criteria. Similarly, criteria such as geographical distribution and community engagement may be used when considering whom to vote for, but, ultimately, the voters may indeed cast their votes based on anything that they wish.