The Pillar Wallet — Current State and the Vision for 2019
TL;DR: In the following article, I outline Pillar’s product vision and planned functionality for 2019 starting with larger, long term goals and moving to soon-to-be-released features. The following addresses our intended support for multiple blockchains, smart contract accounts with enhanced security, identity management laying the foundation for the Personal Data Locker and our off-chain first design approach as a way to solve known network scalability and user experience challenges. I also address specific user feedback including enhanced connection functionality, biometric login, Pillar’s in-wallet offers exchange and our upcoming referral program to help drive wallet installs. Much of the following functionality has legal and/or network upgrade contingencies outside of our control and may impact our timeline or priorities accordingly. This list is not intended to be final and we expect there can and will be changes.
The Pillar Project recently launched its first product, the Pillar Token Wallet, which lays the foundation for the development of the Pillar personal data management platform and services ecosystem. I am excited to share with you a detailed product vision that will extend upon the token wallet functionality and increase the overall utility of the PLR token and platform.
Table of Contents
- Multiple Blockchain Support ⛓
- Decentralized Key Management 🔑
- Smart Contract-Based Wallet Accounts 🎉
- Self Sovereign Identity 🆔
- Multiple Persona Support 😎
- Social Account Recovery 🆘
- Decentralized Data Storage + Account Back Up ☁️
- Off-Chain First Design ⚠️
- Reserved Account Addresses 📬
- A Path to Self-Custody 🔐
- Addressing Mass Adoption 🔰
- State Channels 🤝
- Decentralized Relayer Network 🔩
- Upgraded Connection Functionality 👫
- Crypto Collectible + Non-fungible Token Support 👾
- Game of Badges 📛
- Biometric Login 👆
- WalletConnect 🔗
- Offers Exchange 💱
- Referral Program 📣
- Special Thanks 🙏
Multiple Blockchain Support ⛓
Our first step, driven by strong user demand, is to increase the number of blockchains supported in our wallet. We recently hosted the NEM, Digibyte and Radix teams at our offices in London for a hackathon in order to explore integration with our platform. Due to this collaboration, particularly with the Digibyte team, we have also been evaluating integration of other UTXO coins including Bitcoin, Litecoin, etc. For those unaware, Pillar has developed its own open source blockchain explorer in order to provide increased visibility and functionality for token transfers. The first iteration of our blockchain explorer was focused on the Ethereum network including ERC20 tokens, however, we are now extending support for other standards (ERC721) and blockchains.
Decentralized Key Management System 🔑
In order to provide support for multiple blockchains, we need to develop a robust key management system. This will allow user wallets to maintain and control multiple private keys for different blockchains. It also allows wallets to have many different associated Ethereum keys + addresses as well, so that not all funds are stored in a single key and associated with a single address.
Smart Contract-Based Wallet Accounts 🎉
In the current Pillar Token Wallet design, there is a 1:1 relationship between username and ETH address. Funds are stored directly in private keys and each wallet’s private key is held and maintained locally on device. However, Pillar is working to upgrade all wallets to smart contract-based accounts.
Utilizing smart contracts for user accounts provides numerous security and functionality benefits. Specifically, it will allow user funds to be stored in a contract while the private key lives separately on a user’s device. This highly reduces the vulnerability of complete loss by separating funds and keys. Smart contracts also allow users to enable multi-signature protection, set daily spending limits, require secondary confirmation for large transfers or set up (learn) security parameters to flag and hold any strange transfer requests (automagically).
User funds will soon be stored in smart contracts while private keys live separately on a user’s device, highly reducing the vulnerability of complete loss.
Self-Sovereign Identity 🆔
The need for a proper key management system is also driven by the goal to offer our users a federated identity solution. The concept of owning your own data means the ability to store, access and manage your information as you determine. The advent of blockchain has facilitated this possibility by providing a root of trust and allowing for the fluid movement of identity without the need for each platform acting as a centralized custodian. The Pillar wallet will act as a decentralized key manager allowing each user to control which aspects of their identity to assign, store and share for a particular use. In the past, society has often thought of identity as an all-encompassing concept. With decentralization, we can enable each user to create and manage their identity through a series of independent, decentralized identifiers known as DIDs. By doing so, we will allow for separation of identity, persona, and context.
The Pillar wallet platform will act as a decentralized key manager allowing each user to control which aspects of their identity to assign, store and share for a particular use.
Multiple Persona Support 😎
Each account will include a wallet-specific smart contract that maintains all logic with multiple underlying persona-specific proxy contracts to manage identity. All contract accounts will have a primary username with numerous associated personas. Users will be able to independently associate specific personal information, contacts and functionality (recovery, limits, etc) with each persona. Each persona is managed by its own proxy contract that holds the state and interacts with the root, wallet contract. At a user level, this provides easy control of all funds without needing to manage separate wallets specific to each persona. Personas are designed to represent separate, blanket identity associations allowing a user to easily manage related groups of contacts (i.e. family, friends, coworkers, etc.)
Social Account Recovery 🆘
One key security benefit of smart contract accounts is the ability to set up social recovery. Users can empower known Pillar contacts, hardware wallets, or third party service agents with limited permissions to help with account recovery should something go wrong. Even missing your phone and seed phrase, it would now be possible to recover your wallet and funds completely. You could even provide permission to social contacts to lock a wallet account in the case of emergency. In general, a user will be able to set varying permission levels for any proxy contract that may interact with their wallet account.
Even missing your phone and seed phrase, it would now be possible to recover your wallet and funds completely.
Decentralized Data Storage + Account Back Up ☁️
As users begin to build out their personas and associated identities, a decentralized data storage solution will be required in order to allow for backup and easy recovery of personal information. That said, its particularly important that Pillar utilize an off-chain storage solution as any information that is stored on-chain will be publicly exposed forever. While permanent and public transaction data is one of the core benefits of blockchain technology, it has the potential to circumvent identity platforms that are designed to preserve privacy. With the growth of machine learning, the ability to analyze publicly-available blockchain data for correlations is becoming easier and more prevalent. This approach can be used to expose an individual’s identity and tie it to transactions or other blockchain events such as dapp login and usage.
In order to satisfy user storage needs, but protect from such potential threats, Pillar will offer a user-managed, cloud-based storage solution based on 3box. 3box is an open source data storage solution for web3 that allows end users to manage their public and private information on the decentralized web. User data is stored on IPFS (InterPlanetary File System) and managed via OrbitDB. Each user’s information including personal identifiers, chat history, etc. will be encrypted with access available only to the account with the correct private key and/or authorized permission. Users will be able to easily backup and share their information without compromising privacy.
Each user’s information including personal identifiers, chat history, etc. will be backed up and encrypted with access available only to the account with the correct private key and/or authorized permission.
Off-Chain First Design ⚠️
On-chain data not only presents challenges from an identity and privacy perspective, but also when it comes to general network health and scaling as well. It is the goal of many dapps and blockchain projects including Pillar to achieve millions of users similar to the popular web2 applications of today. However, as evidenced most famously by the launch, success and resulting network congestion caused by the release of Cryptokitties, the Ethereum network is not yet capable of supporting millions of concurrent, on-chain users for even a single decentralized application, let alone many.
Solving network scalability problems also directly solve usability challenges as well. As anyone who has ever tried to purchase or acquire cryptocurrencies knows, it is not a very intuitive experience. Navigating the current web3 requires a moderate understanding of decentralization and how blockchains operate, as well as the importance of private key ownership and choosing the right wallet solution. Even more confusing, you need to own ETH in order to use it or any tokens/collectibles that operate on the Ethereum network. Taking an off-chain first design approach, we can solve many of these challenges and offer a better overall user experience.
Reserved Account Addresses 📬
With the upcoming Ethereum blockchain fork, one of the specific improvement protocols being adopted is EIP 1014, also known as CREATE2. CREATE2 is primarily designed to solve scalability problems and enable Layer2 solutions, however, one additional benefit is the ability for developers to pre-determine and reserve smart contract addresses without actually deploying them on-chain.
Once the fork is complete and CREATE2 is live, Pillar wallets will be able to come standard with smart-contract based accounts that start off-chain. Users will be able to transact with others, set up account recovery and more all before the contract is actually live. As James Young notes, “CREATE2 makes contract addresses as easy to generate as keys,” which provides much greater functionality and lower risk to novice users. Users no longer have to immediately concern themselves with private key security as Pillar can directly act as a recovery agent should a user lose access.
A Path to Self-Custody 🔐
Pillar will offer the option to act as a centralized recovery agent for new accounts, however, users will still retain primary control over their funds with the ability to remove access keys and take complete control over their account at any point. Any attempt by Pillar (or any other limited-permission key holder for that matter) to access or move user funds will prompt a permission request to the primary account holder. At that point, the user can choose to revoke access, remove Pillar’s control of the account, and have complete self-custody.
Addressing Mass Adoption 🔰
It is important to keep in mind that every user is different and if we hope to onboard millions to the world of direct, personal data ownership, Pillar needs to facilitate an onboarding experience and security options that users are familiar with. CREATE2 provides Pillar with a valuable tool to allow users to choose their level of comfort and engagement until they understand the risks involved and are ready to take complete control over key management. Most importantly, it allows for an onboarding and application experience that lives entirely off chain, solving network scalability challenges and providing a path for mass adoption/usage. Contract deployment can be delayed until users accrue enough value in their wallet without preventing them from engaging in asset transfers with the rest of the Pillar ecosystem.
If we hope to onboard millions of users to the world of direct, personal data ownership, Pillar needs to facilitate an experience and security options that users are familiar with.
State Channels 🤝
With a solution for off-chain account creation provided by CREATE2, we can easily provide a path for off-chain transactions as well. Most users have been conditioned to expect immediate payment confirmation for digital money transfers, however, truly decentralized blockchains are slow due to requiring block confirmation. Users also do NOT expect to pay transaction fees as the cost to operate traditional payment networks are generally absorbed by the service provider, however, it costs gas to maintain a decentralized network like Ethereum. These are two major hurdles in the path to mass adoption of cryptocurrencies as a competitive digital payment alternative.
State channels in their basic form are simply private payment channels. Two users agree to stake a certain amount of cryptocurrency or tokens to a mutually shared smart contract. They can now transfer funds back and forth, drawing from each’s staked contract value. They can keep this channel open as long as they want. Transactions occur off-chain, so they are not subject to network fees (gas). They also happen instantly because they do not require confirmation from miners. At any time, either party can choose to close the channel and withdraw the funds from the original smart contract. Once a party requests to close a channel, they send a message to print the final balance to the blockchain. Any dispute that may arise is handled by a challenge period. The challenge period can be for any duration, but is generally suggested at a week in order to provide enough time for each party to submit their most recent transaction record. The most recent transaction would be seen as correct and have the final say in the dispute. All individual transactions between the two parties remain private. It is only the final total that is made public when submitted on-chain. This would be the digital equivalent of opening a bar tab, spending freely and then closing the tab only when you are ready to leave the establishment.
By acting as a state channel hub, Pillar can allow all of its users and service providers to open payment channels with each other without being directly involved or knowing the specific balance of each. State channels will provide a way for users to transact assets with connections instantly, privately and for free (until the channel is closed and gas is required to print the final balance on chain). Additionally, in a robust ecosystem full of users and services, like the one we are building at Pillar, there is much less of an incentive to close a channel.
State channels will provide a way for users to transact assets with other Pillar wallet connections instantly, privately and for free.
Decentralized Relayer Network 🔩
Pillar also wants to make on-chain transactions as easy as possible for our wallet owners and specifically incentivize PLR token ownership and use. Instead of having to pay for gas using ETH, Pillar is developing a relayer network, based on EIP 1613, that will incentivize the payment of network fees in PLR instead. Pillar will operate the first initial relayer, but will invite third parties to also offer relay services in order to cultivate a competitive market with multiple providers.
Relayers will post their fee, denominated in PLR, in order to handle the gas costs required to post a transaction on-chain. Upon agreement, relays will accept a signed transaction + PLR fee from the user, wrap the signed message in ETH to cover the gas, and send a successful confirmation message back to the user ensuring that the transaction will be posted without waiting for the block to be mined. Failed transactions are quickly identified and the user is notified. At that point, users can then choose a different relay. Performance will be tracked and allow users to select a relay based on reputation, as well as price.
A smart contract that acts a relay registrar, known as a RelayHub, will be deployed in order to manage all offers and transactions between relayers and users. In order to participate, all relayers will be required to stake ETH in order to prevent denial of service or censorship attacks. In the words of TabooKey, the team behind EIP 1613, “Honest relays will earn fees and dishonest relays will lose their stake. The network is censorship resistant as long as there is at least one honest relay.”
The addition of a relayer network will allow for a more intuitive user experience, while also increasing the overall utility of the PLR token. More relayers increase the decentralization of our platform and also offer an additional layer of transaction obfuscation and privacy. A decentralized relayer network provides a great business opportunity for third-parties to offer a valuable and needed service to Pillar wallet users.
A decentralized relayer network will allow for a more intuitive experience by allowing users to pay network fees in PLR token, while also increasing the decentralization of our platform.
Although these are our stated long term goals, due to the reliance on network upgrades, potential regulatory restrictions and more, we cannot make any guarantees. We do, however, promise to continue pushing forward building the best product possible for our community and customers given a constantly changing legal landscape and market conditions.
Now that I have shared a bit of the longer term vision and goals for the Pillar Project in the coming year, allow me to touch on some of the more immediate updates that you can expect coming soon to a wallet near you.
Upgraded Connection Functionality 👫
First and foremost, we are working hard to expand the wallet’s existing social connection management features. In the near future, users will now have the ability to mute, block and delete connections. While this is normally rather simple application functionality to implement, we hold user privacy to the highest standard. As such, it has been important for us to design and implement a system wherein Pillar does not retain specific connection details while still allowing our users to easily manage their contact list. The Pillar connection database is based on decentralized identifiers (DIDs) and is obfuscated in such a way that we cannot tell which users are connected to which. Sorry over-reaching government agency, we couldn’t tell you user connections details even if we wanted to (we don’t). We have also begun to explore group chat functionality as we know this will be a huge benefit to our users and community.
The Pillar wallet user connection database is based on decentralized identifiers (DIDs) and is obfuscated in such a way that we cannot tell which users are connected to which.
Crypto Collectible + Non-fungible Token Support 👾
We are currently working to support the ERC721 token standard in order for users to store and manage crypto collectibles or non-fungible tokens (NFTs) directly in wallet. We believe there is massive potential for NFTs across multiple use cases including art, game assets, digital collectibles, financial instruments like mortgages or invoices and more. Our first step will be implementation of the Opensea.io API, which will allow us to easily fetch a variety of non-fungible ERC721 assets to display in Pillar wallets.
Game of Badges 📛
Our current wallet users are familiar with many of the social features that we have chosen to develop in order to make the crypto experience more intuitive including easy asset transfer via usernames (vs. alphanumeric address strings), encrypted chat based on Signal protocol and more. Our next step is to provide a fun way to earn achievements and establish reputation. Our first implementation of collectibles will come in the form of badges. Users will be rewarded for engaging in certain actions (wallet creation, back up, first transaction, etc.), being a part of a particular community (Pillar development team, community ambassadors, beta testers, etc) and more. These badges will live as non-transferrable collectibles tied to a specific username allowing users to signal reputation and share accolades with their contacts. Not only does this provide a fun gamification layer to wallet usage, but we believe it will help to prevent malicious actors from impersonating, scamming or phishing other users. Welcome to the Game of Badges!
Biometric Login ☝️
Another feature that our users have been requesting is biometric login and transaction signing instead of the current pin code implementation. We have already started development on this and expect to have it completed shortly. Users will now be able to quickly and easily unlock their wallet using thumbprint or face ID instead of needing to type in their pin every time — a particularly useful update for those consistently using the encrypted wallet chat functionality.
Next up, Pillar is collaborating with Pedro Gomes to integrate the new and improved WalletConnect. WalletConnect is an open protocol for connecting desktop dapps to mobile wallets using end-to-end encryption by scanning a QR code. Instead of using cumbersome and confusing browser extensions like MetaMask to sign transactions, users will now be able to use their Pillar wallet directly. Users should also never enter their private key in order to engage with dapps and WalletConnect is the solution. After much feedback and research, Pedro has decided to update the WalletConnect protocol in order to increase security, privacy, offer push notifications and more. It also extends the use of WalletConnect from dapp-to-wallet to include wallet-to-wallet connections, as well as eCommerce and point-of-sale transactions as well. Pillar is excited to be among one of the first mobile wallets to integrate the new and improved WalletConnect implementation.
Instead of relying on cumbersome and confusing browser extensions like MetaMask, users will now be able to login to dapps and sign transactions directly from their Pillar wallet.
Offers Exchange 💱
I know that many of you have been patiently waiting for the integration of an exchange directly within the wallet. As you can imagine, the challenges in offering this functionality are primarily driven by legal and jurisdictional complications. That said, we have been working hard on a solution and have already started testing a proof of concept for quick and easy token transfers.
The Pillar wallet exchange model is more accurately described as a decentralized offers engine and operates very similar to that of Shapeshift where users control their private keys at all times. When purchasing, users will first choose a base currency or token, then select the token they wish to buy. They will be presented with offers from pre-qualified market makers based on their parameters. When a user accepts an offer, the transfer is executed. In the case of a sale, a user sends a specific token and the market maker sends back the appropriate amount of purchased tokens based on the offered exchange rate. There will be multiple market makers placing buy/sell offers on the exchange with Pillar’s sister company, 2030, acting as the first. Initially, all offers will be market orders, but we expect to offer limit orders in the future as well.
In order to use the exchange, users will need to pay a subscription fee in Pillar tokens. We anticipate this fee to initially start at roughly one pound or euro per month. When the subscription runs out, users will be asked to renew, otherwise, they will no longer be able to utilize the exchange functionality. That said, it will always be free to purchase PLR tokens in ETH (but not the other way around). Pillar will waive all fees associated with users buying PLR tokens. We will also never take a cut of the spread.
Pillar will waive all fees associated with users purchasing PLR tokens with ETH and we never take a cut of the spread on any transaction.
Due to legal advice and the tenuous nature of crypto regulations, we intend to enforce Know Your Customer (KYC) rules including basic identity verification before users can trade through our exchange. This KYC process will also satisfy the requirement of other regulated/institutional services offered in the Pillar wallet. All personal information will live under the user’s control and will only be shared when required and at the user’s discretion. For legal compliance reasons particularly regional restrictions, we cannot guarantee that all users will have access to the exchange. This is still being evaluated.
Referral Program 📣
Last, but not least, its time to start spreading the word! What better way than by rewarding our users and their friends for trying out what we believe to be the most intuitive mobile wallet available on the market. We will shortly be introducing a referral program that will reward users for inviting others and those who sign up to create a new account.
Pillar is partnering with Volcà to offer a linkdrop referral program which allows users to invite others using just a link. Linkdrops are similar to airdrops except that the receiver does not actually need to have a wallet. Claim links unique to each user will be generated in wallet and shared in any form a user chooses — text, email, skywriting, etc. prompting the receiver to install the Pillar wallet and create an account. Specific reward details and how to participate will be announced shortly. We hope that you are as excited as we are to spread the word about the current Pillar wallet and all of the new, upcoming features, but a few extra PLR couldn’t hurt, eh?
Special Thanks 🙏
It is important to emphasize that Pillar is an open source project and we intend to work with many of the talented researchers, developers, designers and overall smart minds across the blockchain and decentralized identity industries. A special shout out and big thank you to the following teams and people for their contributions and support in helping us to realize our vision so far:
Tarmac, E-Bros, HackerOne, Zimbani, iMAS, NEM, Digibyte, Radix, uPort, 3box, OpenSea, Volcà, the MetaCartel, IPFS, OrbitDB, James Young, Pet3rpan, Pedro Gomes + WalletConnect, Yoav Weiss + TabooKey, and of course the entire Pillar team and community — particularly our ambassadors!