Giter Club home page Giter Club logo

smriti's Introduction

Smriti

Smriti is an approach to help you transform your 12 or 24 word seed phrases into memorizable ones.

There are 2048 words within the BIP-39 wordlist.

This gives an entropy of $\\2048^{12}=2^{132}$ and $\\2048^{24}=2^{264}$ for the 12 and 24 word seed phrase respectively.

Memorization

While it is difficult for someone to memorize a list of 12 / 24 random words in order,
it is relatively easy for someone to memorize a number of different classes of things.

e.g.

Remember a Movie : Les Miserables

Remember a Fruit : Kiwi

Remember a Bird : Humming bird

Remember a song : The Amen Corner

and so on

The list of such classes (Movie, Fruit, Bird etc.) are ordered which reduces a
burden of the end user.

They only need to remember the names of objects from each class
but has no need to maintain the order in their head.

Construction

So the math works out to

$\\{N(c_{1})}*{N(c_{2})}*{N(c_{3})}*...*{N(c_{m})}=2^{132}$

$\\{N(c_{1})}*{N(c_{2})}*{N(c_{3})}*...*{N(c_{m})}=2^{264}$

for the 12 and 24 word seed phrase respectively

where we have m different classes of things to memorize, with

$\\{N(c_{i})}$ is the number objects in class i

If we assume each class to have the same number of objects,

$\\{N(c_{1})}={N(c_{2})}={N(c_{3})}=...={N(c_{m})}$

this table lists how many different classes we will need

Number of classes (m) for 12 word seed phrase for 24 word seed phrase
10 9411 88550677
11 4097 16777217
12 2048 4194304
13 1140 1297851
14 690 474861
15 446 198669
16 305 92682
17 218 47296
18 162 26008
19 124 15232
20 98 9411
21 79 6087
22 65 4097
23 54 2853
24 46 2048
25 39 1510
26 34 1140
27 30 878
28 27 690
29 24 551
30 22 446
31 20 367
32 18 305
33 16 257
34 15 218
35 14 187

In reality not all the classes will have the same number of objects but the table gives us a rough idea of how easy it will be to create a memorizable set of classes.

For example, it is very easy to create 30 classes with 446 elements each.

However memorizing 30 different objects is very hard for the end user.

On the other hand memorizing only 10 elements is easy for the end user,
but constructing 10 classes with 80 million + elements is not easy.

e.g. We were able to compile a list of international movies of only 45000+ elements.

Suggested classes

Right now I am constructing the list of classes and elements within each that will make your seed phrases memorizable. Here are some suggestions

  • Movies
  • Birds
  • Historical Figures
  • Song / Music

Contributions are welcome as pull requests or discussions in Github issues.

Feel free to reach out to me at my website

smriti's People

Contributors

a7i7 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.