Brain-Generated-Private-Keys (BGPK): Neural States as a Method for Private Key Generation

Brain-generated private keys offer a source of randomness that's far less likely to be snooped on than computational random number generators.

Private keys are essentially very random passwords used in cryptographic algorithms. They can be generated through a recording sample taken from a brain.  Brain-generated passwords are ideal because an individual’s connectome may show sufficient variation to prevent a hacker from all-out network attack (Kelly et al. [2012]). The far greater number of states in the human brain (2^210,000,000,000) versus typical cryptographic algorithms (2^256) are encouraging for this endeavor. If a (quantum) computer were ever powerful enough to guess a private key generated by an implant-stored algorithm, the network would collapse.

To evaluate the potential of neurons for private key generation, recordings from 384 to 640 neurons were taken from rhesus macaque primates during a center-out task (Li et al. [2009]). Data was sorted into 10ms and 100ms bins. A neuron that had fired within the bin window was given a ‘1’, while those that were quiet were given a ‘0’. For each time window, the neurons were randomly sorted into groups of 32, constructing a 32-bit number based on firing state. Over 14 million 32-bit numbers were generated in this manner. After excluding 0 (the 32-bit number), each of the 14 million numbers were unique.  However, the greater prevalence of the ‘0’ bit-state (quiet neurons) resulted in a non-uniform distribution (Figure 6), invalidating this rudimentary method as a means for private key generation.


Figure 6: The top panel depicts a histogram for the distribution of the total dataset of 32-bit numbers, sorted into 300 bins. The middle and bottom panels depict histograms for two particular days of recording, sorted into 300 bins. The non-uniform distribution in each case indicates a vulnerability in private key generation.

While only 32-bit numbers are utilized here, fully uniform 32-bit numbers can be concatenated to create larger numbers, and thereafter, significant computational barriers for private key guessing. It is important to use a dataset as uniform as possible, or else attacks can be utilized which make use of the most commonly-generated numbers. Simplifying to the 32-bit-state allows for increased sample size and more efficient data processing.

A second approach utilized a combination of biological and computational means. Using MATLAB’s random number generator, a neuron that had been given a ‘0’ bit-state had a 25% or 35% chance of being altered to a ‘1’. Figure 7 depicts a new level of uniformity of the dataset. While the data is increasingly uniform, the partial reliance on a random number generator is somewhat concerning. Fortunately, this combination is much more secure than simply using a random number generator on its own. With the neurons partially-generated by a persons brain, the advantages to individuality are maintained without full reliance on a random number generator.


Figure 7: a) Full distribution for neurons that had a 25% chance of changing their bit-state from a ‘0’ to a ‘1’. c) Full distribution for neurons that had a 35% chance of changing their bit-state from a ‘0’ to a ‘1’. It is probable that the “sweet spot” lies somewhere between 25% and 35%.

A third approach was again purely biological. This time, the number of times a neuron had fired in a particular bin was used to influence the bit-states in the neuron’s past bins. In Figure 8a, if a neuron had fired greater than twice in a particular bin, the previous three bins for that neuron had their bit-state set to ‘1’. In Figure 8b, if a neuron fired x times in a particular bin, x previous bins were set to ‘1’. There again appears to be increased uniformity when just comparing these two mechanisms, but not enough for private-key generation. It is possible that a variant of this mechanism could be used, however, the storage and manipulation of past neural recordings offer a potential security vulnerability, as a hacker may be able to edit the stored bit-states to a private key of their choosing. Real-time private-key generation is preferred for optimal security.


Figure 8: a) Full distribution for active neurons that, after firing at least three times, had their previous three bins changed from a ‘0’ to a ‘1’. b) Full distribution for neurons that had x previous bins set to ‘1’, where x is the number of spikes in a particular bin. In this case, bins were not “changed” from 0 to 1 – if a neuron already had a ‘1’ in a previous bin, the bin was included in the x count. Comparison between a) and b) shows increased uniformity.


Figure 9: a) Full distribution for outputs in which the results of two random neurons were merged. If either neuron had at least one spike, a ‘1’ was recorded, otherwise a ‘0’ was recorded. b) Full distribution for a similar case in which three neurons were used. There appears to be slightly more uniformity in the 3-neuron case, indicating that grouping neurons could produce increased uniformity.

A final approach merged neurons. If either of two neurons had a spike, a ‘1’ bit-state was recorded. A similar method was used for three neurons. Outside the first peak in Figure 9, there appears to be increased uniformity elsewhere in the dataset. This is promising because merging neurons offers no potential security vulnerabilities. When recording from 1,000 neurons, 10 neurons may be merged to offer a possibility of 2100 bit-states. This still exceeds the 277 offered by most private-key generation algorithms. As the number of recorded neurons increases, one can expect merged neurons to play a greater role in private-key generation.

This paper explored a simple binary model in a small number of neurons. The simple, real-time characteristics of this method is enticing because it allows more time for spike sorting and does not “hide” potential vulnerabilities behind a complex algorithm.  However, utilizing a stored random number generator may be a security vulnerability (Figure 7), as is minor data storage (Figure 8). Further research into merging neurons (Figure 9) should be conducted to determine whether a fully-uniform dataset can be constructed. It is anticipated that as the number of recording neurons increases, so will the ability to generate private-key generation algorithms from neurons. Note that specific motor movements did not consistently elicit particular private keys. This can be explained by the immense amount of noise rampant within the brain.

  1. Conclusion

Encapsulated within each of us is a relatively untapped, multi-billion dollar supercomputer. Our brains are capable of performing particular tasks with a power-efficiency and computing-strength greater than any arrangement of hardware. They are also incredibly talented at recognizing what makes us human, offering potential for a proof-of-cognition protocol to tie digital identities to biological ones. Additionally, an identity-based blockchain offers a safer means of data communication than a centralized server, which can be hacked. Unfortunately, our understanding of the brain lags significantly behind our understanding of machines. Further research into neural engineering may prove that a brain-to-brain network will exponentially increase humanity’s collective intelligence.


Reference: proof-of-cognition-implants , published May 2015. Disclaimer: Project Oblio’s mechanism does not rely on brain implants, but the mechanisms of action are the same. An early version of the paper provably exists in bitcoin address 13eeMVU5fXNfZdoBk5z4fEAbgSH9MawQ6H.

Liveness-detectable biometrics, and cybersecurity

How can we use liveness-detectable biometrics to provide computational barriers to creating fake accounts and fake votes?

Network security today is more difficult than it needs to be, largely because it must be based on the assumption that a single user can hold multiple accounts or multiple IP addresses. The one commonality between e-mail spam, DDOS attacks, presidential election meddling, and blockchain fees is that they’re all based on a single person holding multiple accounts. This person may submit multiple forum posts, multiple http requests, or multiple high-fee cryptocurrency transactions for the sole purpose of attacking or clogging the network, ruining it for everyone else. You might know this just as “spam”, or as “fake news”.

If there were a walled garden of the internet where each user was guaranteed to have provably one account, based on their biometricity, just like in the real world. You could also ban users who spam the network with these inexpensive requests, and could hold each person’s posts to a higher degree of accountability (people wouldn’t submit fake news if they couldn’t shed their post’s biometric signature). In blockchain, the real reason blockchain payments aren’t cheaper than say Visa for millions of users is due to this fact; People are clogging the network with low-priority payments and spam payments.


So, building a biometric internet isn’t really that simple. You can’t just say “here’s my fingerprint, now create my account”, because a fingerprint is really just an image file. An attacker could copy the scan of your fingerprint and pretend to be you very easily, otherwise this would have been done before.

What you need is a signal that exhibits biometricity, unique features that identify you, but is also a liveness challenge, a puzzle that basically asks “are you human?” and “are you actually there, right now, submitting this biometric signal?”.  If what you submit equates to a yes, you can enter the garden. If you’ve ever had to type in numbers on a street sign, or crooked letters in all caps, or anything that’s like “I’m not a robot”, that’s a liveness challenge (Google’s reCAPTCHA). It’s a liveness challenge, but it doesn’t tie you to one account because it doesn’t exhibit biometricity. There’s nothing biological to distinguish your response from that over other users — it guarantees one person per computer, but it doesn’t guarantee you’re going to act honestly once you’re inside, because you’re still anonymous. A liveness challenge that also exhibited biometricity would ensure that whatever biometric signal you were submitting, like a fingerprint, wasn’t copy and pasted from a file, but rather the signal was generated quite recently, from an actual human being behind their computer screen.

A simple example of a challenge that exhibits both liveness detection and human detectability might be to have some sort of public ledger that is a string of random values, like a blockchain. Each block contains a random hash value that you can use to derive 20 random words out of a list of 1000. These words are derived from the hash value, meaning there is a relation between the block’s hash and this new, presentable stimulus. You could then present these 20 random words to a user and tell them, “quick, say these 20 random words out loud!”. A person says the words and their voice, which is unique to them, is recorded and propagated across the network, where it is confirmed by nodes to be a biometric unique to them. It’s a liveness challenge because it’s difficult for a computer program to generate audio that (1) exhibited biometricity and (2) contained words seeded by a very recent block (i.e. the computational power to generate this may expensive if the seeding block was found quite recently). The fact that you were able to say the words so quickly would indicate that the signal wasn’t generated in advance, or before the random value was submitted, which is a sign that the words came from a live human. A person’s voice is a good (but not great) biometric, so it exhibits biometric features as well.


Everything discussed so far is great, except for the fact that the NSA and big tech companies have been collecting voice data for years and would be really good at generating a voice simulation to say those 20 words within 3 minutes (or three seconds). We learned from the Titanic that nothing is ever going to be 100% secure, so voice data definitely has a role in our network, but as a more future-proof liveness challenge/biometric, imagine now you’re inputting an electrical signal that was generated based on a block hash. The signal passes over a user’s skin near their left ear and comes out their right ear. The signal as it leaves the right ear still contains elements of the original signal, but it has been modulated based on the unique biological properties of your skin. We then digitize the analog signal so that it can be transmitted to a network of computers which analyze it.


The most efficient blockchain will be one where every single user has provably one account. Decentralized systems are plagued by spam, so if you can unclog the network from these spam attacks, you can make the fees cheaper for everyone. Right now credit card companies take 2% off every transaction, a financial network with 0% fees is obviously going to be preferable; Money will always flow to the space with highest liquidity (unless it’s prone to corruption like EOS). To build this one-person-one-vote network you need a biometric that exhibits liveness, and one method for doing that is described here, using the unique properties of brainwave biometricities.

A long-term validation metric can be used as an appendage to this, as pioneered by Basically, to validate that data isn’t faked, a machine learning algorithm (over a time-consuming process) determines which data improves its recognition rates and which do not. If it were possible to fake out a machine learning algorithm with bad data, then ML theorists would already be doing it, and nobody would be paying for data. Thus, the most stable foundation for a network like this ultimately (and ironically) relies on artificial intelligence (in the long-term / for cementing transactions) as well as fluid biometrics and a reputation system (in the short-term / for immediate payouts).

Finally, we provide a financial incentive for identifying fake accounts based on biometric signals by creating a challengers-verifiers market. People are motivated by financial reward to check each biometric signal submitted and verified by block producers. Block producers are expected to submit fake data 1% of the time and distribute new oblio as a reward. See our github for the latest spec on this component.

Keep an eye out for our next post, where we’ll be delving into the fully-blockchain-compatible algorithm that reached higher identification rates on brainwaves than any other study we’ve seen.