Quiz
12 Blockchain
Este quiz tem tipos de pergunta que abrem no player de sempre.
Perguntas do quiz (27)
1A [blank_start]mining[blank_end] node...
- [blank_start]validate[blank_end] transactions
- [blank_start]Add[blank_end] them to the block they are building
- [blank_start]Broadcast[blank_end] the completed block to other
All these operations have huge [blank_start]cryptographic[blank_end] [blank_start]cost[blank_end] (many operations)
nodes- Amining
- Bvalidate
- CAdd
- DBroadcast
- Ecryptographic
- Fcost
2Bitcoin started in year [blank_start]2009[blank_end].
- A2009
32 flavors of financial instrument...
1. [blank_start]Bearer[blank_end] instrument
> Physical holder of object (or secret) [blank_start]possesses[blank_end] asset
• E.g., [blank_start]cash[blank_end], bearer bond
:) Easy to transfer, [blank_start]anonymous[blank_end]
:( Easy to lose
2. [blank_start]Registered[blank_end] instrument
> Asset with centralized [blank_start]record[blank_end] of [blank_start]ownership[blank_end]
• E.g., most types of [blank_start]shares[blank_end] or bonds
:) Won't [blank_start]lose[blank_end]
:( Not anonymous, hard to transfer- ABearer
- BRegistered
- Ccash
- Dpossesses
- Eownership
- Frecord
- Gshares
- Hanonymous
- Ilose
4Features of bearer instrument:
1. Creation
2. [blank_start]Forgery[blank_end] [blank_start]prevention[blank_end]
2.1 Tokens from [blank_start]scarce[blank_end] [blank_start]resource[blank_end]
2.2 Signature hard to [blank_start]duplicate[blank_end]
2.3 Death penalty for illegal forgers
3. Verification of [blank_start]validity[blank_end] / ownership
4. [blank_start]Transfer[blank_end] between parties
Bitcoin for forgery prevention:
> Scarce resource: [blank_start]computation[blank_end]
> Hard-to-forge data: [blank_start]cryptography[blank_end]- Acomputation
- Bcryptography
- Cscarce
- Dresource
- Eduplicate
- FForgery
- Gprevention
- Hvalidity
- ITransfer
5What kind of money (bearer / registered financial instrument)?
- Bitcoin combines [blank_start]bearer[blank_end] [blank_start]and[blank_end] [blank_start]registered[blank_end]:
>> A [blank_start]ledger[blank_end] (collection of financial accounts) : public record of asset ownership called [blank_start]blockchain[blank_end]
>> [blank_start]secret[blank_end] keys: to control individual's assets
>> [blank_start]pseudo[blank_end]nymous- Abearer
- Band
- Cregistered
- Dledger
- Eblockchain
- Fsecret
- Gpseudo
6Blockchain is the [blank_start]immutable[blank_end] [blank_start]ledger[blank_end] of transactions, to prevent [blank_start]double[blank_end] [blank_start]spending[blank_end].
The hash contains compacted version of [blank_start]transaction[blank_end] [blank_start]history[blank_end].
Ex. Hash 1 contains [blank_start]_[blank_end] and transactions [blank_start]1[blank_end], 2, [blank_start]3[blank_end], Hash 2 contains [blank_start]Hash1[blank_end] + transactions 4, [blank_start]5[blank_end], 6, and so on.
The [blank_start]decentralisation[blank_end] - replication of the blockchain guarantees the unf[blank_start]orgettabili[blank_end]ty of the blockchain.
- Aimmutable
- Bledger
- Cdouble
- Dspending
- Etransaction
- Fhistory
- G_
- H1
- I3
- JHash1
- K5
- Ldecentralisation
- Morgettabili
7Blockchain abstraction:
#1 [blank_start]Strict[blank_end] [blank_start]ordering[blank_end] of the [blank_start]message[blank_end] (longest chain always wins)
#2 [blank_start]Rule[blank_end]-[blank_start]based[blank_end] [blank_start]write[blank_end], [blank_start]global[blank_end] [blank_start]read[blank_end] (write permission given by rules)
#3 [blank_start]No[blank_end] [blank_start]message[blank_end] [blank_start]modification[blank_end]
:) Blockchain are much [blank_start]faster[blank_end] and [blank_start]transparent[blank_end] than money transfer, because it has much less middleman / fragmented records / difficulty to audit.- AStrict
- Bordering
- Cmessage
- DRule
- Ebased
- Fwrite
- Gglobal
- Hread
- INo
- Jmessage
- Kmodification
- Lfaster
- Mtransparent
8Cryptocurrency
v0: [blank_start]Suckercoin[blank_end]: Completely unprotected electronic currency relying on a "a self-policing feature for users to red flag questionable advertisements or products".
:( No privacy, no security.
:) Fast, simple, universal access
v1: [blank_start]Wallcoin[blank_end]: [blank_start]Registered[blank_end] digital currency.
> A [blank_start]trusted[blank_end] [blank_start]ledger[blank_end] (Facebuck) maintains all [blank_start]transactions[blank_end] over history of the system.
> Entity [blank_start]dictate[blank_end] the [blank_start]creation[blank_end] of the money
> Users identify themselves by logging in.
:( No privacy, :( [blank_start]Weak[blank_end] security.
:) Fast, simple, universal access.- ASuckercoin
- BWallcoin
- CRegistered
- Ddictate
- Ecreation
- Ftrusted
- Gledger
- Htransactions
- IWeak
9Cryptocurrency
v2: [blank_start]SigCoin[blank_end]
> For every account X, [blank_start]sign[blank_end] transactions using [blank_start]private[blank_end] [blank_start]key[blank_end] SK_[blank_start]x[blank_end]
> Assume all [blank_start]public[blank_end] [blank_start]keys[blank_end] PK_x shown to the world
:) Better security:
-- Facebuck cannot [blank_start]falsify[blank_end] my transactions
-- Need [blank_start]SK_x[blank_end] to generate [blank_start]valid[blank_end] transaction [blank_start]signature[blank_end]
-- SK_x cannot be [blank_start]stolen[blank_end] from Facebuck, since it's not saved on the server
:( User can be identified using public keys > [blank_start]pseudon[blank_end]ymous > risk of losing [blank_start]privacy[blank_end]
:( Facebuck need to manage [blank_start]public[blank_end] keys
:( User need to manage [blank_start]private[blank_end] keys
:( Facebuck can still cheat...
---> By [blank_start]failing[blank_end] to process / post transactions
---> By [blank_start]erasing[blank_end] transactions (take away your money)
---> can show different [blank_start]subsets[blank_end] of transactions to different users- ASigCoin
- Bsign
- Cprivate
- Dkey
- Ex
- Fpublic
- Gkeys
- Hfalsify
- ISK_x
- Jvalid
- Ksignature
- Lstolen
- Mpseudon
- Nprivacy
- Opublic
- Pprivate
- Qfailing
- Rerasing
- Ssubsets
10Cryptocurrency
v3: [blank_start]Chaincoin[blank_end]
> Facebuck [blank_start]periodically[blank_end]—every 10 minutes—digitally [blank_start]signs[blank_end] [blank_start]batches[blank_end] of transactions >([blank_start]linked[blank_end] to old batches)
>> Batches of transactions signed w.r.t. [blank_start]PK[blank_end]Facebuck
> Facebuck [blank_start]publishe[blank_end]s batch for users to see and [blank_start]record[blank_end]
:) Better [blank_start]security[blank_end]:
--> if Facebuck presents different batches to different users, will be caught
--> If Facebuck tries to delete transaction after the fact, will get caught
The [blank_start]ledger[blank_end] is now constructed as a chain of blocks.
-- A block = [blank_start]batch[blank_end] of [blank_start]transactions[blank_end] + digital [blank_start]signature[blank_end]
-- Whole chain = all [blank_start]transactions[blank_end] overtime
= Blockchain
:( Partial privacy : [blank_start]pseudo[blank_end]nimity only
:( Facebuck can [blank_start]suppress[blank_end] transactions by refusing to process / post transactions. You can catch it, but you cannot do anything about it because [blank_start]trust[blank_end] resides in a single entity.
>> Trust in a single entity will cause...
>>>> Hyperinflation
>>>> [blank_start]Frozen[blank_end] assets (Banks closed for a week in Greece in 2015)- AChaincoin
- Bperiodically
- Csigns
- Dbatches
- Elinked
- FPK
- Gpublishe
- Hrecord
- Isecurity
- Jledger
- Kbatch
- Ltransactions
- Msignature
- Ntransactions
- Opseudo
- Psuppress
- Qtrust
- RFrozen
11Cryptocurrency
v4: [blank_start]Bitcoin[blank_end]
Just like [blank_start]ChainCoin[blank_end] (v3),
> Users digitally [blank_start]sign[blank_end] transactions to [blank_start]authorise[blank_end] movement of money
> Transactions recorded in [blank_start]blockchain[blank_end]
:( [blank_start]Pseudo[blank_end]nymous: User identities correspond to (SK, PK) key pairs
BUT! Blockchain is [blank_start]FULLY[blank_end] [blank_start]DECENTRALIZED[blank_end]!
> Instead of trusting one entity, we rely on the whole communit!
> Community maintains fully public blockchain / [blank_start]ledger[blank_end] >> no more [blank_start]suppression[blank_end] of transactions!
However...
How does the community agree on what transactions in ledger?
>> Problem of [blank_start]consensus[blank_end]- AFULLY
- BDECENTRALIZED
- Cledger
- Dsuppression
- EPseudo
- FChainCoin
- GBitcoin
- Hsign
- Iauthorise
- Jblockchain
- Kconsensus
12CAP:
[blank_start]Consistency[blank_end] - [blank_start]Availability[blank_end] - [blank_start]Partition tolerance[blank_end].
AP choice:
> DNS, Shopping carts, NoSQL database
> Hight available system, low-latency
CP Choice:
> Strong consistency (safety first), system halts on partition
> Need coordination >> [blank_start]consensus[blank_end] protocol
:) Atomic writes, freshest read- AConsistency
- BAvailability
- CPartition tolerance
- Dconsensus
134 consensus properties are:
- [blank_start]Validity[blank_end]: any value decided [blank_start]is a value proposed[blank_end]
- [blank_start]Agreement[blank_end]: no [blank_start]2 correct process decide differently[blank_end]
- [blank_start]Termination[blank_end]: every correct process will [blank_start]eventually terminate[blank_end]
- [blank_start]Integrity[blank_end]: [blank_start]no process decides[blank_end] twice- AValidity
- BAgreement
- CTermination
- DIntegrity
- Eis a value proposed
- F2 correct process decide differently
- Geventually terminate
- Hno process decides
14Byzantine failures:
- No response node (DoS Attack) / False response node / Send different message to different nodes
- Need [blank_start]3[blank_end]t + 1 to have consensus, t = # faulty nodes
- Can have [blank_start]2[blank_end]t + 1 if having [blank_start]synchronicity[blank_end]
No byzantine consensus if t [blank_start]>[blank_end] N/3- A>
- B3
- C2
- Dsynchronicity
15Write the text to the corresponding blanks.

- Acomputational
- Bhash
- Cadd
- Dblock
- Epropagated
- Fvalidated
- Gproof of work
- Hconfirmation
- Inew
- Jprivate key
16The transaction verification in bitcoin:
A transaction is signed by the [blank_start]private[blank_end] [blank_start]key[blank_end] of the user, then propagate to the network of [blank_start]miners[blank_end].
The Block Header consists of the [blank_start]hash[blank_end] of the [blank_start]current[blank_end] block, the [blank_start]hash[blank_end] of the [blank_start]previous[blank_end] block, [blank_start]timestamp[blank_end] of when the current block was hashed, the target [blank_start]difficulty[blank_end] of the block (no of leading 0s), and the [blank_start]nonce[blank_end].
To achieve consensus, we need to elect a [blank_start]leader[blank_end] miner. It will be the person that first solve the difficult questions of finding a correct [blank_start]hash[blank_end] with x [blank_start]leading[blank_end] [blank_start]0[blank_end]s by brute-forcing [blank_start]nonce[blank_end] one by one. This is fair, since there is no way to track back to the original data from a one-way hash. The work of finding the correct hash is called the [blank_start]proof[blank_end] [blank_start]of[blank_end] [blank_start]work[blank_end].
- Aleader
- Bhash
- Cleading
- D0
- Enonce
- Fproof
- Gof
- Hwork
- Iprivate
- Jkey
- Kminers
- Lhash
- Mcurrent
- Nhash
- Oprevious
- Ptimestamp
- Qdifficulty
- Rnonce
17When we have [blank_start]fork[blank_end]s (unstable consensus), the [blank_start]long[blank_end]est chain wins.

- Afork
- Blong
18What happens if there is a network partition?
- Aa)The protocol halts preserving safety
- Bb) Now we have 2 versions of bitcoin that will never merge back
- Cc) The clients do not realise it and can be attacked
- Dd) Free money for everyone
19A possible attack on the blockchain is the [blank_start]double[blank_end] [blank_start]spending[blank_end] [blank_start]attack[blank_end]:
1) Give transation to seller
2) Take product
30 Send a 2nd [blank_start]transaction[blank_end] and create a [blank_start]longer[blank_end] [blank_start]chain[blank_end]
BUT! To be sure that it can create a longer chain, it need to be sure to [blank_start]control[blank_end] the [blank_start]majority[blank_end] of the [blank_start]hash[blank_end] power. 5 mining pool can collectively attack the system.
Miners joins in [blank_start]mining[blank_end] [blank_start]pool[blank_end] to share the [blank_start]hash[blank_end] power, and get a share of the transaction fee for it. The more transaction fee one wants to pay, the more prioritised his transaction will be put in a block (1 block = [blank_start]1MB[blank_end]).
- Adouble
- Bspending
- Cattack
- Dtransaction
- Elonger
- Fchain
- Gmining
- Hpool
- Ihash
- J1MB
- Kcontrol
- Lmajority
- Mhash
20Drag & drops to identify which is which key.

- Aprivate key
- Bpublic key
- Cprivate keys
- Dpublic keys
21Bitcoin performance:
Security: :), unless [blank_start]50[blank_end]% adversary
Transaction throughput : :( [blank_start]5[blank_end] transactions /s
Confirmation latency: :( [blank_start]hour[blank_end]s
Since 1 block is discovered only every 10 min...
The principle challenge is the [blank_start]scalability[blank_end].
Because there is the double spending (longer chain) attack, it needs a [blank_start]k[blank_end]-[blank_start]deep[blank_end] confirm, i.e. need to wait for many [blank_start]votes[blank_end] to [blank_start]confirm[blank_end] the transaction.
- A50
- B5
- Chour
- Dscalability
- Ek
- Fdeep
- Gvotes
- Hconfirm
22The [blank_start]physical[blank_end] limits with Bitcoin is
> Network [blank_start]capacity[blank_end] C
> Speed-of-light [blank_start]propagation[blank_end] [blank_start]delay[blank_end] D (ex. communication delays when communicating between Moon & Mars)
- Aphysical
- Bcapacity
- Cdelay
- Dpropagation
23Digital currency is just one application on top of a blockchain.
[blank_start]Smart[blank_end] [blank_start]Contract[blank_end]s: [blank_start]user[blank_end]-[blank_start]defined[blank_end] programs running on [blank_start]top[blank_end] of a blockchain.
Eg. [blank_start]Ethereum[blank_end] is a decentralized platform that runs [blank_start]smart[blank_end] [blank_start]contract[blank_end]s: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.
The challenges for smart contract design are:
> Smart contracts in ethereum can be trusted for [blank_start]correctness[blank_end] and [blank_start]availability[blank_end], but not [blank_start]privacy[blank_end]
> Blockchain resources are expensive
> [blank_start]Race[blank_end] conditions and temporary forks
- ASmart
- BContract
- Cuser
- Ddefined
- Etop
- FEthereum
- Gsmart
- Hcontract
- Icorrectness
- Javailability
- Kprivacy
- LRace
24An example of [blank_start]smart[blank_end] [blank_start]contract[blank_end] (user-defined programs running on top of a blockchain) is Namecoin. It is a [blank_start]DNS[blank_end] replacement.
> All name are unregistered
> Anyone can claim an unregistered name
> Once it's registered, no one can change it.- ADNS
- Bsmart
- Ccontract
25The basic of smart contract is :
1) Submit a [blank_start]transaction[blank_end] to the [blank_start]blockchain[blank_end] in order to create a new [blank_start]contract[blank_end]
>>> [blank_start]transaction[blank_end] contains the *[blank_start]code[blank_end]* as data
>>> contracts have an “[blank_start]account[blank_end] [blank_start]balance[blank_end]” denominated in Ether
>>> [blank_start]contract[blank_end]s have a persistent “[blank_start]storage[blank_end]” file
2) Submit transactions to the blockchain to [blank_start]interact[blank_end] with the contract
>>> transactions can contain [blank_start]monetary[blank_end] “value,” added to the [blank_start]account[blank_end]
>>> procedure calls
- Atransaction
- Bblockchain
- Ccontract
- Dinteract
- Ecode
- Faccount
- Gbalance
- Hstorage
- Itransaction
- Jcontract
- Kmonetary
- Laccount
26What does the call stack return?

- Ahello
- Bno gas
- Chello world
27An alternative to obtain consensus (else than proof-of-work) is:
1) [blank_start]Proof[blank_end]-of-[blank_start]stake[blank_end]: assigns consensus shares in [blank_start]proportion[blank_end] to [blank_start]prior[blank_end] capital [blank_start]investment[blank_end] i.e. the creator of the next [blank_start]block[blank_end] is chosen via various combinations of random selection and [blank_start]wealth[blank_end] staked
=> no [blank_start]reward[blank_end] for the solver
:( PoS requires secure public [blank_start]randomness[blank_end]...
:( major unsolved security & incentive problems...
2) [blank_start]Permissioned[blank_end] [blank_start]ledger[blank_end]s (private blockchains)
>> Just decide [blank_start]administratively[blank_end] who participates; Fixed or manually-changed group of
trustees
>> [blank_start]Liability[blank_end] clearly defined
>> No proof-of-work needed → low energy cost
>> Higher human organizational costs
>> not open for everyone- AProof
- Bstake
- Cproportion
- Dblock
- Ewealth
- Fprior
- Ginvestment
- Hreward
- Irandomness
- JPermissioned
- Kledger
- Ladministratively
- MLiability
Informações
- Descrição
- - Information security (12 Blockchain) Quiz sobre 12 Blockchain, criado por Yawen Hou em 06-06-2019.
- Autor
- Yawen Hou
- Idioma
- English
- Visualizações
- 3
- Histórico
- Criado em 6 jun 2019 · atualizado em 14 jun 2019
- Etiquetas
- Avaliação
- Ainda sem avaliações Avalie este quiz