What are programmable Key Pairs?
Programmable Key Pairs are a set of keys that are mathematically connected. Programmable Key Pairs (PKPs) are a sophisticated cryptographic tool that combines the benefits of traditional key pairs with programmability, allowing developers to customize and automate various security processes.
These keys are used in public Key cryptography or asymmetric cryptography where one of the keys(private key ) is kept confidential by the owner and is used for decryption and signing, and the second key (public key) is openly distributed on the network and used for encryption and verification.
Lit Protocol lets you create and manage distributed cryptographic key-pairs for condition-based encryption and programmatic signing. A decentralized key management network, Lit can be used in place of centralized key custodians and other key management solutions.
A High Level overview of Programmable Key Pairs(PKPs)
What sets PKPs apart is the programmability layer added on top of these keys. This layer allows developers to define rules, logic, and conditions for key usage and management.
Customizable Rules and Policies:
Developers can create rules that dictate when and how the PKP can be used. For example, a rule might specify that the private key can only be used for signing transactions during a specific time frame or under certain conditions.
Automation and Self-Management:
PKPs can automate key rotation, revocation, and other security tasks based on predefined rules. They can also adapt to changing security requirements without manual intervention.
The Different Use Cases for PKPs
PKPs are incredibly versatile and find applications in various domains. They are commonly used in blockchain networks for managing cryptocurrency wallets and ensuring secure transactions.
Private and Permissioned data is introduced to the open web using decentralized encryption. Lit is used to provide decryption keys to users based on on-chain conditions such as ownership overs a specific NFT or membership within a DAO.
Some examples of applications that can (and have) been built harnessing this functionality include Web3 Apps with private data such as Orbis Club which enables “friends-only” content and encrypted messaging, Lens which enables permissioned data for Web3 social, Starling Lab for Token-gated data achive,Streamr: Private data marketplaces, Gather :Powering private virtual spaces for your team, IPFS: Encrypt content for private storage on IPFS and so on.
Adding Token gating to Web2 Apps
PKPs use on-chain credentials to get access to favorite web2 applications and data ie token gated Zoom calls, adding access control requirements to Google Drive files, Gate access to WordPress sites and pages, Blockchain-based access control for your online Shopify store and so on.
Programmatic Signing and Automation
They reduce the risk of human error in key management and ensure keys are only used when and where necessary. Automation helps respond to security threats swiftly.
PKPs and Lit actions are also being used to bring automation and interoperability to the web for example using them to automate interactions in decentralized finance.
In IOT(Internet of Things)
In the IoT (Internet of Things), PKPs can secure device communication and authentication.
HOW TO GET STARTED FOR DEVELOPERS
This step by step guide will show you how to integrate Programmable Key pairs(PKPs) into whatever you are building whether a Decentralized Application, protocol etc.
- Make Sure you have metamask extension installed. If not go ahead and install it by following the link.
- Add Chronicle to Metamask or the wallet extension being used.
Chronicle is Lit Protocol’s custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system.
i) Click on Metamask extension and Click on the Button that shows the network you are currently using: Apopup that shows you all the Networks and Testnetworks you have integrated into Metamask will popup and Click on the “add Network Button”. If the button is not visible, scroll to the buttom of the popup to bring it in view.
In the new Tab that loads click on Networks ->Add a Network and fill in as follows.
Network Name: Chronicle – Lit Protocol Testnet
New RPC URL: https://chain-rpc.litprotocol.com/http
Chain ID: 175177
Currency Symbol: LIT
Block explorer URL (Optional): https://chain.litprotocol.com
Currency Decimals: 18
Click on Save.
If we are all here it is awesome.
Change the default Network to the newly set Chronicle-Lit Protocol Testnet.
You can now request for Lit test tokens from the Lit faucet to help you carry out transactions on the test network. NOTE: These tokens are not real but they are fake and their purpose is to help you in executing transactions during your development.
3. Mint A Programmable Key Pair (PKP)
For you to mint a PKP, go to https://explorer.litprotocol.com/, connect your wallet, select MINT NEW PKP and Click on the Mint Button.
Then authorize the transaction with default network set to chronicle and the Mint is complete.
- Click on View your keypair to view you PKP or Click on PKPs under categories.
- You can as well verify the transaction at https://chain.litprotocol.com/
With these newly created PKP, a developer can now use them in Authentication, Using them with Lit Actions, Using them as wallets, Connecting them to DAPPs and so on.
With this I hope to intrigue and kickstart you as a developer into Programmable Key Pairs with Lit protocol. If you want to dive deeper, Find the developer documentation at this link :https://developer.litprotocol.com/