- From: Christopher Allen <ChristopherA@lifewithalacrity.com>
- Date: Tue, 14 Dec 2021 12:28:31 -0800
- To: Credentials Community Group <public-credentials@w3.org>
- Cc: Wolf McNally <wolf@wolfmcnally.com>
- Message-ID: <CACrqygCkMXzpUjsg028u0MH0qqkw-quwJ3JdvoQT0uOhxNs-CQ@mail.gmail.com>
Credentials Community: Blockchain Commons has recently released a website at lifehash.info that demonstrates our LifeHash functionality and that can be used as a tool and API to generate LifeHashes for arbitrary strings or SHA-256 hashes. What's LifeHash? It's our method of applying Conway's Game of Life to SHA-256 digital hashes to create a beautiful visual hash that can be used to aid in the identification of the original data. We first demonstrated the functionality in Rebooting the Web of Trust demos and have since matured it into a robust tool, similar to Ethereum Blockies but with higher resolution (and some careful attention to grayscale reproductions). We think this is an important UX tool for improving the human readability of computer identifiers. That's because we humans can't match digital hashes in a meaningful way. A visual hash offers something more recognizable to the human eye and brain. Of course, a LifeHash is intended as an adjunct to existing methods. Computers should still match hashes when they can, and visual confirmation of classic digital hashes should still be offered as an additional option. The ultimate goal with LifeHashes is to complement computer authentication with accurate human authentication. Although LifeHashes was designed to aid in the identification of cryptocurrency objects such as seeds, private keys, and public keys, they have much wider applicability. They can be used for any sort of data, including a DID, a deep link, or a URL. They can also be used to verify calculations, especially when they might differ between two computers. LifeHashes are especially useful for airgapped scenarios, where data is being passed from one computing device to another, such as between two phones or a phone and a desktop computer. This is often done with QR codes. So imagine a QR code with a LifeHash beside it: the first is unreadable, but the second can attest to the other's veracity. If you'd like to see what our visual LifeHashes look like or to test out LifeHashing of your data, please visit our new LifeHash.info page: https://lifehash.info Or watch a short video: https://www.youtube.com/watch?v=cu0K__KLxKo We have reference libraries so that you can implement LifeHashes in your own code: * C/C++ Library: https://github.com/BlockchainCommons/bc-lifehash * Swift Library: https://github.com/BlockchainCommons/LifeHash * WebAssembly version is available inside the C/C++ repo: https://github.com/BlockchainCommons/bc-lifehash/tree/master/wasm We designed our iOS/Mac application Gordian Seed Tool https://apps.apple.com/us/app/gordian-seed-tool/id1545088229 as a reference implementation for other developers, and it demonstrates some UX best practices for displaying cryptographic information. We have more info at our LifeHash hub repo that points to all the different resources: https://github.com/BlockchainCommons/lifehash.info We know that LifeHashes on their own aren't a perfect solution, but as an adjunct to existing solutions, we believe that they can improve security in a way that's supportive of the human experience. We are eager to work with you to examine more use cases, to investigate with you how they can be used in existing workflows, such as those associated with QRs, and to integrate LifeHash into your tools. If you have any questions about how best to implement LifeHash, and get some great eyes on your use of them in your UX, please contact me or @Wolf McNally <wolf@wolfmcnally.com>. If you'd like to talk to us about this, our open infrastructure efforts, or something else, please drop us a line. This is one of many specifications and reference code that Blockchain Commons https://www.BlockchainCommons.com has released to create a digital infrastructure that is open, interoperable, secure, and compassionate. Please support our continued development of interoperability specifications for cryptographic apps by becoming a monthly Sponsor on GitHub at https://github.com/sponsors/BlockchainCommons. -- Christopher Allen Blockchain Commons P.S. Another repo you might find useful if you are doing airgapped DIDs/VCs/ZKP is our recent QRCodeGenerator library, which offers a more efficient QR generation in Swift: https://github.com/BlockchainCommons/QRCodeGenerator.
Received on Tuesday, 14 December 2021 20:29:23 UTC