Certified Solution Architect Flashcards

1
Q

Name a language that can be used for each layer in a dApp

A

Front - HTML
Middle - JavaScript
Blockchain - Solidity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are function modifiers?

A

Can be used to limit access to or use if a function based on an account/node

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Ganache used for?

A

In memory blockchain testing (runs a simulated node)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A DApp resembles a typical …………………..

A

Full stack web app

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe a dApp front end

A

User interface for interacting with your blockchain dApp

No special technology front-end requirements 
Presentation layer:
HTML/CSS 
Mobile app
Even Alexa
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the technology of a dApp middle layer

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is contained in a dApp middle layer?

A

Validation and exception handling

Business logic should live in this layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Which languages can you use for the middle layer?

A

Solidity/Viper to write the contracts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe the blockchain layer of a dApp

A

Biggest learning curve

Contracts can call other contracts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a centralised ledger?

A

Contains all the transactions

Controlled by a single entity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Double-entry accounting is…

A

A record for tracking debits and credits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Blockchain is…(3)

A

A record keeping system
An event tracking system
A workflow platform

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Changing the data on any block will result in……..

A

A different hash

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Group Consensus is reached when how many members agree?

A

51% or more

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Blocks in Blockchain are “chained” together by:

A

By hashing the previous block and embedding that hash into the new block’s header

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Give 3 examples of Blockchain transactions

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

A decentralized ledger acts as a …………………….., like a bank.

A

trust broker

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Blockchain was documented and released via a whitepaper by:

A

Satoshi Nakamoto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Blockchain provides the same services as a traditional bank, except for:

A

Providing Certificates of Deposit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hyperledger and Ethereum both went live in which year?

A

2015

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What are the benefits of Blockchain?

A

Trust
Security
Decentralization
Immutability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

In Proof of Work consensus what happens when you add another node to the network?

A

Security time is increased by 1/N
Transaction time is increased by 1/N

(where N equals the number of nodes on network)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

The Private Key does what?

A

Used to sign any transaction that might be made by the holder of the key pair

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is Cryptographic hashing?

A

A one-way function that encrypts information that can not be decrypted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

A ‘hard fork’ occurs when:

A

New Blockchain software is released which breaks or modifies existing rules.

Some nodes decide to keep a different version of the ledger then others

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Proof of Stake consensus aims to do what? (3)

A

Improving transaction capacity
Lower energy consumption
Removing the need for specialized hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

On a public Blockchain such as Ethereum, transactions are………… before they’re added to the block.

A

validated

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

The Merkle Tree serves which important function in Blockchain?

A

It acts as an index, allowing transactions to be found quickly regardless of their location on the Blockchain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What are the key terms used in Cryptography? (4)

A

The secret
The key
The function
The cypher

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

A public closed Blockchain allows…

A

Many people to write, only a few can read

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Blockless platforms offer which advantage?

A

Greater transaction processing capacity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Each block in a Blockchain is linked to what?

A

The preceeding block

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Must users explicitly purchase gas before using a Blockchain solution?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Name the three main Ethereum token standards:

A

ERC20
ERC223
ERC721

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

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.

A

private / open

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Give an example for a ‘blockless’ platform:

A

IoTA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What happens if a function call runs out of gas?

A

The function rolls-back

The user loses the gas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Which token standards is used for non-fungible, non-transferrable assets on the Ethereum Blockchain?

A

ERC721

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

An …………. Blockchain architecture should be used in cases where public verification is important.

A

Open

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Blockchain Smart Contracts are analogous to:

A

Firmware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

……….. provide greater fault-tolerance than …………..

A

Public Blockchain networks

Databases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Are Public Blockchains the ideal solutions when data sovereignty is a concerned?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Smart Contracts exist as …………… records on the Blockchain once deployed

A

permanent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Unlike conventional networks, Peer-to-Peer networks do not contain ……………………………..

A

both clients and servers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Blockchain will be a better fit over a traditional database system when:

A

Public validation is required
Infinite scalability is needed
No single authority can or should own the data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

When a Smart Contract is killed it…

A

No longer accepts new transactions but remains on the Blockchain forever

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Hypermedia Distributed File System is …

A

A content-based addressing system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Name some primary network architectures:

A

Decentralized
Distributed
Centralized

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

DApp stands for

A

Decentralized Application

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

Remix is a browser-based IDE for editing Smart Contracts on which platform?

A

Ethereum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

How do Smart Contracts access data outside the Blockchain?

A

Using Oracles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What does the middle layer of a Blockchain application contain?

A

Business logic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Does developing a user interface for a public Blockchain application require developers to learn new skills?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

What are the two types of transactions in the Hyperledger Fabric?

A

Deploy and Invoke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

To develop in Hyperledger, you use which tool?

A

Composer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

What does DAO stands for?

A

Decentralized Autonomous Organization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

Other tools and frameworks to be familiar with when building Blockchain applications include:

A

Ganache, Truffle and Web3.js

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

A good solution can and often does incorporate Blockchain along with …………………..

A

more conventional technologies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

Which design artifact describes what a solution should do without focusing on how it should be done?

A

Functional requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

Once a contract has been killed you cannot….

A

revive it

Take funds out of it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

Can a user can have multiple personas?

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

User stories will help to create:

A

Functional Requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

Which design artifacts describes how a functional requirement will be fulfilled?

A

Technical requiement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

What are the base columns you should have in your Task estimation worksheet?

A

Task Name
Task Owner
Estimated Time to Complete
Skillset Required/Role

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

List 3 Blockchain architecture fundamental questions?

A

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?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

………… Blockchains offer lower transaction speed than ……… Blockchains.

A

Public

Private

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

According to the Sandwich Complexity Model, the bulk of the application logic should live at which layer?

A

Middle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

Technology decisions do not ……………… to design a good Blockchain solution.

A

made up-front

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

A modular design pattern for Smart Contracts is generally preferable unless which feature is desired?

A

Security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

…….. payments are the desired pattern for giving funds to a user.

A

Pull

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

What are some of the best practices for testing a Blockchain application?

A

Local testing -> test network -> production network

Use a local Blockchain tool like Ganache when doing development and initial testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

When developing a Blockchain application always align _____________ to your guiding principles.

A

Personas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

What is the risk of using a Monolithic architecture for an application or Smart Contract?

A

There is a single attack surface or single point of failure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

All Smart Contract function calls should be wrapped in:

A

Try / Catch statement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

Is data on a public Blockchain is automatically encrypted?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

Name an Ethereum test network

A

Ropsten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

Name the types of bugs

A

Security
Logic
Integration

78
Q

How can you add value to bug reports

A

Make them multimedia (a picture speaks a thousand words)

79
Q

Traditional testing time should be scaled up how much in the Blockchain world?

A

5-10 times up

80
Q

Shift-Left Testing is…

A

Involving your testers earlier in the project lifecycle.

81
Q

Name the types of testing

A

Unit
Configuration
Regression
Stress

82
Q

______________ should be the start of your test cases.

A

Personas

83
Q

What is the ideal but not realistic target for test coverage of a Blockchain application?

A

100%

84
Q

What is a bug bounty?

A

Offering a reward to others who find flaws, security holes or exploits in your code.

85
Q

Name 3 Blockchain Testing best practices:

A

SEPARATE - (dev/test environments)

MULTIPLE times/views (from the point of view of multiple users)

State UNTESTED platforms (that are not supported by your Blockchain application)

86
Q

What is the synchronicity or determinism problem?

A

When nodes do not execute a function at exactly the same time and thus the data retrieved from an Oracle is not consistent between the nodes.

(Only happens when the data being retrieved is changed frequently)

87
Q

When is an Oracle most reliable?

A

When it is retrieving historical data

88
Q

What is the Oracle-architecture pattern?

A

A method to access off chain external data and bring it onto the chain

89
Q

Oracles are not part of the …………..

A

Consensus mechanism

90
Q

What is a centralized ledger?

A

Contains transactions
Controlled by single entity
Anything in the world which has a financial value needs a ledger

91
Q

What is a distributed ledger?

A

A database that is consensually shared and synchronized across multiple sites, institutions or geographies.

It allows transactions to have public “witnesses,” thereby making a cyberattack more difficult.

92
Q

What is the difference between a centralized and decentralized ledger?

A

Centralised and decentralised refer to control.

centralised controlled by one person or entity
Decentralised controlled by all or multiple persons or entities

93
Q

What is the difference between decentralised and distributed?

A

Centralised/decentralised refer to CONTROL

Distributed refers to LOCATION (all on one server in one place, or distributed over multiple servers and geographical locations)

94
Q

What is a block?

A

A block is like a page of a ledger or record book.

Each time a block is ‘completed’, it gives way to the next block in the blockchain.

95
Q

What is contained on a block?

A
Transactions
Height
Timestamp
Nonce
Hash of previous block
96
Q

What is the difference between possession and ownership?

A

The main difference is:

Possession is requiring a physical custody or control of an object.
(library book in your possession)

Ownership is the right which grants a person an object.
(that is owned by the library)

97
Q

What is the difference between Double vs. Triple Entry accounting?

A

Triple-entry accounting creates a link between the two double-entry systems documenting that the transactions in the two systems go together.

98
Q

What is Group Consensus?

A

Consensus decision-making is a group decision-making process in which group members develop, and agree to support a decision in the best interest of the whole group or common goal.

99
Q

How are blocks chained together?

A

Every block contains a hash of the previous block

100
Q

Name three types of blockchain

A

Public
Private
Hybrid

101
Q

Name 3 types of blockchain transaction

A

Involving transfer of value
Declaring an event
Not involving money

102
Q

What are the benefits of blockchain? (5)

A
Greater transparency.
Enhanced security.
Improved traceability
Increased efficiency and speed
Reduced costs
103
Q

What is Cryptography

A

Techniques for secure communication in the presence of third parties called adversaries.

104
Q

What is Public Key Cryptography?

A

Public-key cryptography, or asymmetric cryptography, is a system that uses pairs of keys:

public keys which may be disseminated widely
private keys which are known only to the owner.

105
Q

What is Cryptographic Hashing?

A

It is a mathematical algorithm that maps data of:

  • arbitrary size to a bit string of a fixed size
  • one-way function, that is practically infeasible to invert
106
Q

What is Proof of Stake Consensus?

A

Consensus algorithm used to VALIDATE blocks

First implemented in 2012.

107
Q

What is entropy in relation to IDs?

A

Now entropy is said to be a measure of randomness to determine how difficult it is for an attacker to be successful.

108
Q

Pending transactions on the Ethereum Blockchain are always …

A

Ordered by the highest fee paid to lowest, and then written to the block in that order.

109
Q

What are the weaknesses of blockchain?

A
Scalability
Excessive energy consumption
Slow transaction processing time
Cost of data storage
Get external triggers on chain
Getting currency off chain
110
Q

What is the difference between a public key and a private key?

A

The public key can be shared with everyone
The sender will use the receivers public key to encrypt the contents and only the receiver
can unencrypt it with their private key.
The private key is kept secret.
It is used to unencrypt data encrypted with their public key
And to sign transactions to prove who they come from

111
Q

How does blockchain enable trustless environments?

A

Parties do not need to trust each other or a third party

All information being transacted across the network is:

  • independently verified
  • immutably stored
112
Q

What makes trustless environments viable?

A
combination of:
Proof of Work
cryptography
merkle chains
P2P networks
113
Q

How is cryptographic hashing used to protect anonymity?

A

To complete

114
Q

What is the nothing at stake problem?

A

Only happens in the event of a fork

The optimal strategy is to mine on every chain, so that the miner gets their reward no matter which fork wins.

An attacker may be able to send a transaction in exchange for some digital good, receive the good, then start a fork of the blockchain from one block behind the transaction and send the money to themselves instead.

Even with 1% of the total stake the attacker’s fork would win because everyone else is mining on both. This assumes a large number of economically interested miners

115
Q

Summarise POS

A

The higher your balance, the higher the chance that you’ll forge the next block.

Actual block generation is randomized by the protocol.

Simple, fast, efficient, no energy waste, and it can even run on a low power device or cheap VPS node.

116
Q

What is chain code?

A

Hyperledger name for smart Contract

117
Q

How does gas work in relation to transaction time?

A

Wait longer = pay less gas

Execute faster = pay more gas

118
Q

All transactions on the Ethereum network cost a certain amount of gas, depending on the…………….. and the …………… of the contract one is trying to execute.

A

current demand for gas

size and speed

119
Q

Every transaction or smart contract executed on the Ethereum blockchain requires ………

A

Gas

120
Q

Gas economics as a way to make sure that the network does not………………. on securing pointlessly long-winding transactions. The gas system ………………… first by making their computational costs and rewards publicly known to the miners.

A

waste energy

prioritizes important transactions

121
Q

What is ERC?

A

A technical standard used for smart contracts on the Ethereum blockchain for implementing tokens

122
Q

Name 5 blockless blockchains

A
Iota
Nano
Byteball 
Travelflex 
IOT chain
123
Q

What technology is used in a blockless chain?

A

DAG

124
Q

What is the main problem that blockless blockchains solve?

A

Scaleability

125
Q

What is a distributed system?

A

A system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another

126
Q

What is peer to peer?

A

A network of computers where each computer can act as a server for the others, allowing shared access to files and peripherals without the need for a central server.

127
Q

What is Hypermedia Distributed File System?

A

Content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system.

128
Q

Name a Hypermedia Distributed File System

A

IPFS

129
Q

How can the IPFS system be accessed?

A

In a variety of ways, including via FUSE and over HTTP.

130
Q

IPFS uses a …………… to track content across the entire web

A

Merkle tree

131
Q

What is firmware development?

A

Firmware is part of the machine, and it would not function without it.

Having a dev with the mindset of a Firmware dev is crucial as like firmware Smart Contracts can not be changed therefore you have to get them right first time.

132
Q

What is the Kill function?

A

A function to deactivate a smart Contract

133
Q

How do you call a kill function?

A

Selfdestruct()

134
Q

Can you transfer money out of a smart Contract when you kill it?

A

Yes…
Enter the address to transfer to in the function parameters

Selfdestruct(address)

135
Q

When you implement a kill function to destroy a contract, ………………….. lets you protect the contract from getting destroyed by the wrong person

A

checking the identity of the caller

136
Q

Differences between Blockchain vs. Databases?

A

The primary difference between a blockchain and a database is centralization.

137
Q

While all records secured on a database are ………………., each participant on a blockchain has a secured copy of all records and all changes so each user can view the ……………… of the data.

A

centralized

provenance

138
Q

What is Data Sovereignty?

A

The idea that data are subject to the laws and governance structures within the nation it is collected.

Or

Data sovereignty is the concept that information which has been converted and stored in binary digital form is subject to the laws of the country in which it is located.

139
Q

What is a Decentralized App?

A

A.K.A - Smart Contract

A decentralized application is a computer application that runs on a distributed computing system.

140
Q

What is user interaction layer?

A

Front end UI

141
Q

DApps/products sit at the ……….. and is the part that the consumer or user interacts with.

In this sense you could consider that it’s the currency (like ………..)
Or
The DApp that people use (like ………..)

A

top layer
Bitcoin
Cryptokitties

142
Q

………… are where the DApps/products are built on. They make use of the rules of the ………………../ to form it’s basis and can be thought of taking the protocol down a specific use case (like supply chain for instance).

The platform will have chosen the protocol to build on, based on what it’s rules allow for.

A

Platforms

protocol level

143
Q

What is a protocol?

A

The set of rules that govern the network that the platforms and DApps sit on.

144
Q

What is Remix?

A

An IDE that is web browser based that allows you to write Solidity smart contracts, then deploy and run the smart contract.

145
Q

What is the set of collaboration tools for building blockchain business networks that make it simple and fast for business owners and developers to create smart contracts and blockchain applications to solve business problems?

A

Hyperledger Composer

146
Q

What is an Oracle?

A

An agent that finds and verifies real-world occurrences and submits this information to a blockchain to be used by smart contracts.

  • Provide external data
  • Trigger smart contract executions when pre-defined conditions are met
147
Q

What is Remix?

A

Remix is a Solidity IDE that’s used to write, compile and debug Solidity code.

148
Q

What is Solidity?

A

Solidity is a high-level, contract-oriented programming language for writing smart contracts.

149
Q

What is a Smart Contract?

A

A trust-less agreement between two parties that makes use of blockchain technology, to enforce the parties to adhere to the terms.

150
Q

What is Mist?

A

The Ethereum Dapp browser

151
Q

What are “Invoke” and “Deploy” transactions?

A

Hyperledger transactions

152
Q

Name the 2 types of Hyperledger transactions

A

Invoke

Deploy

153
Q

What do deploy transactions do?

A

Installs chaincode to the chain

  • Creates new chaincode and takes a program as parameter
  • When a deploy transaction executes successfully, the chaincode has been installed “on” the blockchain.
154
Q

What do invoke transactions do?

A

Calls a function on a chaincode Contract

  • This may involve modifying the corresponding state, and returning an output.
155
Q

What are Guiding Principles? (4)

A

Feature heavy/feature light?

Collaborative/Security focused?

Centralised support model/Decentralised?

Consistency/Specialisation?

156
Q

Define the Feature heavy or feature light guiding principle

A

As much functionality as possible (like Excel)
Vs
Simple(like Google)

157
Q

Define the Collaborative or Security focused guiding priciple

A

Communication, content sharing (Facebook)
Vs
Defined walls and boundaries (online banking)

158
Q

Define the Centralised support model or Decentralised

A

Dedicated trained staff for support (for medical diagnostic app)
Vs
Forum to browse for answers (like Instagram)

159
Q

Define the Consistency or Specialisation guiding principle

A

All uses have the same access and treated the same (Facebook)
vs
Different access for different roles. (World of Warcraft)

160
Q

What is a problem with using hashes to anomyise data?

A

Hashes are deterministic and if there are limited inputs an attacker can use a brute force attack.

161
Q

Ensuring anonymous record security relies on …………. which is just a fancy way of saying ……………….

A

entropy

randomness

162
Q

If the anonymous record keys are……………., or low on …………., then the attacker can simply brute force all possible keys and match them to record identifiers.

There is a way of militating against this threat with a security mechanism called a …………..

A

poorly constructed
entropy
salt

163
Q

What is the name of the security mechanism that can help protect against attacks on anonymised data?

A

Salt

164
Q

How does salt work?

A

A ‘salt’ is an extra piece of information that is baked into a hash record. If every single record has its own unique salt, then an attacker can’t crack all records in one pass.

165
Q

Salt is useful in the case of………….. brute force attacks but less useful for ………. attacks.

A

large scale

Single record

166
Q

What is a disadvantage of using salt?

A

As the anonymised identifier depends on the salt, it is difficult to compare participants across multiple studies.

167
Q

Salt is akin to a …………. in blockchain

A

Nonce

168
Q

Name the block header fields (5)

A
Version
Last Block
Merkle Root
Timestamp
Target
169
Q

What is Meta mask?

A

Browser extension wallet.

Connects to Ethereum blockchain

170
Q

What is the difference between a message and a transaction?

A

Message - between smart contracts

Transaction - between external accounts

171
Q

What are the functions of gas?

A

Incentivises noses to process contracts
Decentivises spam and other abuses
Helps prevent bad code or infinite loops (too expensive or gas runs out)

172
Q

What are calling contracts?

A

Design pattern

When you have multiple versions of a smart Contract on the blockchain,

Middle layer is coupled to calling contract it decides which child contract to pass to.

173
Q

What is the advantage of the calling contract?

A

Easier to manage multiple versions (to go to the current version where old ones exist)
And multiple versions simultaneously

174
Q

How do calling contracts decide which contract to call?

A

Either logic in the calling contract
Or
Oracle to get info from external data source

175
Q

What is the zero defects philosophy?

A

Do it right first time

Cost of preventing problems is less than fixing them later

176
Q

What is the purpose of regression testing?

A

To check for:

Reintroduction of old bugs
New bugs

177
Q

What is regression testing?

A

Testing all code, including deployed code or code that hasn’t been changed to check for introduced or re-introduced bugs

178
Q

What is Mocha?

A

JavaScript test framework

Runs on Node.js and in the browser

Allows asynchronous testing

179
Q

What is Chai?

A

A BDD / TDD assertation library

For node and the browser

Can be paired with any javascript testing framework (e.g. Mocha)

Use:
assert.typeOf(foo, ‘string’);

180
Q

What is BDD?

A

Behaviour driven development

181
Q

Name the Chai interfaces (3)

A

Should

Expect

Assert

182
Q

What assumptions must you not make with Smart Contracts?

A

That the contract has a 0 balance
That the variables are uninitialised

(because someone may have interacted with your contract before you)

183
Q

What is a buffer overflow attack?

A

Each variable has an allocated amount of memory
When you exceed it, the variable will reset itself to the lowest number
(E.g. -127)
This can be used to steal money from a contract

184
Q

Remember, anyone can ………. and ………. a function in your contract or deposit funds into a contract.

A

View

Invoke

185
Q

What is CI/CD?

A

Continuous Integration

continuous delivery

186
Q

What is GO?

A

A development language that can be used in Hyperledger Fabric

187
Q

How is Contract data stored?

A

In hex

188
Q

Automated testing allows you to test ………… not ………….

A

Faster

Better

189
Q

In addition to testing your code, you should also test your. ………… and ……………

A

Documentation

Support materials

190
Q

Testing is not an expense but a …………………

A

Risk mitigation strategy

191
Q

How is the creator of the next block is determined in POS?

A

By a RANDOMISED system that is, in part, dictated by:

HOW MUCH - cryptocurrency a user is holding
HOW LONG - they have been holding that particular currency.

192
Q

What are the main advantages of proof of stake?

A

ENERGY EFFICIENCY

SECURITY