#1-14F-#2(A4). Bitcoin under the Hood (YouTube)

Ace your homework & exams now with Quizwiz!

" "Private Key can be seen as a _____ Signature can be seen as a ______

" "You can think of the private key as the true password, and - the signature as an intermediary that proves you have the password without requiring you to reveal it.

"To send money, you must reference a previous transaction where you were the recipient, but - how do coins get into this ownership chain in the first place?

" As a way to slowly and randomly generate and distribute coins, a "reward" is given to whoever solves a block.

"Any node can collect a set of unconfirmed transactions into a block, and broadcast it to the rest of the network as a suggestion for what the next block in the chain should be. Why cant we rely on the order?

" We can't rely on the order that blocks arrive, because, as explained with transactions above, they may arrive in different orders at different points in the network.

" Verification Steps

"* Inputs are of a <person> Example : Alice's * Add up to <No that a person wishes to spend> * Identify the input's unspent.

" Illustrate Double Spend Problem

"1. Alice sends money to Bob. 2. Bob - Waits for Transactions to be confirmed. - Then ships the product. 3. Alice - Generates the longer branch - Node always switch to the longer branch - Replaces Transaction to Bob with someone else, - Using the same input 4. Bob - Bob's transaction is considerd invalid - Referencing an already spent input. - Bob's transation is tossed back to unconfirmed pool

A digital signature requires what

"A Digital Signature works by utilizing two different (but connected) keys, - a "private key" to create a signature, and - a "public key" that others can use to check it.

Provide an example on How Bitcoin solution provides a clever way to determine and safeguard ordering

"A malicious user, Alice, could send a transaction giving money to Bob, wait for Bob to ship a product, and then send another transaction referencing the same "input" back to herself. - Because of differences in propagation times, some nodes on the network would receive the 2nd "double-spending" transaction before the one to Bob - And when Bob's transaction arrived, they would consider it invalid because it's trying to re-use an input - So Bob would be out both his shipped product and his money - Overall, there would be disagreement across the network about whether Bob or Alice had the money - because there's no way to prove which transaction came first. - Bitcoin's solution is a clever way to both determine and safeguard the ordering through a kind of mathematical race.

What does the signature depends on ...

"Because the signature depends on the message, - it will be different for every transaction, and - therefore can't be reused by someone for a different transaction. - No one can modify the message while passing it along the network, - as any changes to the message would invalidate the signature.

Every node that receives it will update their copy of the ledger, and then pass along the transaction message. But how can the nodes be sure that the request is authentic, that only the rightful owner has sent the message?

"Bitcoin rules require a kind of password to unlock and spend funds, and this password is what's called a "Digital Signature. - it proves the authenticity of a message - through a mathematical algorithm that prevents copying or forgery in the digital realm.

What is the outcome of a transaction finding itself in the shorter branhes

"For instance, if your transaction finds itself in one of the shorter branches, it will lose its place in line within the block chain. - Typically, this means it will just go back into the pool of unconfirmed transactions, and be included in a later block.

What is the nature of Outputs

"It turns out that outputs are more like puzzles to be solved rather than simple "to addresses." - Rather than emailing, sending money in Bitcoin is more like putting money in a public locker and attaching a math puzzle that must be solved to open it.

" What is the basic functionality of a Node

"Nodes, or computers, in the Bitcoin network apply - that transaction to their copy of the ledger, and - then pass on the transaction to other nodes. This, with some math-based security, is really all there is--a system that lets a group of computers maintain a ledger.

" Can a person be able to outspace everyone

"One last question is whether Alice might be able to outpace everyone if she had an extremely fast computer, or perhaps a room full of computers. But even with thousands of computers, she would be unlikely to win the race to solve a block, because she isn't racing any one computer, but rather the entire network - She would need to control half of the total computing power in the entire network to have a 50% chance of solving a block before someone else. And much more to have a high probability of winning several blocks in a row faster

" When other nodes in the network use a digital signature

"Other nodes in the network can use the digital signature in a different function to verify that - dgital signature corresponds with your public key. 1 =? v(message, public key, signature)

" What are Public Keys

"Public keys are actually - the "send to" addresses in Bitcoin, - so when you send someone money, you're really sending it to their public key.

" Why is a person in race with the rest of the network

"She can only start solving blocks once the block she wants to build on is solved, and its hash value is known - She is therefore in a race with the rest of the network until Bob ships a product, - which is when she wants to present a longer branch

" Bitcoin system is amazingly designed so that..

"The Bitcoin system is amazingly designed so that - no trust is needed--special mathematical functions protect every aspect of the system.

" What is the advatnage of a Ledger (Basic difference between Bank and Bitcoin)

"The ledger is maintained by a group - rather than a single entity introduces a number of important differences. - For one, unlike at a bank where you only know about your own transactions, in Bitcoin, everyone knows about everyone else's transactions.

" A ledger is maintained by a _______

"The ledger is maintained by a group - rather than a single entity introduces a number of important differences. For one, unlike at a bank where you only know about your own transactions

If you don't keep track of how much money any given person has, how do you know if they have enough to send to someone else? (Explain in Detail)

"To send 5.0 BTC to Bob, - Alice must reference other transactions where she received 5 or more Bitcoins. - These referenced transactions are called "inputs." - Other nodes verifying this transaction will check those inputs to make sure Alice was in fact the recipient, and - also that the inputs add up to 5 or more Bitcoins.

Sending money indicates

"To send money, - you broadcast to the network - that the amount on your account should go down, and - the amount on a receiver's account up.

" What is needed to send money

"To spend money, - you must prove that you're the true owner of a public key address where money was sent, - and you do that by generating a Digital Signature from a transaction message and - your private key. signature = f(message, private key)

Why cant Alice recompute a branch

"a block cannot be solved before the previous block is solved. Getting back to Alice, this is why she can't precompute a branch

" Alice to send money to Bob. Represent as a transaction

"simply broadcasts a message with the accounts and the amount: "Send 5.0 BTC from Alice to Bob."" Every node that receives a transaction...What will it do ! Every node that receives it will update their copy of the ledger, and then pass along the transaction message

." What is the consequence of building blocks on top of each other

A consequence of blocks building on top of each other is that transactions further back in the chain are more secure. An attacker would have to outpace the network for a longer amount of time to carry out a double spend attack, and replace a block.

Where is the copy of the file maintained

A copy of this file is maintained on every computer in the Bitcoin network.

What does a Hash function create

A hash function creates a short digest from any arbitrary length of text, in our case, the result is a 32 byte number. Here are some examples of the specific hash function Bitcoin uses, SHA256

What is the current recommendation - to consider a block final - for large transactions

And for larger transactions, wait for at least 6 blocks. In light of BTC Guild's ability to solve 6 blocks in a row, you might want to wait even longer.

How to avoid someone linking your transactions

And to avoid someone linking your transactions together (remember, they're all publicly stored on every computer!), you can generate a new public key for every incoming transaction

How do you make sure - the sender actually has money to spend

And to make sure the sender actually has money to spend, we also check each referenced input, making sure it is unspent

What is the generic function of the node

Any node can collect a set of unconfirmed transactions into a block, and broadcast it to the rest of the network as a suggestion for what the next block in the chain should be.

Approach to slowly and randomly generate and distribute coins

As a way to slowly and randomly generate and distribute coins, a "reward" is given to whoever solves a block. This is why solving blocks is called mining

What is a Bitcoin

Bitcoin is just a digital file that lists accounts and money like a ledger

How do you determine the true owner

By verifying the Digital Signature, we know that only the true owner could have created the transaction message.

What is the aspect that must be considered when transactions are passed node-by-node

Considering that transactions are passed node-by-node through the network, there's no guarantee that the order in which you receive them represents the order in which they were created. And you shouldn't trust a timestamp because one could easily lie about the time a transaction was created

What is the impact of accessing Bitcoin using a TOR network

If you access Bitcoin through a TOR network that hides your IP address, you can use Bitcoin without ever revealing anything more than your public key

Once the block rewards cease, what incentive will miners have to process transactions?

In addition to the block reward, miners also get any transaction fees that can optionally be included with transactions.

What is the basic advantage of a block-chain

In this case, you simply build on top of the first one you received. Others may have received the blocks in a different order, and will be building on the first block they received

" If you don't keep track of how much money any given person has, how do you know if they have enough to send to someone else? (Explain in Detail)

Instead of balances, ownership of funds is verified through links to previous transactions

How does a sender indicate to own all transactions

It is possible, however, to inadvertently link public keys together. In the transaction shown earlier, 6 "input" transactions were used as sources, and despite the fact that all those inputs were sent to different addresses, they all became linked in that transaction. The sender proved that he owned all of the addresses by supplying the Digital Signature to unlock each one.

How do you study Bitcoin user behaviour

It is possible, however, to inadvertently link public keys together. In the transaction shown earlier, 6 "input" transactions were used as sources, and despite the fact that all those inputs were sent to different addresses, they all became linked in that transaction. The sender proved that he owned all of the addresses by supplying the Digital Signature to unlock each one. Researches have, in fact, used these links to study Bitcoin user behavior.

Can more than one block be solved at the same time

Occasionally, however, more than one block will be solved at the same time, leading to several possible branches.

" Impact of when a transaction has been made

Once a transaction has been used once, it is considered spent, and cannot be used again. Otherwise, someone could double-spend an input by referencing it in multiple transactions.

Once a block is solved, what is the output

Once solved, the hash output is like a fingerprint that uniquely identifies that block

Consequence of Ownership Structures

One interesting consequence of this ownership structure is that figuring out your own balance requires iterating through every transaction ever made and adding up all your unspent inputs.

Is it possible to switch out a block in the middle of the chain

One result of this is that there's no way to switch out a block in the middle of the chain, because the hash value for the new block would be different, and the next's block reference would no longer point to it.

What does Owning Bitcoins mean

Owning Bitcoins means that there are transactions in this list that point to your name, and haven't been spent, or, in other words, used as inputs in other transactions.

What is the real purpose of mining

Real purpose of mining : is to verify transactions, and safeguard the block chain

Is the system vulnerable to a double spend attack

So the system is only vulnerable to a double spend attack near the end of the chain, which is why it's recommended to wait for several blocks before considering received money final.

When in transaction verification, Nodes also need to make sure

So, when verifying a transaction, in addition to the other checks, nodes also make sure the inputs haven't already been spent

" How does the Bitcoin system order transactions

The Bitcoin system orders transactions by placing them in groups called blocks, and linking those blocks together in something called the block chain.

What is the difference between blockchain and transaction chain

The block chain is used to order transaction, whereas the transaction chain keeps track of how ownership changes

What is the current recommendation - to consider a block final

The current recommendation is to wait for a transaction to make it into at least one block, or get one confirmation, before considering it final.

What is the role of the first person

The first person to solve the math problem broadcasts their block, and gets to have their group of transactions accepted as next in the chain. The randomness in the math problem effectively spreads out when people find a solution, making it unlikely that two people will solve it at the same time.

The hash output or fingerprint is actually what is used as ...

The hash output, or fingerprint, is actually what's used as the "previous block" reference

" What is a puzzle from a technical perspective

The puzzle is defined using a special scripting language, and while it's typically designed so that only a single owner of a public key can solve it

Why is blockchain open to Potential for fraud

Therefore, you have no way to tell whether one transaction came before another, and this opens up the potential for fraud.

" What is the generic math behind digital signature

Through the math behind the Digital Signature, they are able to verify that the sender owned a private key without actually seeing it.

For each input, what is the role of each node

To be explicit, for each input, nodes check every other transaction ever made to make sure that input hasn't already been used before.

To send money one must ...

To send money, you must reference a previous transaction where you were the recipient.

What does transactions in the same block indicate

Transactions in the same block are considered to have happened at the same time

" What is requried for every transaction

Unlike a simple static password, a completely different Digital Signature is required for every transaction

Can a block be solved before a previous block

a block cannot be solved before the previous block is solved.

"Any node can collect a set of unconfirmed transactions into a block, and broadcast it to the rest of the network as a suggestion for what the next block in the chain should be.

how does the network decide which should be next? !" Part of Bitcoin's solution is that each valid block must contain the answer to a very special mathematical problem. Computers run the entire text of a block plus an additional random guess through something called a cryptographic hash until the output is below a certain threshold.

" What is the objective of solving a block

solving a block involves trying to get the cryptographic hash of the block to be below a certain value, and you do that by trying different random numbers at the end of the block.

What blocks are harder for the attacker to change ?

the farther back in the block chain a transaction gets, the harder it would be for an attacker to change it, as they must outpace the rest of the network for the time between when a transaction is sent, and when a product is shipped.

What is the state of transactions not in the block

transactions not yet in a block are called "unconfirmed," or unordered.


Related study sets

Pre-Surgical Care and Preparation (NCCT)

View Set

chapter 14: the genetic material (learnsmart)

View Set

Intracranial Regulation Assessment

View Set

Q1JZMzAxIC0gVMOgbiBxdXnhu4Nu, Mảnh bí kíp CRY302, CRY302

View Set

Chapter 7: Unemployment rate and inflation

View Set

CompTIA A+ Exam 220-1001 - Troubleshooting Quiz

View Set

Digital Marketing Associate | Practice Test A

View Set