0Pricing
Web3 & DApp Development Fundamentals · บทเรียน

บล็อกและเชน

บล็อกเชื่อมโยงกันอย่างไร

บล็อกและเชน เป็นบทเรียน Web3 & DApp Development Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Web3 & DApp Development Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Web3 & DApp Development Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

What Is a Block?

A block is the fundamental container in a blockchain. It bundles together a set of validated transactions along with metadata that ties it to the rest of the chain.

Each block has two main parts:

  • Header — metadata (timestamp, hashes, nonce)
  • Body — the list of transactions

Anatomy of a Block Header

The header is small but powerful. A typical Ethereum-style header includes:

  • previousHash — hash of the prior block
  • timestamp — when the block was created
  • merkleRoot — fingerprint of all transactions
  • nonce — value used in consensus

The header is what gets hashed to identify the block.

block Header {
    previousHash: 0x9f1c...a3
    timestamp:    1717000000
    merkleRoot:   0x4be2...07
    nonce:        42891
}

How Blocks Link Together

Every block stores the hash of the previous block. This single field is what turns a pile of blocks into a chain.

Because each block points backward, the blocks form an ordered, append-only sequence reaching all the way back to the very first block.

Block 0 (Genesis)
   |  hash = 0xAAA
   v
Block 1  prevHash = 0xAAA  hash = 0xBBB
   |
   v
Block 2  prevHash = 0xBBB  hash = 0xCCC

The Genesis Block

The genesis block is the first block in any blockchain. It is special because it has no parent — its previousHash is typically all zeros.

Every other block can be traced back to genesis, which acts as the shared root of trust for the entire network.

Genesis = {
    previousHash: 0x0000000000000000
    timestamp:    1438269973
    transactions: []
}

Why the Backward Link Matters

The backward link makes tampering obvious. If someone alters a transaction in an old block, that block's hash changes.

But the next block stored the old hash in its previousHash field, so the link breaks. The mismatch is instantly detectable.

Chains Are Append-Only

Blockchains are append-only data structures. You can add new blocks to the tip, but you cannot insert or delete blocks in the middle without breaking every link that follows.

This property is the foundation of blockchain immutability.

Block Height

Block height is the number of blocks between a given block and the genesis block. Genesis is height 0, the next block is height 1, and so on.

Height gives every block a clear position and lets the network agree on which chain is longest.

height 0 -> Genesis
height 1 -> Block 1
height 2 -> Block 2
...
height N -> latest block

Transactions Inside a Block

The block body holds an ordered list of transactions. Order matters: it determines the final state after the block is applied.

Once a block is finalized, the transactions it contains — and their order — are fixed forever.

Block 12 body:
  tx[0]: Alice -> Bob   (5 ETH)
  tx[1]: Bob   -> Carol (2 ETH)
  tx[2]: Carol -> Dave  (1 ETH)

Block Size and Limits

Blocks cannot grow without limit. Each chain sets a cap — Bitcoin uses a byte limit, while Ethereum caps the total gas a block may consume.

These limits keep blocks small enough to propagate quickly across the network.

Identifying a Block by Its Hash

A block's identity is its hash — the output of running its header through a cryptographic hash function.

Change any field in the header and the hash changes completely. That is why hashes act as tamper-evident fingerprints for blocks.

blockHash = sha256(
    previousHash + timestamp +
    merkleRoot + nonce
)

Putting It Together

A blockchain is simply a linked list of blocks where each link is a cryptographic hash of the prior block.

This combination of ordering, hashing, and append-only writes is what makes the chain trustworthy without any central authority.

Quick Check

Test your understanding of how blocks connect.

Recap: Blocks and Chains

You learned that:

  • A block has a header (metadata) and a body (transactions)
  • Blocks link by storing the previousHash
  • The genesis block is the root with no parent
  • Chains are append-only, making them immutable
  • A block's identity is its hash

Next, we explore how Merkle Trees summarize all transactions efficiently.

คำถามที่พบบ่อย

บทเรียน “บล็อกและเชน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “บล็อกและเชน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Web3 & DApp Development Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Web3 & DApp Development Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “บล็อกและเชน”

บล็อกเชื่อมโยงกันอย่างไร คุณปฏิบัติ Web3 & DApp Development Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Web3 & DApp Development Fundamentals หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Web3 & DApp Development Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “บล็อกและเชน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Web3 & DApp Development Fundamentals นี้ได้ไหม

ได้ บทเรียน Web3 & DApp Development Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บล็อกและเชน
  2. ต้นไม้ Merkle
  3. การแฮชในบล็อกเชน
  4. บัญชีแยกประเภทแบบกระจาย
← กลับไปที่ Web3 & DApp Development Fundamentals