What is Blockchain?
- A record of keeping systems
- Trust
- Decentralization
- Trustless environment
How does Blockchain work?
- Announcements
- Blocks
- Nodes
- Chaining
- Verification
- Consensus
- Scalability
- Privacy
- Crypto hashing
- Digital fingerprinting
- PoW versus PoS
Blockchain Types
- Public versus private
- Open versus closed
- Smart contracts
- Blockchain as history
- Tokens/coins
- Gas
How is Blockchain different from what we have today?
- Decentralization
- Peer-to-peer architecture
- Software versus firmware
- Database versus Blockchain
- Distributed database or other technology?
- Data sovereignty
- Group consensus
Blockchain Use Cases
- Use case examples
- Currency
- Banking
- Voting
- Medical records
- Supply chain/value chain
- Content distribution
- Verification of software updates
- Law enforcement
- Title and ownership records
- Social media and online credibility
- Fractional asset ownership
- Cable television billing
- High fault tolerance
- DDoS-proof
- Public or private Blockchain?
- Who are the participants?
What does a Blockchain app look like?
- DApp
- Resembles typical full stack web application
- Any internal state changes and all transactions are written to the Blockchain
- Node.js
- IDE
- Public Blockchain visibility
- Private Blockchain solutions
- Oracles
How do I design a Blockchain app?
- What does the solution need to let users do?
- Will the proposed solution reduce or remove the problems and pain points felt by users?
- What should this solution prevent users from doing?
- Do you need a solution ready for heavy use on day 1?
- Is your solution idea enhanced by the use of Blockchain?
- Does the use of Blockchain create a better end-user experience and how?
- Has your business developed custom software solutions before?
- What level of support are you going to need?
- How big is the developer community?
- Does your vision of the future align with the project or platform’s vision of the future?
- Does the platform aim to make new and significant contributions to the development space, or is it an efficiency/cost play?
- Should the solution be a public or private Blockchain?
- Should the solution be an open or closed Blockchain?
- Create a plan for contract updates and changes
- Hybrid solutions
- Monetary exchanges?
How do I develop a Blockchain app?
- Agile approach pre-release
- Define guiding principles up front
- Software versus firmware
- Announcements, not transactions!
- Classes, not contracts
- Link contracts to share functions
- Use calling contracts to keep contract addresses the same
- Hyperledger versus Ethereum
- Consider the number of users and number of transactions per user
- Should a blockless solution be applied?
- Performance
- Security
- Anonymity
- Monolithic versus modular
- Sandwich complexity model
How do I test a Blockchain app?
- Recommendations
- Security
- Networks (Ethereum)