## Near protocol proposal
Resources:
- https://www.figma.com/file/6yEZiWONcF7cUnrt8pgg3j/Wallet-Selector-UI?node-id=2431%3A19024&t=ywxWQ56A1eyJM8hs-1
Questions:
- How does provider work today ?
- How does the account modal/abstraction work in near ?
- https://medium.com/nearprotocol/an-introduction-to-near-accounts-f96cb84ef091#:~:text=NEAR's%20account%20model%20and%20its,scalable%20blockchain%20underneath%20it%20all.
Answers:
- Providers are global API's injected by Web3 wallets into websites and Dapps at window. object (eg: window.ethereum). Provider allows websites to request users' blockchain accounts, read data from blockchains the user is connected to, and suggest that the user sign messages and transactions. At present, Near has a wallet selector to allow Near Dapps to use third-party wallets to sign transactions.
- https://github.com/near/wallet-selector
- Account modal/abstraction in near:
Near has 2 types of accounts
Implicit accounts: These are analogous to EOA accounts in Ethereum. Near uses the ED25519 algorithm for key management.
Account abstraction is achieved in Near with Explicit accounts and access keys.
Explicit accounts: These are analogous to Contract Accounts in Ethereum.
Near wallet allows the creation of explicit accounts provided there is at least 1 Near token.
Near account is not limited by pubkey/privkey, instead, accounts allow multiple access keys that can have different access levels.
Full access key: Non-limiting and is stored on browser storage in near wallet.
Function call key: Limited access, predefined gas limits, methods and contract address. It can eliminate the need to reauthorize the app every time since the key is limited to a particular contract.