บล็อกเชน
ความเที่ยงตรง > ลำดับธุรกรรม

แม้จะมีโซ่ธุรกรรมและลายเซ็นดิจิทัล แต่ก็ยังไม่สามารถบอกลำดับของธุรกรรมต่าง ๆ ได้
ทำให้อาจมีปัญหาการใช้ระบบโดยไม่ชอบ คือ
อีฟสามารถส่งเงินให้บ๊อบโดยระบุธุรกรรมในอดีตที่ได้ทรัพย์จากอะลิซ
ซึ่งเธอสามารถส่งไปที่บัญชีของบ๊อบ ผู้ก็จะส่งสินค้าหรือให้บริการตามที่ตกลง
เมื่อเธอได้รับสินค้าหรือการบริการแล้ว เธอยังสามารถใช้จ่ายเงินที่ได้จากอะลิซอีก โดยคราวนี้ส่งไปที่บัญชีของตัวเอง
แล้วแพร่สัญญาณการโอนมูลค่าใหม่นี้ไปยังเครือข่ายที่เหลือ โดยอ้างว่า ได้ทำธุรกรรมนี้ก่อน แต่เครือข่ายที่เหลือไม่สามารถรู้ได้ว่า ธุรกรรมไหนเกิดขึ้นก่อน
ถ้าเครือข่ายยอมรับการโอนมูลค่าที่อีฟส่งไปให้ตัวเอง การจ่ายเงินให้บ๊อบก็จะกลายเป็นธุรกรรมที่ไม่ถูกต้อง เพราะอ้างถึงสินทรัพย์ในธุรกรรมที่ได้ใช้ไปแล้ว
เพื่อป้องกันการใช้ระบบโดยไม่ชอบเช่นนี้ ก็จะต้องมีวิธีรักษาลำดับของธุรกรรม
ซึ่งเป็นเรื่องที่บล็อกเชนช่วยได้
เพราะธุรกรรมของบล็อกเชนจะรวมกลุ่มเป็นบล็อก ที่สมมุติว่า เกิดขึ้นพร้อมกัน
ดังนั้น โซ่ของบล็อกจึงเป็นตัวบอกลำดับธุรกรรม
ในบล็อกเชนของบิตคอยน์ เพื่อจะเพิ่มบล็อกเข้าในโซ่ ผู้บันทึกธุรกรรมจะรวมข้อมูลดังต่อไปนี้คือ
รายการธุรกรรมที่จะรวมเข้าในบล็อกพร้อมกับค่าแฮชในรูปแบบของต้นไม้แฮช
ค่าแฮชของบล็อกที่มาก่อนหน้า
ค่า nonce
ผู้สร้างบล็อก (สถานี) จะคำนวณค่าแฮชของบล็อกนี้ (ซึ่งแสดง proof-of-work) โดยมีค่าทั้งสามนี้เป็นข้อมูลขาเข้าของฟังก์ชันแฮช และค่า nonce จะเป็นค่าที่เพิ่มขึ้นจนกระทั่งค่าแฮชที่คำนวณผ่านกฎเกณฑ์ว่าใช้ได้
โดยกฎเกณฑ์ของบล็อกเชนจะทำให้ต้องใช้เวลาคำนวณประมาณ 10 นาทีเพื่อหาค่าที่ถูกต้องและใช้ได้
เมื่อสถานีคำนวณได้ค่าแฮช มันก็จะแพร่สัญญาณแสดงบล็อกที่มันต้องการเพิ่มเข้าในโซ่ พร้อมกับค่าแฮช (คือ proof-of-work) ของบล็อก
เครือข่ายที่เหลือจะตรวจความถูกต้องของข้อมูลในบล็อกแล้วต่อบล็อกใหม่เข้าเป็นลูกโซ่ของบล็อกเชน
อย่างไรก็ดี โซ่อาจเกิดมีหลายสาขาเพราะบางส่วนของเครือข่ายอาจจะอยู่แยกออกเป็นระยะเวลาหนึ่ง
ดังนั้น แต่ละสถานีก็จะเลือกโซ่ที่ยาวสุดแล้วพยายามเพิ่มบล็อกในสายโซ่นั้นเท่านั้น
การฉ้อฉลดังที่อีฟใช้ตามที่ว่า บัดนี้สามารถป้องกันได้โดยเหตุผลสามอย่าง คือ
เพราะข้อมูลที่อยู่ในบล็อกหนึ่ง ๆ จะรวมทั้งธุรกรรมใหม่ ๆ และค่าแฮชของบล็อกก่อน การเปลี่ยนข้อมูลในบล็อกหนึ่งจะไม่สามารถทำได้โดยไม่เปลี่ยนข้อมูลของบล็อกต่อ ๆ มาทั้งหมด
เครือข่ายจะเลือกโซ่ที่ยาวสุดเท่านั้น
การคำนวณค่าแฮชใช้เวลาและทรัพยากร (เช่นค่าไฟฟ้า) มาก
สมมุติว่า อีฟต้องการเปลี่ยนบล็อกย้อนหลังกลับไป 6 บล็อกในลูกโซ่
เนื่องจากเหตุผลแรก เธอก็จะต้องคำนวณค่าแฮชของบล็อก 5 บล็อกที่ตามต่อมา
หลังจากนั้น เนื่องจากเหตุผลที่สอง เธอก็จะต้องตามให้ทันเครือข่ายที่เหลือโดยเติมโซ่ให้มีบล็อกจำนวนมากกว่าทั้งเครือข่ายที่เหลือรวมกัน
และเนื่องจากเหตุผลที่สาม การทำเช่นนี้จะเป็นไปไม่ได้
ดังนั้น บล็อกเชนจึงปลอดภัยเนื่องจากงานที่ต้องทำเพื่อเพิ่มบล็อก
กล่าวอีกอย่างก็คือ มีคู่แข่งจำนวนมากที่แข่งขันเพื่อเพิ่มบล็อกต่อไป ทำให้ผู้กระทำผู้เดียวมีโอกาสน้อยมากที่จะแข่งชนะคู่แข่งที่เหลือทั้งหมดโดยเฉพาะเมื่อมีบล็อกต่อ ๆ มาเป็นจำนวนมาก
นี่จึงหมายว่า บล็อกยิ่งลึกเท่าไรในโซ่ก็ยิ่งปลอดภัยขึ้นเท่านั้น
เพื่อให้บล็อกเชนสามารถรับประกันความปลอดภัยเช่นนี้ได้ มันจะต้องมีผู้เข้าร่วมคือสถานีเป็นจำนวนมาก เป็นการป้องกันบุคคลเดียวไม่ให้มีพลังการคำนวณโดยเปรียบเทียบมากเกินไป ซึ่งเท่ากับลดอิทธิพลที่แต่ละคน ๆ จะมีต่อบล็อกเชนที่นับว่าถูกต้อง
ดังนั้น จึงต้องมีแรงจูงใจให้บุคคลต่าง ๆ พยายามคำนวณค่าแฮชและเพิ่มบล็อก
ในระบบบิตคอยน์ปัจจุบัน นี่ทำโดยให้รางวัลเป็นบิตคอยน์แก่ผู้ที่เพิ่มบล็อก
เมื่อสถานีหนึ่งเข้าร่วมเพื่อเป็นผู้เพิ่มบล็อก (ในระบบบิตคอยน์คือเข้าร่วมเป็นผู้ขุดหาเหรียญ) ขั้นตอนแรกที่จะต้องทำก็คือดาวน์โหลดและยืนยันความถูกต้องของบัญชีแยกประเภททั้งหมด (บล็อกเชตของบิตคอยน์โดยเดือนเมษายน 2018 ได้ถึงขนาด 160 GB แล้ว) รวมทั้ง
รหัสสาธารณะทั้งหมดสมกับข้อความที่เข้ารหัสหรือไม่
ธุรกรรมทั้งหมดอ้างอิงธุรกรรมอื่น ๆ ในอดีตหรือไม่
บล็อกแต่ละบล็อกมีค่าแฮชของบล็อกก่อนหรือไม่
เมื่อยืนยันสำเร็จแล้ว ก็เพียงแต่ต้องพิสูจน์ยืนยันบล็อกใหม่ ๆ ว่า ผ่านเกณฑ์ 3 อย่างนี้หรือไม่เท่านั้น