Skip to content

guenoel/holbertonschool-blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockchain

Learning Objectives

How a Blockchain is considered “unbreakable”
  • Blockchains are considered secure due to their decentralized and distributed nature. The use of cryptographic algorithms and consensus mechanisms makes it extremely difficult to tamper with the data stored in blocks.
What is a hash algorithm
  • A hash algorithm is a mathematical function that takes an input (or message) and produces a fixed-size string of characters, which is typically a hash value. It is used in blockchain to create a unique identifier for data stored in a block.
What SHA stands for
  • SHA stands for Secure Hash Algorithm. It is a family of cryptographic hash functions designed by the National Security Agency (NSA). SHA-256 and SHA-3 are examples of widely used hash functions in blockchain.
How hash algorithms apply to Blockchains
  • Hash algorithms in blockchain are used to create a fixed-size representation (hash) of the block's data. This hash is included in the block, and any change in the data will result in a completely different hash, ensuring data integrity.
What is asymmetric cryptography
  • Asymmetric cryptography involves the use of key pairs: a public key and a private key. Data encrypted with the public key can only be decrypted with the corresponding private key, and vice versa.
How asymmetric cryptography applies to cryptocurrencies
  • Cryptocurrencies use asymmetric cryptography for secure transactions. Users have a pair of cryptographic keys, and the public key serves as their address. Transactions are signed with the private key to verify ownership.
What ECC stands for
  • ECC stands for Elliptic Curve Cryptography, which is a type of asymmetric cryptography. It provides strong security with shorter key lengths compared to traditional cryptographic methods.
What ECDSA stands for
  • ECDSA stands for Elliptic Curve Digital Signature Algorithm. It is an algorithm used in blockchain and cryptocurrencies for generating digital signatures, providing authentication and data integrity.
What a digital signature is
  • A digital signature is a cryptographic technique that verifies the authenticity and integrity of a message or document. In the context of cryptocurrencies, it ensures that a transaction was authorized by the rightful owner of the private key.
How digital signatures apply to cryptocurrencies
  • Digital signatures in cryptocurrencies are generated using the private key of the sender to prove ownership and authorization of a transaction. Verifying the signature with the corresponding public key confirms the authenticity of the transaction.

Learning Objectives

How a Blockchain is structured
  • A blockchain is a distributed and decentralized ledger that records transactions across a network of computers.
  • It consists of a chain of blocks, where each block contains a list of transactions.
How Blocks refer to each other
  • Each block in a blockchain contains a reference (usually a hash) to the previous block in the chain.
  • This creates a linked structure, where blocks are connected in a sequential order.
How immutability is maintained in a Blockchain
  • Immutability in a blockchain is maintained through the use of cryptographic hashes.
  • Once a block is added to the blockchain, it is difficult to alter because changing the data in one block would require changing the hash of that block and all subsequent blocks.
What is the Genesis Block, and why is it important
  • The Genesis Block is the first block in a blockchain.
  • It serves as the foundation for the entire blockchain and has no predecessor.
  • The information in the Genesis Block is usually hardcoded into the blockchain's protocol.
How to hash a Block, and what information is stored in the hash
  • A block is hashed by applying a cryptographic hash function (e.g., SHA-256) to its contents.
  • The hash includes the block's data, timestamp, previous block's hash, and a nonce (a value that, when hashed, meets certain criteria, typically related to the proof-of-work mechanism).
  • The hash uniquely identifies the block and ensures its integrity.

Information Stored in the Hash:

  • The hash of a block is a fixed-length string of characters that uniquely represents the block.
  • It includes information such as the block's data, timestamp, previous block's hash, and nonce.
  • Any change in the block's content will result in a completely different hash.

  • in progress
  • in progress
  • in progress

Author

  • Guénoël Andrieux

You can contact me 📩

Guénoël Andrieux

guenoel guenoel guenoel Holberton Toulouse

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published