Certified Solution Architect Flashcards
Name a language that can be used for each layer in a dApp
Front - HTML
Middle - JavaScript
Blockchain - Solidity
What are function modifiers?
Can be used to limit access to or use if a function based on an account/node
What is Ganache used for?
In memory blockchain testing (runs a simulated node)
A DApp resembles a typical …………………..
Full stack web app
Describe a dApp front end
User interface for interacting with your blockchain dApp
No special technology front-end requirements Presentation layer: HTML/CSS Mobile app Even Alexa
Describe the technology of a dApp middle layer
Interface between the UI and the blockchain
Can use:
Node.js
Server side code
All comes to and from the blockchain is in byte-code
Middle layer abstracts the bytecide with JS libraries (e.g. Truffle)
What is contained in a dApp middle layer?
Validation and exception handling
Business logic should live in this layer
Which languages can you use for the middle layer?
Solidity/Viper to write the contracts
Describe the blockchain layer of a dApp
Biggest learning curve
Contracts can call other contracts
What is a centralised ledger?
Contains all the transactions
Controlled by a single entity
Double-entry accounting is…
A record for tracking debits and credits.
Blockchain is…(3)
A record keeping system
An event tracking system
A workflow platform
Changing the data on any block will result in……..
A different hash
Group Consensus is reached when how many members agree?
51% or more
Blocks in Blockchain are “chained” together by:
By hashing the previous block and embedding that hash into the new block’s header
Give 3 examples of Blockchain transactions
Two or more parties, exchange of monetary value such as cryptocurrency.
Two or more parties, but no exchange of monetary value such as updates to medical records.
One party announcing an important event such as supply chain management, business process automation, creation/auditing of financial records.
A decentralized ledger acts as a …………………….., like a bank.
trust broker
Blockchain was documented and released via a whitepaper by:
Satoshi Nakamoto
Blockchain provides the same services as a traditional bank, except for:
Providing Certificates of Deposit
Hyperledger and Ethereum both went live in which year?
2015
What are the benefits of Blockchain?
Trust
Security
Decentralization
Immutability
In Proof of Work consensus what happens when you add another node to the network?
Security time is increased by 1/N
Transaction time is increased by 1/N
(where N equals the number of nodes on network)
The Private Key does what?
Used to sign any transaction that might be made by the holder of the key pair
What is Cryptographic hashing?
A one-way function that encrypts information that can not be decrypted.
A ‘hard fork’ occurs when:
New Blockchain software is released which breaks or modifies existing rules.
Some nodes decide to keep a different version of the ledger then others
Proof of Stake consensus aims to do what? (3)
Improving transaction capacity
Lower energy consumption
Removing the need for specialized hardware
On a public Blockchain such as Ethereum, transactions are………… before they’re added to the block.
validated
The Merkle Tree serves which important function in Blockchain?
It acts as an index, allowing transactions to be found quickly regardless of their location on the Blockchain
What are the key terms used in Cryptography? (4)
The secret
The key
The function
The cypher
A public closed Blockchain allows…
Many people to write, only a few can read
Blockless platforms offer which advantage?
Greater transaction processing capacity
Each block in a Blockchain is linked to what?
The preceeding block
Must users explicitly purchase gas before using a Blockchain solution?
No
Name the three main Ethereum token standards:
ERC20
ERC223
ERC721
A ……… Blockchain would be a good choice for situations where only a few people should be able to write data, but a large number of people should be able to consume that data.
private / open
Give an example for a ‘blockless’ platform:
IoTA
What happens if a function call runs out of gas?
The function rolls-back
The user loses the gas
Which token standards is used for non-fungible, non-transferrable assets on the Ethereum Blockchain?
ERC721
An …………. Blockchain architecture should be used in cases where public verification is important.
Open
Blockchain Smart Contracts are analogous to:
Firmware
……….. provide greater fault-tolerance than …………..
Public Blockchain networks
Databases
Are Public Blockchains the ideal solutions when data sovereignty is a concerned?
No
Smart Contracts exist as …………… records on the Blockchain once deployed
permanent
Unlike conventional networks, Peer-to-Peer networks do not contain ……………………………..
both clients and servers.
Blockchain will be a better fit over a traditional database system when:
Public validation is required
Infinite scalability is needed
No single authority can or should own the data
When a Smart Contract is killed it…
No longer accepts new transactions but remains on the Blockchain forever
Hypermedia Distributed File System is …
A content-based addressing system
Name some primary network architectures:
Decentralized
Distributed
Centralized
DApp stands for
Decentralized Application
Remix is a browser-based IDE for editing Smart Contracts on which platform?
Ethereum
How do Smart Contracts access data outside the Blockchain?
Using Oracles
What does the middle layer of a Blockchain application contain?
Business logic
Does developing a user interface for a public Blockchain application require developers to learn new skills?
No
What are the two types of transactions in the Hyperledger Fabric?
Deploy and Invoke
To develop in Hyperledger, you use which tool?
Composer
What does DAO stands for?
Decentralized Autonomous Organization
Other tools and frameworks to be familiar with when building Blockchain applications include:
Ganache, Truffle and Web3.js
A good solution can and often does incorporate Blockchain along with …………………..
more conventional technologies.
Which design artifact describes what a solution should do without focusing on how it should be done?
Functional requirements
Once a contract has been killed you cannot….
revive it
Take funds out of it
Can a user can have multiple personas?
Yes
User stories will help to create:
Functional Requirements
Which design artifacts describes how a functional requirement will be fulfilled?
Technical requiement
What are the base columns you should have in your Task estimation worksheet?
Task Name
Task Owner
Estimated Time to Complete
Skillset Required/Role
List 3 Blockchain architecture fundamental questions?
BETTER - Does the use of Blockchain create a better end-user experience?
HEAVY USE - heavy use on day 1?
VIEW RIGHTS - Who needs to see the data? Who should NOT see the data?
………… Blockchains offer lower transaction speed than ……… Blockchains.
Public
Private
According to the Sandwich Complexity Model, the bulk of the application logic should live at which layer?
Middle
Technology decisions do not ……………… to design a good Blockchain solution.
made up-front
A modular design pattern for Smart Contracts is generally preferable unless which feature is desired?
Security
…….. payments are the desired pattern for giving funds to a user.
Pull
What are some of the best practices for testing a Blockchain application?
Local testing -> test network -> production network
Use a local Blockchain tool like Ganache when doing development and initial testing
When developing a Blockchain application always align _____________ to your guiding principles.
Personas
What is the risk of using a Monolithic architecture for an application or Smart Contract?
There is a single attack surface or single point of failure
All Smart Contract function calls should be wrapped in:
Try / Catch statement
Is data on a public Blockchain is automatically encrypted?
No
Name an Ethereum test network
Ropsten