Digital Wallets, Vaults and standards

Key Points

  1. Key blockchain alternatives to Hyperledger include: Ethereum, Quorum, Corda
  2. Hyperledger Fabric has implemented EEA ( Ethereum Enterprise Architecture ) Enterprise stack and can call Ethereum smart contracts now
  3. Biser Dimitrov's EBC newsletter: https://enterpriseblockchain.substack.com/   


References

Reference_description_with_linked_URLs________________________________Notes_______________________________________________________________
Wallets and tokens
https://drive.google.com/open?id=16YzIZpOCFDTR4E0SW5EZ31sdQViWJhE7

a redeemable bitcoin token for ERC-20 wallets w transaction interop


Hashicorp Vault Tutorial ** - secure mgt of credentials for client apps

Secure store for credentials, passwords, certs and other secrets

control, monitor secret access 

gives apps an ephemeral credential for sessions ( dynamic secret )

strong revocation controls for each single server

encrypt as a service ( encrypt, decrypt, sign, key rotation )

Vault can configure secure storage, provide credentials for any app needing creds, json msgs

Hashicorp EOS Consul Service Mesh Directory software ***


Hashicorp Trust White Paper 

HashiCorp_ZTS_Whitepaper digital.pdf. link

HashiCorp_ZTS_Whitepaper digital.pdf file

igitalHashiCorp_ZTS_Whitepaper digital

https://www.linkedin.com/posts/hashicorp_never-trust-always-verify-meet-zero-trust-activity-7041460041735974912-Esd_?utm_source=share&utm_medium=member_desktop




Ethereum Concepts
_compare-fabric-v-ethereum-v-corda-180914122948.pdf_compare-fabric-v-ethereum-v-corda-180914122948.pdf




https://www.ethereum.org/beginners/Ethereum for beginners
https://www.ethereum.org/Ethereum
https://en.wikipedia.org/wiki/EthereumEthereum
https://medium.com/blockchannel/life-cycle-of-an-ethereum-transaction-e5c66bae0f6eEthereum transaction concepts
https://bitfalls.com/2018/05/31/what-is-an-ethereum-testnet-and-how-is-it-used/How to use Ethereum testnets

https://www.bloomberg.com/news/articles/2021-08-14/bye-bye-miners-how-
ethereum-s-big-change-will-work-quicktake

Ethereum changes coming: POS, shards, lower gas, burn ether pdf

Ethereum changes coming: POS, shards, lower gas, burn ether


https://hackernoon.com/costs-of-a-real-world-ethereum-contract-2033511b3214Estimated costs of an Ethereum contract - 2017

https://www.slideshare.net/Synerzip/blockchain-application-development-101

blockchain-application-development-webinar-sweetbridge-190905082233.pdf

Blockchain App Development Concepts 101 - slideshare - sweetbridge


https://ethgasstation.info/Gas station - current gas prices to run a transaction ... expensive
https://hackernoon.com/costs-of-a-real-world-ethereum-contract-2033511b3214calculating gas prices
https://ethereum.stackexchange.com/questions/35539/what-is-the-real-price-of-
deploying-a-contract-on-the-mainnet
Costs of a contract deployment
https://entethalliance.org/enterprise-ethereum-alliance-advances-web-3-0-era-public-release-enterprise-ethereum-architecture-stack/EEA
https://entethalliance.org/wp-content/uploads/2018/05/EEA-Architecture-Stack-Spring-2018.pdfEEA stack
https://entethalliance.github.io/trusted-computing/spec.htmlEEA Off-Chain Trusted Computing Spec






AWS
QLDB slides - 2019QLDB slides - 2019

AWS Hosted Fabric BAAS











Key Concepts




Ethereum Wallet Types drive NFT features

https://www.linkedin.com/posts/prasannalohar_nft-token-standards-erc-20-erc-721-activity-6873128552569692160-lm-2

These standards have a great impact on the development of the ongoing NFT schemes.  


ERC-20 (2015) : 


- It introduces the concept of fungible tokens that can be issued on top of Ethereum once satisfying the requirements. 
- ERC-20 is a fungible token used for identical entities
- The standard makes tokens the same as another one (in terms of both type and value). 
- An arbitrary token is always equal to all the other tokens. 
- This stimulates the hype of Initial Coin Offering (ICO) from 2015 to present.  
- Creating stablecoins (Tether, USDC and DAI are a few of the prime examples), ICO (Initial Coin Offering),  

ERC-721 (2018) :


- It introduces a non-fungible token standard that differs from the fungible token.  
- This type of token is unique that can be distinguished from another token. 
- It provides a unique opportunity for creating a marketplace for artists, gamers or basically anyone who has something valuable or unique to sell
- Further, the tokenId can be used as an input to generate special identifications such as images in the form of zombies or cartoon characters


ERC-1155 (Multi Token Standard) (2019) : 


- It extends the representation of both fungible and non-fungible tokens. 
- To sum up, ERC-1155 is the hybrid between ERC-20 and ERC-721
- It provides an interface that can represent any number of tokens. 
- In previous standards, every tokenId in contact only contains a single type of tokens. For instance, ERC-20 makes each token type deployed in separate contracts. 
- ERC-721 deploys the group of non-fungible tokens in a single contract with the same configurations. In contrast, ERC-1155 extends the functionality of tokenId, where each of them can independently represent different configurable token types. 
- ERC-1155 is the Secure Token Transfer 

Due to its unique utilities, we can foresee more and more projects taking on the ERC-1155 standard.

An illustration to show their structures and aforementioned differences

No alternative text description for this image


ERC 4337 - Account Abstraction

https://www.coindesk.com/tech/2023/03/01/ethereum-activates-account-abstraction-touted-by-founder-buterin-as-key-advance/

The Ethereum blockchain has deployed a feature known as “account abstraction,” seen as a key enhancement that could make it easier for users to recover crypto if they lose private keys to an online wallet.

This proposal just adds a new layer atop Ethereum’s mainnet layer. The goal is to eventually integrate account abstraction into the main protocol.

The contract can be used on all EVM chains, meaning it can be deployed anywhere that is EMV-compatible.

Account Abstraction is a concept that turns users' wallets into smart contract accounts, in order to make Ethereum wallets more user-friendly and to prevent any loss of crypto keys

How Account Abstraction works

  • On Ethereum, users can create two types of accounts that hold their crypto: External Owned Accounts (EOA) and Contract Accounts (CA).
  • EOAs, which most Ethereum users opt for, are the type of account you use if you open a MetaMask and Coinbase Wallet.
  • With EOAs, users are given a pair of private and public keys, and anyone can send crypto to an EOA using their public key. On EOAs, only the owner of their account, the person who has access to their private keys, can initiate transactions.
  • CAs on the other hand, are accounts controlled by code – not private keys – so they cannot initiate transactions themselves.
  • The issue with EOAs comes down to human error – if a user loses their private keys, there is no way to recover that. Account Abstraction addresses the issues of an EOA account by merging it with a CA – therefore creating built-in mechanisms that can allow users to keep access to their crypto.
  • Some of these built-in mechanisms include a social recovery system, where several users have the ability to return access to that account should someone lose their personal private key. Account Abstraction also allows users to create “multisig wallets” that give a group of users access to an account, and require multiple users to sign off on transactions as an extra safety mechanism.


1) An insightful deep dive from Devcon 2022 on Account Abstraction as a paradigm and its several innovative use cases:

https://archive.devcon.org/archive/watch/6/account-abstraction-making-accounts-smarter/?tab=YouTube

2) A walk through on how account abstraction as a paradigm and its design approaches, evolved through time:

https://medium.com/nethermind-eth/the-history-and-future-of-account-abstraction-10cb097ebdc8


Wallet security challenges



https://www.researchgate.net/publication/332113623_Wallet_Payments_Recent_Potential_Threats_and_Vulnerabilities_with_its_possible_security_Measures

Wallet Payments Recent Potential Threats and Vulnerabilities with its possible security Measures-136-IJCSE-05577.pdf


https://securityboulevard.com/2021/09/threats-grow-as-digital-wallets-gain-popularity/

securityboulevard-2021-09-threats-grow-as-digital-wallets-gain-popularity.pdf


https://vikaspedia.in/e-governance/digital-payment/tips-for-securing-your-digital-payments/securing-e-wallets


tips-for-securing-your-digital-payments/securing-e-wallets.pdf


https://www.darkreading.com/mobile/who-s-in-your-wallet-exploring-mobile-wallet-security

who-s-in-your-wallet-exploring-mobile-wallet-security.pdf


Wallet Concepts






Ethereum Concepts



Ethereum Enterprise Architecture

Hyperledger Fabric has implemented all Enterprise features in the Ethereum Enterprise Architecture in version 2.1x



Web3.js frameworks for Ethereum, smart contracts, whisper & swarm protocols

https://web3js.readthedocs.io/en/v1.2.0/getting-started.html

The web3.js library is a collection of modules which contain specific functionality for the ethereum ecosystem.

  • The web3-eth is for the ethereum blockchain and smart contracts
  • The web3-shh is for the whisper protocol to communicate p2p and broadcast
  • The web3-bzz is for the swarm protocol, the decentralized file storage
  • The web3-utils contains useful helper functions for Dapp developers.

Adding web3.js

First you need to get web3.js into your project. This can be done using the following methods:

  • npm: npm install web3
  • meteor: meteor add ethereum:web3
  • pure js: link the dist/web3.min.js

After that you need to create a web3 instance and set a provider. Ethereum supported Browsers like Mist or MetaMask will have a ethereumProvider or web3.currentProvider available. For web3.js, check Web3.givenProvider. If this property is null you should connect to a remote/local node.

// in node.js use: var Web3 = require('web3');

var web3 = new Web3(Web3.givenProvider || "ws://localhost:8546");

That’s it! now you can use the web3 object.


Web3j.lib - java version of Web3js lib




Bitcoinlib - wallet, with multi signature, multi currency and multiple accounts

https://bitcoinlib.readthedocs.io/en/latest/

Bitcoin and other Crypto Currency Library for Python.

Includes a fully functional wallet, with multi signature, multi currency and multiple accounts. Use this library to create and manage transactions, addresses/keys, wallets, mnemonic password phrases and blocks with simple and straightforward Python code.

You can use this library at a high level and create and manage wallets on the command line or at a low level and create your own custom made transactions, scripts, keys or wallets.

The BitcoinLib connects to various service providers automatically to update wallets, transactions and blockchain information.

Wallet

This Bitcoin Library contains a wallet implementation using SQLAlchemy and SQLite3, MySQL or PostgreSQL to import, create and manage keys in a Hierarchical Deterministic way.






EEA Off-Chain Trusted Computing Spec

https://entethalliance.github.io/trusted-computing/spec.html

This document specifies APIs that enable off-chain Trusted Computing for Enterprise Ethereum. In this release, The Trusted Computing specification enables privacy in blockchain translations, moving intensive processing from a main blockchain to improve scalability and latency, and support of attested Oracles

This specification has four objectives:

  • Support private transactions on a blockchain between mutually-untrusting parties without disclosing transaction details to other parties who also have access to the blockchain.
  • Support disclosure of selected information to chosen parties on a blockchain, while maintaining the secrecy of other information from those same chosen parties ("selective Privacy").
  • Move intensive processing from a main blockchain to an off-chain Trusted Compute capability thereby improving throughput and scalability.
  • Support Attested Oracles.

These objectives are achieved by executing some parts of a blockchain transaction off the main chain in off-chain trusted computing. There are currently three types of Trusted Compute that are supported by this specification:

  • Trusted Execution Environments (Hardware based)
  • Zero-Knowledge Proofs (Software based)
  • Trusted Multi-Party-Compute (MPC) (Software/Hardware based)

The APIs are grouped in registration, invocation and receipt handing sections. Attested Oracles are considered a special application of Trusted Compute used to create increased trust in an Oracle, and can be implemented using the defined APIs.



Article on EEA TCE

https://blog.chain.link/driving-demand-for-enterprise-smart-contracts-using-the-trusted-computation-framework-and-attested-oracles-via-chainlink/

Blockchains can greatly enhance their capacity to meet enterprise requirements around privacy and scalability by using Chainlink oracles to route transactional computation off-chain to the Trusted Computation Framework (TCF).

advantages and limitations of public blockchains, as well as outline the TCF architecture and how attested oracles via Chainlink can enable bi-directional connectivity between on-chain and off-chain environments. To demonstrate how this system works, we detail three industry uses cases in finance, insurance, and global trade in which TCF, Chainlink, and underlying blockchains can work in unison to improve backend business processes and reduce costs for both enterprises and consumers.

Key Points on Ethereum Public Blockchains
  1. the infrastructure that powers multi-party transactional contracts. They offer a shared computational platform that stores, maintains, executes, and settles the contract for all parties involved. Participating parties can neither decommit from their obligations nor tamper with the process once the contract is set in motion on the blockchain
  2. No need to trust counterparty or trusted 3rd party
  3. Data-driven Contract deliverables can automatically be confirmed in many cases ( eg payment, shipments, receipts etc )
  4. Lower cost, friction, time to settle with smart contracts
  5. Better transparency and traceability ( provenance ) on origins ( eg Food Trust network tracks lots )
  6. KYC compliance possible with Self-Sovreign Identities and Zero-Trust Knowledge proofs on public chains where supported
Challenges to overcome on public blockchains
  1. Scalability ( to fit specific use cases )
  2. Privacy
  3. On-chain data scope

Off-chain data, privacy and execution needed to meet these challenges.

Integration with smart contracts needed via trusted agents or oracles.

Trusted agents option

  1. Trusted agent is invoked by client apps or services
  2. Agent executes in trusted environment and can access both off-chain data and services as well as on-chain contracts and data
  3. Agent executes at top level, invokes contract as a service passing required data to the contract including

Oracles option




New Confidential Computing Solutions Emerge on the Hyperledger Avalon Trusted Compute Framework



Blockchain App Development Concepts 101 - slideshare - sweetbridge

https://www.slideshare.net/Synerzip/blockchain-application-development-101

blockchain-application-development-webinar-sweetbridge-190905082233.pdf




Potential Value Opportunities



Potential Challenges


Ethereum has been slow to deliver, losing ground to other platforms

https://cryptopotato.com/ethereum-problems-hinder-its-leadership-defi-world-experts-say/

Faced with the difficulties of delivering a satisfactory user experience, Ethereum developers are beginning to move to rival blockchains that have capitalized on this app migration to expand their reach and increase their own market capitalization.

Blockchains like Solana, Binance Smart Chain, and Avalanche have seen a significant rise during 2021, cementing themselves as more efficient alternatives to Ethereum and its upgrade to Proof of Stake that is not quite there yet.

According to Nicholas Merten, creator of the YouTube channel DataDash, Ethereum’s advantage of being the blockchain used by all is losing ground as time goes on.

Candidate Solutions



Step-by-step guide for Example



sample code block

sample code block
 



Recommended Next Steps