Cryptography is at the core of cryptocurrencies and in order to secure transactions you need a method to verify the integrity of information being transferred. This is where public and private keys come in and how NEAR differentiates itself from other blockchains.
Private and public keys are basically used to decrypt encrypted messages. When compared side by side in simple terms a public key is used to verify a transaction when requested. While a Private key should remain secret and focus on authorizing the transaction.
Wallets are a great example of public and private key usage. Where the public key is a destination to receive tokens and the private key is needed to send the tokens. Think of it like email, you have a set “address” to receive emails but in order to read and access them you need your password, like a private key. If someone has access to your private key then they have access to your funds.
You may be familiar with a wallet address(public key) like this:
(Random address with numbers +- ) 0xa27dd6056fa89bsdce1602f306c3d756b2441e68
A little complicated and hard to remember don’t you think?
Introducing native human-readable accounts on NEAR. Instead of a long string of numbers and letters NEAR allows you to create an account name as your identifier on the blockchain.
Jackie.near - NEAR account human-readable identifier 0x12345xxxxxxxxxxxxx…. - Other blockchains identifier
For each account you are able to create multiple keypairs(public/private) known as “Access Keys” the difference is these keypairs are permission based. Meaning each keypair can give certain levels of permission to dApps.
The two primary Access keys are:
Full Access Keys As the name implies this access key gives you full control of an account. The NEAR wallet is an example that utilizes the Full Access Key. You essentially have administrative rights. Send and receive, delete accounts, deploy contracts and create additional keys.
FunctionCall Access Keys These keys have a bit more limitation and for good reason. In order to protect users from bad actors these keys require the users approval prior to any NEAR wallet transaction. As well as limits the amount of gas(transaction fee) usage by the smart contract. This opens up interesting possibilities for developers and users. For example, eliminating the need for a user to authorize small transactions over and over again by having a default gas allowance.
The blockchain space and cryptocurrencies in general can be intimidating. By having human-readable names by default NEAR makes their ecosystem more accessible and user-friendly from the start. If the industry is going for mass adoption then useability, onboarding and familiarity need to be addressed. The NEAR Protocol aims to fill this void with its account system.
To read more about NEAR Protocol accounts and access keys take a look at their docs HERE