Blockchain Based Systems Engineering

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/14

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

15 Terms

1
New cards
What is the functional definition of a blockchain?
Systems that enable parties who don't fully trust each other to form and maintain consensus about the existence, status, and evolution of a set of shared facts.
2
New cards
What is the technical definition of a blockchain?
A distributed database that maintains a continuously-growing list of ordered records called blocks, where each block contains a timestamp and a link to a previous block, making data resistant to retroactive modification.
3
New cards
What is a smart contract?
A program that runs on the blockchain, consisting of a collection of code (functions) and persistent data (state).
4
New cards
What is a token in the context of blockchain?
A digital certificate which provides evidence of a fact.
5
New cards
Under what four conditions might blockchain be a potential solution for a problem?
1. Multiple parties are involved. 2. The parties do not trust each other or have different interests. 3. Shared write access is required. 4. All writes to the database need to be (publicly) verifiable.
6
New cards
What is the key difference between permissionless and permissioned blockchains regarding user access and transaction visibility?
Permissionless blockchains (e.g., Bitcoin) are public, allowing any pseudonymous user to join, view transactions, and participate. Permissioned blockchains (e.g., Hyperledger) are typically private or consortium-based, requiring managed access (KYC/AML), and transaction visibility may be restricted to a subset of the consortium
7
New cards
What are the two primary components of a hash function's definition?
1. **Compression**: Maps an input `x` of arbitrary finite bit length to an output `h(x)` of a fixed bit length `n`. 2. **Ease of computation**: Given `h` and `x`, it is easy to compute `h(x)`.
8
New cards
What are the three core properties of a cryptographic hash function?
1. **Preimage Resistance**: Given an output `y`, it is computationally infeasible to find an input `x` such that `h(x)=y` (one-way). 2. **Second Preimage Resistance**: Given an input `x`, it is computationally infeasible to find a *different* input `x'` such that `h(x)=h(x')`. 3. **Collision Resistance**: It is computationally infeasible to find *any* two different inputs `x` and `y` such that `h(x)=h(y)`.
9
New cards
What is a hash pointer?
A data structure that stores both a pointer to where data is (or the data itself) and the cryptographic hash of that data, allowing for verification that the information has not changed.
10
New cards
How is a blockchain typically structured using hash pointers?
As a linked list where each block contains data and a hash pointer that references the previous block (i.e., includes the hash of the previous block), ensuring the integrity of the entire chain.
11
New cards
What is the key characteristic of symmetric cryptography?
The same secret key is used for both encryption of plaintext and decryption of ciphertext.
12
New cards
What is the key characteristic of asymmetric cryptography?
It uses a pair of mathematically related keys: a public key (which can be shared widely) and a private key (kept secret). If one key is used for encryption, the other is used for decryption, and vice-versa for digital signatures.
13
New cards
What are the two essential properties that digital signatures aim to provide for digital data?
1. **Authenticity**: Proof of who created/signed the data, as only the owner of the private key can generate the signature. 2. **Integrity**: Proof that the data has not been altered since it was signed, as the signature is tied to the specific data.
14
New cards
What are the three fundamental operations (functions) of a digital signature scheme?
1. `(sk, pk) := generateKeys(keysize)`: Generates a secret key (sk) and a public key (pk). 2. `sig := sign(sk, message)`: Produces a signature (sig) for a given message using the secret key. 3. `isValid := verify(pk, message, sig)`: Checks if the signature is valid for the message using the public key.
15
New cards
Define "Unforgeability" in the context of digital signatures.
An attacker, even with knowledge of the public key and access to multiple examples of messages signed by the corresponding private key, cannot create a valid signature for a *new* message that they have not seen signed before