BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Ethereum ห้าปี: ตื่นจากนิพพาน

Unitimes
特邀专栏作者
บทความนี้มีประมาณ 8078 คำ การอ่านทั้งหมดใช้เวลาประมาณ 12 นาที
เมื่อบล็อกเชนเข้าสู่วิสัยทัศน์ของสาธารณชนอีกครั้งและได้รับความสนใจอย่างไม่เคยปรากฏมา
สรุปโดย AI
เมื่อบล็อกเชนเข้าสู่วิสัยทัศน์ของสาธารณชนอีกครั้งและได้รับความสนใจอย่างไม่เคยปรากฏมา

หมายเหตุบรรณาธิการ: บทความนี้มาจากUnitimes(ID:Uni-times)เผยแพร่โดยได้รับอนุญาต

หมายเหตุบรรณาธิการ: บทความนี้มาจาก

"ยุคก่อนประวัติศาสตร์ของโปรโตคอล Ethereum" โดย Vitalik Buterin แปลโดย: Nabaier

"Ethereum มีอายุ 5 ปี! "ผู้เขียน: Ethereum Foundation แปล: Johnny

ชื่อเรื่องรอง

เมื่อบล็อกเชนเข้าสู่วิสัยทัศน์ของสาธารณชนอีกครั้งและได้รับความสนใจอย่างไม่เคยปรากฏมาก่อนจากยักษ์ใหญ่ด้านเทคโนโลยี Ethereum ได้กลายเป็นเรือลำยักษ์ที่ไม่สามารถเพิกเฉยได้ในด้านบล็อกเชน ในยุคที่วุ่นวายของการเติบโตของทุนอย่างไร้ยางอายและโหดร้าย นักพัฒนาและชุมชนของ Ethereum ได้ดูแลเรือขนาดเล็กลำนี้อย่างระมัดระวัง รักษาทิศทางที่มั่นคง และอัปเกรดให้เป็นเรือขนาดยักษ์ไปพร้อมกัน

วันที่ 30 กรกฎาคม 2020 ไม่ใช่แค่วันครบรอบปีที่ 5 ของ Ethereum เท่านั้น แต่ยังเป็นวันที่คาดอีกด้วย: อีกไม่กี่วันต่อมาเครือข่ายทดสอบของ Ethereum 2.0 จะเปิดตัวอย่างเป็นทางการ เท่ากับว่า Ethereum อยู่ห่างจากคอมพิวเตอร์ของโลกไปก้าวหนึ่งก้าว จนถึงตอนนี้กว่า 92% ของความคืบหน้าการเปิดตัวของเครือข่ายทดสอบ Ethereum 2.0 เสร็จสมบูรณ์แล้ว

ชื่อเรื่องรอง

ภัยพิบัติ

เมื่อวันที่ 17 มิถุนายน 2559 Vitalik ผู้ก่อตั้ง Ethereum ได้ออกคำเตือนอย่างเร่งด่วนบน Reddit โดยแจ้งว่า "DAO ถูกโจมตีโดยแฮ็กเกอร์ แพลตฟอร์มการซื้อขายทั้งหมดได้รับการร้องขอให้ระงับการทำธุรกรรม ETH/DAO และการฝากและถอนทันที" สงครามต่อต้านและป้องกันหนึ่งเดือนนี้จบลงด้วยการแยก Ethereum blockchain ออกเป็น ETH (ชื่อต่อไปคือ "Ethereum") และ ETC (Ethereum Classic) หลังจากประสบกับเหตุการณ์ DAO Ethereum ไม่สามารถกำจัดคำถามเรื่อง "การรวมศูนย์" ได้เป็นเวลานาน และถูกปิดล้อมโดยชุมชนภายนอกอื่นๆ

การเฉลิมฉลองของผู้คนในวันนี้ดูเหมือนจะลืมบทเรียนของเมื่อวาน ในอนาคต ศัตรูที่ใหญ่ที่สุดของ Ethereum ไม่ได้มาจากภายนอก แต่มาจากภายใน การตรวจสอบให้มั่นใจว่าโมดูลที่มีรายละเอียดทุกส่วนของเรือบรรทุกเครื่องบินทำงานอย่างถูกต้องนั้นยากกว่าการป้องกันศัตรูจากต่างประเทศมาก

ตามลำดับ

หลังจากการกำเนิดของ Ethereum สมาชิกในทีมผู้ก่อตั้งค่อยๆ เปลี่ยนโฟกัสไปที่สาขาที่กว้างขึ้น หรืออุทิศตนเพื่อขยายระบบนิเวศของ Ethereum หรืออุทิศตนเพื่อสำรวจเทคโนโลยีใหม่ๆ และกลายเป็นคู่แข่งของ Ethereum วันนี้ นอกเหนือจาก Vitalik ที่ยังคงมุ่งเน้นไปที่การพัฒนา Ethereum ผู้ก่อตั้งคนอื่นๆ กำลังทำงานเกี่ยวกับกรอบสังคม Ethereum Akasha (Mihai Alisie), Jaxx Wallet (ลาออก, Anthony Dilorio), เครือข่ายสาธารณะ Cardano (Charles Hoskinson), Polkadot และ Web3 Foundation Will (เกวิน วูด)

ชื่อเรื่องรองhttps://vitalik.caยังมีต่อ

เขียนบทความวิจารณ์ "How Ethereum เกิด" ในโอกาสครบรอบวันเกิดปีที่ 5 ของ Ethereum เราอาจทบทวน "ประวัติศาสตร์ก่อนประวัติศาสตร์ของ Ethereum Protocol" ด้วยเช่นกัน

บทความนี้คัดลอกมาจาก "Ideal: The Genesis of Ethereum's Blockchain" เขียนโดย Vitalik Buterin และแปลและเผยแพร่โดย Lingtai Technology และ Unicorn Times ในเวลาเดียวกัน ฉันขอขอบคุณนักพัฒนา นักแปล และผู้เผยแพร่ศาสนาทุกคนในชุมชน Ethereum อย่างจริงใจ เพราะคุณ โลกของบล็อกเชนจึงไม่จำเจอีกต่อไป

ชื่อเรื่องรอง

ยุคก่อนประวัติศาสตร์ของโปรโตคอล Ethereum

(14 กันยายน 2560)

หมายเหตุบรรณาธิการ: บทความนี้เป็นความทรงจำของ Vitalik เกี่ยวกับกระบวนการพัฒนาโปรโตคอล Ethereum โดยบอกเล่าเรื่องราวของโปรโตคอล Ethereum ตั้งแต่แนวคิดไปจนถึงการเปิดตัวครั้งแรกและการทำซ้ำ

แม้ว่าแนวคิดเบื้องหลังโปรโตคอล Ethereum ในปัจจุบันจะมีความเสถียรอย่างมากในช่วงสองปีที่ผ่านมา แต่แนวคิดปัจจุบันและรูปแบบที่สมบูรณ์ของ Ethereum ไม่ได้เป็นรูปเป็นร่างในชั่วข้ามคืน หลังจากการเปิดตัว Ethereum blockchain โปรโตคอลได้ผ่านวิวัฒนาการและการตัดสินใจที่สำคัญหลายอย่าง บทความนี้มีวัตถุประสงค์เพื่อทบทวนวิวัฒนาการของโปรโตคอล Ethereum ตั้งแต่เริ่มต้นจนถึงการเปิดตัว สำหรับงานมากมายที่ทำโดย Geth, cppethereum, pyethereum และ EthereumJ ในกระบวนการของการนำโปรโตคอลไปใช้ ตลอดจนแอปพลิเคชันและประวัติธุรกิจของระบบนิเวศ Ethereum นั้นจะอยู่นอกเหนือขอบเขตของบทความนี้

https://web.archive.org/

ประวัติของแคสเปอร์และการวิจัยแบบแยกส่วนอยู่นอกขอบเขตเช่นกัน ไม่ต้องสงสัยเลยว่าเราจะสามารถเขียนบทความเพิ่มเติมเกี่ยวกับประเด็นต่างๆ ที่ Vlad, Gavin, ตัวฉันเอง และคนอื่นๆ ได้สร้างและละทิ้งไป รวมถึง Proof-of-Work, Round-Robin Auxiliary Multi-chain, Hypercube, Shadow Chain (อาจกล่าวได้ว่าเป็น บรรพบุรุษของ Plamsa) เส้นใยลูกโซ่และ Casper รุ่นต่างๆ ที่วนซ้ำ ตลอดจนกลไกการจูงใจที่เสนอโดย Vlad และธรรมชาติของมันสำหรับผู้เข้าร่วมในโครงการฉันทามติ วิวัฒนาการอย่างรวดเร็วของแนวคิดการให้เหตุผล เรื่องราวเบื้องหลังประเด็นเหล่านี้ซับซ้อนพอที่จะสมควรได้รับบทความอื่น ดังนั้นเราจะไม่พูดถึงพวกเขาในตอนนี้

เริ่มจากรุ่นแรกสุดกันก่อน ในที่สุดเวอร์ชันนี้ก็กลายเป็น Ethereum แต่ในขณะนั้นยังไม่ได้เรียกว่า Ethereum เมื่อฉันไปเยือนอิสราเอลในเดือนตุลาคม 2013 ฉันใช้เวลามากมายกับทีมงานของ Mastercoin และแนะนำให้พวกเขาเพิ่มคุณสมบัติบางอย่าง หลังจากคิดสองครั้งเกี่ยวกับสิ่งที่พวกเขาทำ ฉันได้ส่งข้อเสนอให้ทีมเพื่อทำให้โปรโตคอลของพวกเขากว้างมากขึ้นและสามารถรองรับสัญญาประเภทต่างๆ ได้มากขึ้นโดยไม่ต้องเพิ่มชุดคุณลักษณะขนาดใหญ่และซับซ้อน:

https://web.archive.org/

ควรสังเกตว่าเวอร์ชั่นนี้แตกต่างอย่างมากจากวิสัยทัศน์ที่กว้างขึ้นของ Ethereum ในยุคต่อมา: มันมุ่งเน้นไปที่เทคโนโลยีที่ Mastercoin พยายามที่จะทำลายในเวลานั้น นั่นคือสัญญาสองฝ่าย ในสัญญานี้ ฝ่าย A และฝ่าย B ร่วมกันลงทุนเงิน จากนั้นทั้งสองฝ่ายสามารถถอนเงินได้ตามสูตรที่ระบุในสัญญา (เช่น เนื้อหาของการเดิมพันคือ "ถ้า X เกิดขึ้น ให้มอบเงินทั้งหมดให้กับ A มิฉะนั้น , ให้เงินทั้งหมดแก่ B"). ภาษาสคริปต์ที่ใช้ในสัญญานี้ยังไม่เสร็จสมบูรณ์

ทีมงาน Mastercoin รู้สึกประทับใจกับสิ่งนี้ แต่พวกเขาไม่สนใจที่จะละทิ้งทุกสิ่งที่พวกเขาทำเพื่อมุ่งสู่ทิศทางนี้ และฉันเชื่อมั่นมากขึ้นว่านี่เป็นทางเลือกที่ถูกต้อง ประมาณเดือนธันวาคม รุ่นที่สองออกมา:

ในรุ่นนี้ คุณสามารถดูผลลัพธ์ของการปรับโครงสร้างใหม่ทั้งหมดที่ทำเสร็จแล้ว ผลลัพธ์เหล่านี้ส่วนใหญ่นึกถึงระหว่างการเดินระยะยาวในซานฟรานซิสโกในเดือนพฤศจิกายน เมื่อถึงจุดนั้น ฉันตระหนักว่าสัญญาอัจฉริยะมีศักยภาพที่จะเป็นแบบทั่วไปอย่างสมบูรณ์ เมื่อเทียบกับภาษาสคริปต์ที่สามารถอธิบายความสัมพันธ์ระหว่างทั้งสองฝ่ายได้อย่างง่ายๆ ตัวสัญญาเองเป็นบัญชีที่บรรลุนิติภาวะแล้ว และมีความสามารถในการถือครอง ส่งและรับทรัพย์สิน และยังสามารถรักษาพื้นที่จัดเก็บถาวรได้ (ในขณะนั้น พื้นที่จัดเก็บถาวร ถูกเรียกว่า "หน่วยความจำ" และ "หน่วยความจำ" ชั่วคราวเท่านั้นคือ 256 การลงทะเบียน) เป็นเพียงว่าภาษาได้เปลี่ยนจากเครื่องเสมือนแบบสแต็กเป็นเครื่องเสมือนแบบลงทะเบียนซึ่งสอดคล้องกับความต้องการของฉันมากกว่า ฉันมีปัญหาเล็กน้อยกับเรื่องนี้ ยกเว้นว่ามันซับซ้อนกว่านั้น

"อีเธอร์" หมายถึงอีเธอร์อย่างแท้จริง (นั่นคือเชื้อเพลิงซึ่งเทียบเท่ากับก๊าซ) หลังจากแต่ละขั้นตอนการคำนวณเสร็จสิ้น ยอดคงเหลือของสัญญาที่เรียกใช้โดยธุรกรรมจะลดลงบางส่วน หากเงินในสัญญาหมดลง กระบวนการดำเนินการจะหยุดลง โปรดทราบว่ากลไกการจ่ายเงินของผู้รับหมายความว่าตัวสัญญาจะต้องกำหนดให้ผู้ส่งจ่ายค่าธรรมเนียมให้กับสัญญา หากไม่ได้รับค่าธรรมเนียมจะดำเนินการถอนการดำเนินการทันที โปรโตคอลเวอร์ชันนี้กำหนดขีดจำกัดการดำเนินการฟรี 16 ขั้นตอน ทำให้สัญญาสามารถปฏิเสธธุรกรรมที่ไม่เสียค่าธรรมเนียมได้

ณ จุดนี้ โปรโตคอล Ethereum ถูกสร้างขึ้นโดยฉันคนเดียว อย่างไรก็ตาม จากจุดนี้ ผู้เล่นใหม่เริ่มเข้าร่วมค่าย Ethereum ผู้เล่นที่โดดเด่นที่สุดในแง่ของข้อตกลงคือ Gavin ซึ่งเริ่มติดต่อฉันในเดือนธันวาคม 2013 ผ่านทางข้อความส่วนตัวบน about.me

Jeffrey Wilcke หัวหน้าผู้พัฒนาไคลเอนต์ Go (ตอนนั้นเรียกว่า "ethereal") ก็ติดต่อฉันในช่วงเวลาเดียวกันและเริ่มเขียนโปรแกรม แม้ว่าการมีส่วนร่วมของเขาจะเป็นการพัฒนาลูกค้ามากกว่าการวิจัยโปรโตคอล

การมีส่วนร่วมในช่วงแรกของ Gavin เป็นสองเท่า อันดับแรก คุณอาจสังเกตเห็นว่ารูปแบบการเรียกใช้สัญญาในการออกแบบดั้งเดิมเป็นแบบอะซิงโครนัส: แม้ว่าสัญญา A สามารถสร้างธุรกรรมภายในเพื่อทำสัญญา B ได้ ("ธุรกรรมภายใน" เป็นศัพท์เฉพาะของ Ethereum: แต่เดิมเรียกว่า "ธุรกรรม") ซึ่งต่อมาจะกล่าวถึง เป็น "สายข้อความ" หรือ "โทร") การดำเนินการธุรกรรมภายในจะไม่เริ่มขึ้นจนกว่าการดำเนินการธุรกรรมแรกจะเสร็จสมบูรณ์ ซึ่งหมายความว่าการทำธุรกรรมไม่สามารถใช้ธุรกรรมภายในเป็นช่องทางในการรับข้อมูลจากสัญญาอื่น ในการรับข้อมูลจากสัญญาอื่น คุณสามารถใช้ EXTRO opcode เท่านั้น (ประเภทเช่น SLOAD ที่คุณใช้เพื่ออ่านการจัดเก็บสัญญาอื่น ๆ ) แต่ opcode นี้ จากนั้นจะถูกลบออกด้วยการสนับสนุนจาก Gavin และคนอื่นๆ

Gavin เปลี่ยนแปลงวิสัยทัศน์ของ Ethereum อย่างละเอียดอ่อนมาก: จากแพลตฟอร์มสำหรับสร้างเงินที่ตั้งโปรแกรมได้—ด้วยสัญญาบนบล็อกเชนที่ถือครองสินทรัพย์ดิจิทัลและโอนตามกฎไปยังแพลตฟอร์มคอมพิวเตอร์ทั่วไป การเปลี่ยนแปลงนี้เริ่มต้นด้วยการเปลี่ยนแปลงเล็กน้อยในโฟกัสและคำศัพท์สำหรับ Ethereum และต่อมาเมื่อเรายอมรับการรวม Web 3 (ซึ่งเห็นว่า Ethereum เป็นส่วนหนึ่งของชุดเทคโนโลยีแบบกระจายอำนาจ อีกสองรายการคือ Whisper และ Swarm รูปที่ 1) ได้รับการเน้นย้ำมากขึ้น และ เอฟเฟกต์นี้ยังแข็งแกร่งขึ้นอย่างต่อเนื่อง

รูปที่ 1

ในช่วงต้นปี 2014 เราได้ทำการเปลี่ยนแปลงบางอย่างตามคำแนะนำของผู้อื่น หลังจากที่ Andrew Miller et al ลอยความคิดที่จะกลับไปใช้สถาปัตยกรรมแบบ Stack-Based ในที่สุดเราก็กลับไป (รูปที่ 2)

รูปที่ 2

คำอธิบายภาพ

รูปที่ 2

https://github.com/

Charles Hoskinson แนะนำให้เราเปลี่ยนจาก SHA256 ของ Bitcoin เป็น SHA3 ที่ใหม่กว่า (หรือให้แม่นยำกว่านั้นคือ keccak256) แม้ว่าจะมีการถกเถียงกันอยู่พักหนึ่ง แต่การหารือกับ Gavin, Andrew และคนอื่นๆ ระบุว่าขนาดของค่าในสแต็กควรจำกัดไว้ที่ 32 ไบต์ อีกทางเลือกหนึ่ง—จำนวนเต็มไม่จำกัด—ยังอยู่ระหว่างการพิจารณาเนื่องจากปัญหาที่ว่าเป็นการยากที่จะทราบว่าต้องใช้ก๊าซเท่าใดในการบวก การคูณ และการดำเนินการอื่นๆ

ย้อนกลับไปในเดือนมกราคม 2014 อัลกอริทึมการขุดที่เรานึกถึงเป็นครั้งแรกคือสิ่งที่เรียกว่า Dagger:

Dagger ตั้งชื่อตาม Directed Acyclic Graph (DAG) DAG เป็นโครงสร้างทางคณิตศาสตร์ที่ใช้ในอัลกอริทึม แนวคิดคือทุกๆ N บล็อกจะมี DAG ใหม่ที่สร้างขึ้นแบบสุ่มโดยเมล็ด ยิ่งไปกว่านั้น ชั้นล่างสุดของ DAG จะเป็นชุดของโหนดที่ต้องจัดเก็บเป็นพันล้านไบต์ อย่างไรก็ตาม ใน DAG การสร้างค่าแต่ละค่านั้นต้องการการคำนวณเพียงไม่กี่พันรายการเท่านั้น การคำนวณกริชประกอบด้วยการใช้ค่าจำนวนหนึ่งที่ใดก็ได้ในชุดข้อมูลพื้นฐานนี้ แล้วแฮชค่าเหล่านั้นเข้าด้วยกัน ซึ่งหมายความว่ามีวิธีที่รวดเร็วในการคำนวณกริช - จัดเก็บข้อมูลไว้ในหน่วยความจำแล้วด้วยวิธีที่ช้าแต่ไม่ใช้หน่วยความจำมาก - เพื่อสร้างใหม่จาก DAG ทุกบิตที่คุณต้องการเพื่อดึงค่าตั้งแต่เริ่มต้น

จุดประสงค์ของอัลกอริทึมนี้คือเพื่อให้มีคุณสมบัติจำกัดหน่วยความจำเช่นเดียวกับอัลกอริทึมยอดนิยมในขณะนั้น เช่น อัลกอริทึม Scrypt แต่ยังคงเป็นมิตรกับไคลเอ็นต์ขนาดเล็ก นักขุดจะใช้วิธีการที่รวดเร็ว ดังนั้นการขุดของพวกเขาจะถูกจำกัดด้วยแบนด์วิธหน่วยความจำ (ตามทฤษฎีแล้ว หน่วยความจำระดับผู้บริโภคได้รับการปรับให้เหมาะสมเพียงพอที่การปรับให้เหมาะสมต่อไปด้วย ASICs นั้นยากมาก) แต่การตรวจสอบความถูกต้องของไคลเอนต์แบบเบาสามารถทำได้ในลักษณะที่ช้าและช้า . วิธีการที่รวดเร็วอาจใช้เวลาเป็นไมโครวินาที ในขณะที่วิธีการที่ช้าและเป็นมิตรกับหน่วยความจำอาจใช้เวลาเป็นมิลลิวินาที ดังนั้นจึงยังเป็นไปได้สำหรับไคลเอ็นต์ขนาดเล็ก

จากจุดนี้ อัลกอริทึมได้รับการเปลี่ยนแปลงหลายอย่างในระหว่างการพัฒนา Ethereum แนวคิดต่อไปคือ Adaptive Proof of Work ในรูปแบบนี้ การพิสูจน์การทำงานจะเกี่ยวข้องกับการดำเนินการตามสัญญา Ethereum ที่เลือกแบบสุ่ม และมีวิธีอันชาญฉลาดในการต่อต้าน ASIC: หาก ASIC ได้รับการพัฒนา นักขุดที่แข่งขันกันจะมีแรงจูงใจในการสร้างและออกสัญญาที่ ASIC ไม่ใช่ เก่งในการดำเนินการ ไม่สามารถใช้ ASIC สำหรับการคำนวณทั่วไปได้เนื่องจากเป็นเพียง CPU ดังนั้นเราจึงสามารถใช้ประโยชน์จากสิ่งจูงใจของฝ่ายตรงข้ามเหล่านี้เพื่อใช้การพิสูจน์การทำงานที่ดำเนินการคำนวณตามวัตถุประสงค์ทั่วไปเป็นหลัก

ความคิดต่อมาก็แตกสลายด้วยเหตุผลง่ายๆ ข้อเดียว เหตุผลนี้คือการโจมตีระยะไกล ผู้โจมตีสามารถสร้างเชนโดยเริ่มจากบล็อก 1 และเติมเชนด้วยสัญญาง่ายๆ เท่านั้น ควรสังเกตว่าผู้โจมตีสามารถออกแบบฮาร์ดแวร์พิเศษสำหรับสัญญาง่ายๆ นี้ เพื่อให้สายการโจมตีสามารถไล่ตามสายหลักได้อย่างรวดเร็ว ดังนั้น... กลับไปที่ตารางที่หนึ่ง

อัลกอริทึมถัดไปเรียกว่า "วงจรสุ่ม" และคำอธิบายสามารถพบได้ในเอกสารประกอบของ Google อัลกอริทึมนี้เสนอโดยฉันและ Vlad Zamfir และวิเคราะห์โดย Matthew Wampler-Doty และคนอื่นๆ แนวคิดของอัลกอริทึมนี้คือการจำลองการคำนวณทั่วไปในอัลกอริทึมการขุดโดยใช้วงจรการสร้างแบบสุ่มหลอก ครั้งนี้ไม่มีหลักฐานที่แน่ชัดว่าสิ่งที่ยึดตามหลักการเหล่านี้ไม่ได้ผล แต่ผู้เชี่ยวชาญด้านฮาร์ดแวร์คอมพิวเตอร์ที่เราพูดคุยด้วยในปี 2014 นั้นมองโลกในแง่ร้ายมาก Matthew Wampler-Doty เสนอโซลูชัน SAT ที่ใช้การพิสูจน์ผลงานซึ่งถูกปฏิเสธเช่นกัน

ในที่สุด หลังจากหมุนไปสักพัก เราก็ได้อัลกอริธึม Dagger Hashimoto ซึ่งบางครั้งเรียกง่ายๆ ว่า Dashimoto อัลกอริทึมนี้ยืมแนวคิดมากมายจากฮาชิโมโตะ Hashimoto เป็นกลไกพิสูจน์การทำงานที่เสนอโดยแธดเดียส ดรายจา ซึ่งเป็นผู้บุกเบิกแนวคิด "I/O-constrained proof-of-work" ในกลไกนี้ ปัจจัยจำกัดหลักในความเร็วในการขุดไม่ใช่ความเร็วของการดำเนินการแฮชต่อวินาที แต่เป็นจำนวนเมกะไบต์ของ RAM ที่เข้าถึงได้ต่อวินาที อย่างไรก็ตาม Dagger Hashimoto ได้รวมกลไกการพิสูจน์การทำงานเข้ากับชุดข้อมูลที่สร้างขึ้นโดย DAG ที่เป็นมิตรกับไคลเอ็นต์ในอัลกอริทึม Dagger หลังจากปรับแต่งด้วยตัวเอง Matthew, Tim และคนอื่นๆ หลายครั้ง ในที่สุดแนวคิดเหล่านี้ก็ได้รวมอยู่ในอัลกอริทึมที่เราเรียกว่า "Ethash"

ภายในฤดูร้อนปี 2014 เว้นแต่ว่า Proof of Work จะไม่ถึงขั้น Ethash จนกว่าจะถึงต้นปี 2015 โปรโตคอลนี้ค่อนข้างเสถียร และข้อกำหนดกึ่งทางการได้รับการตีพิมพ์ในรูปของเอกสารสีเหลืองของ Gavin

ในเดือนสิงหาคม 2014 ฉันได้พัฒนาและแนะนำกลไกบล็อกลุง กลไกนี้สามารถช่วยให้บล็อกเชนของ Ethereum มีเวลาบล็อกที่สั้นลงและความสามารถในการประมวลผลที่สูงขึ้น ในขณะที่ลดความเสี่ยงของการรวมศูนย์ สำหรับการแนะนำกลไกการบล็อกลุง โปรดดูที่ PoC6

หลังจากการหารือกับทีม BitShares เราได้พิจารณาใช้ฮีปเป็นโครงสร้างข้อมูลชั้นหนึ่ง แม้ว่าในท้ายที่สุดเราไม่ได้ดำเนินการดังกล่าวเนื่องจากไม่มีเวลา และการตรวจสอบความปลอดภัยและการโจมตี DoS ในภายหลังทำให้เราชัดเจนว่าการนำข้อมูลไปใช้ คุณสมบัตินี้อย่างปลอดภัยในเวลานั้นยากกว่าที่เราคิดไว้มาก

ในเดือนกันยายน ฉันกับเกวินวางแผนที่จะทำการเปลี่ยนแปลงที่สำคัญ 2 อย่างในการออกแบบโปรโตคอล ก่อนอื่น นอกจากแผนผังสถานะและแผนผังธุรกรรมแล้ว แต่ละบล็อกจะมีแผนผังการรับสินค้าด้วย แผนผังใบเสร็จจะมีแฮชของบันทึกที่สร้างขึ้นโดยแต่ละธุรกรรมและรูทสถานะระดับกลาง บันทึกจะอนุญาตให้ธุรกรรมสร้างผลลัพธ์ที่สามารถจัดเก็บไว้ในบล็อกเชนและเข้าถึงได้โดยไคลเอ็นต์แบบไลท์ อย่างไรก็ตาม สถานะการคำนวณในอนาคตไม่สามารถเข้าถึงบันทึกเหล่านี้ได้ แนวทางนี้ช่วยให้แอปพลิเคชันแบบกระจายศูนย์สามารถสืบค้นเหตุการณ์ต่างๆ ได้อย่างง่ายดาย เช่น การโอนโทเค็น การซื้อ คำสั่งซื้อแลกเปลี่ยนที่กำลังสร้างและจับคู่ การประมูลที่กำลังดำเนินการ เป็นต้น

นอกจากนี้ เรายังพิจารณาแนวคิดอื่นๆ เช่น การแยก Merkle tree ออกจากร่องรอยการดำเนินธุรกรรมโดยสมบูรณ์ เพื่อให้พิสูจน์เนื้อหาตามอำเภอใจได้ หลังจากการประนีประนอมระหว่างความเรียบง่ายและความสมบูรณ์ เราเลือกใช้บันทึก

ประการที่สองคือแนวคิดของการรวบรวมล่วงหน้า การคอมไพล์ล่วงหน้าช่วยแก้ปัญหาของการอนุญาตให้ใช้การคำนวณการเข้ารหัสที่ซับซ้อนใน EVM โดยไม่ต้องจัดการกับค่าใช้จ่าย EVM เรายังมีความคิดทะเยอทะยานมากมายสำหรับสัญญาเนทีฟ ในแนวคิดเหล่านี้ หากนักขุดมีวิธีการดำเนินการที่ดีกว่าสำหรับสัญญาบางอย่าง พวกเขาจะโหวตให้ลดราคาก๊าซของสัญญาเหล่านี้ ด้วยวิธีนี้ สัญญาที่สามารถดำเนินการได้อย่างรวดเร็วโดยนักขุดส่วนใหญ่จะมีราคาก๊าซที่ลดลงโดยธรรมชาติ อย่างไรก็ตาม แนวคิดทั้งหมดเหล่านี้ถูกปฏิเสธเนื่องจากเราไม่สามารถหาวิธีที่ปลอดภัยในการเข้ารหัสเพื่อนำมาใช้ได้ ผู้โจมตีสามารถสร้างสัญญาเพื่อดำเนินการเข้ารหัสลับกับประตูกลได้เสมอ จากนั้นแจกจ่ายประตูกลให้กับตัวเองและเพื่อน ๆ เพื่อให้สามารถดำเนินการตามสัญญานี้ได้เร็วขึ้น จากนั้นผู้โจมตีจะโหวตให้ลดราคาก๊าซและใช้สิ่งนี้เพื่อ DoS เครือข่าย แต่เราเลือกใช้วิธีการที่ทะเยอทะยานน้อยกว่าเพียงแค่ระบุปริมาณที่คอมไพล์ล่วงหน้าเล็กน้อยในโปรโตคอลสำหรับการดำเนินการทั่วไป เช่น แฮชชิ่งและซิกเนเจอร์สคีม

กาวินยังเป็นบุคคลสำคัญในการสนับสนุนแนวคิดในการพัฒนานามธรรมของโปรโตคอล ที่เรียกว่านามธรรมของโปรโตคอลคือการย้ายส่วนต่าง ๆ ของโปรโตคอล เช่นความสมดุลของ Ethereum อัลกอริทึมลายเซ็นธุรกรรม หมายเลขสุ่ม ฯลฯ เข้าสู่โปรโตคอลในรูปแบบของสัญญา เป้าหมายสูงสุดทางทฤษฎีคือการบรรลุเป้าหมายที่สามารถอธิบายโปรโตคอล Ethereum ทั้งหมดได้ว่าเป็นการเพิ่มการเรียกฟังก์ชันไปยังเครื่องเสมือนด้วยสถานะเริ่มต้นล่วงหน้าเฉพาะ เราไม่มีเวลามากพอที่จะรวมแนวคิดทั้งหมดเหล่านี้เข้ากับการเผยแพร่ครั้งแรกของbleeding edge แต่คาดว่าหลักการเหล่านี้จะค่อยๆ เริ่มบูรณาการผ่านการเปลี่ยนแปลงบางอย่างใน "คอนสแตนติโนเปิล" สัญญาแคสเปอร์ และข้อกำหนดการแบ่งชิ้นส่วน

สิ่งเหล่านี้ถูกนำมาใช้ใน PoC 7 โปรโตคอลไม่ได้เปลี่ยนแปลงมากนักหลังจาก PoC 7 ยกเว้นเล็กน้อยเล็กน้อย แต่ในบางกรณีการเปลี่ยนแปลงที่สำคัญ รายละเอียดเหล่านี้จะประกาศหลังจากผ่านการตรวจสอบความปลอดภัย

ภายในต้นปี 2558 Jutta Steiner และคนอื่นๆ ได้จัดการตรวจสอบความปลอดภัยก่อนเผยแพร่ รวมถึงการตรวจสอบรหัสซอฟต์แวร์และการตรวจสอบทางวิชาการ การตรวจสอบโค้ดซอฟต์แวร์ส่วนใหญ่ใช้ในภาษา C++ และ Go ที่นำโดย Gavin และ Jeffrey ตามลำดับ แม้ว่าการใช้งาน Pyethereum ของฉันจะทำการตรวจสอบอย่างง่าย จากการตรวจสอบทางวิชาการสองครั้ง การตรวจสอบครั้งหนึ่งดำเนินการโดย Ittay Eyal (ผู้มีชื่อเสียงจากการเสนอ "การทำเหมืองแบบเห็นแก่ตัว") และการตรวจสอบอีกครั้งโดย Andrew Miller และสมาชิกคนอื่นๆ ของ Least Authority การตรวจสอบของ Eyal ส่งผลให้เกิดการเปลี่ยนแปลงโปรโตคอลเล็กน้อย โดยที่บล็อกลุงจะไม่รวมอยู่ในค่าความยากทั้งหมดของเชน การตรวจสอบโดย Least Authority มุ่งเน้นไปที่สัญญาอัจฉริยะ การประหยัดเชื้อเพลิง และ Patricia tree การตรวจสอบยังส่งผลให้เกิดการเปลี่ยนแปลงโปรโตคอลหลายอย่าง การเปลี่ยนแปลงเล็กน้อยคือการใช้ sha3(addr) และ sha3(key) เป็นค่าคีย์ของแผนผังแทนที่จะใช้แอดเดรสและค่าคีย์โดยตรง สิ่งนี้จะทำให้ผู้โจมตีโจมตีกรณีที่แย่ที่สุดบนต้นไม้ได้ยากขึ้น

ประเด็นสำคัญอีกประการหนึ่งที่เราพูดถึงคือกลไกการลงคะแนนเสียงจำกัดก๊าซ ณ จุดนั้น เรามีความกังวลเกี่ยวกับการขาดความคืบหน้าในการถกเถียงเรื่องขนาดบล็อกของ Bitcoin และต้องการให้มีการออกแบบที่ยืดหยุ่นใน Ethereum: การออกแบบที่สามารถปรับเปลี่ยนได้ตลอดเวลาตามต้องการ แต่ความท้าทายคือ อะไรคือข้อจำกัดที่เหมาะสมที่สุด? ความคิดแรกของฉันคือการมีขีดจำกัดไดนามิก 1.5 เท่าของค่าเฉลี่ยเคลื่อนที่แบบเอ็กซ์โปเนนเชียลในระยะยาวของการใช้เชื้อเพลิงจริง ดังนั้นในระยะยาว บล็อกโดยเฉลี่ยจะใช้ความจุถึง 2/3 อย่างไรก็ตาม แอนดรูว์แสดงให้เห็นว่าขีดจำกัดนี้สามารถใช้ประโยชน์ได้ในบางวิธี โดยเฉพาะอย่างยิ่ง นักขุดที่ต้องการเพิ่มขีดจำกัดจำเป็นต้องรวมธุรกรรมที่ใช้น้ำมันมากแต่ใช้เวลาในการประมวลผลเพียงเล็กน้อยในบล็อกของตนเอง ดังนั้นการสร้างบล็อกที่โหลดเต็ม โดยไม่เสียต้นทุน ดังนั้น ท้ายที่สุดแล้ว รูปแบบการรักษาความปลอดภัยของกลไกนี้จึงเทียบเท่ากับการให้คนงานเหมืองโหวตขีดจำกัดก๊าซ

หลังจากมินิแฮ็กกาธอนกับ Gavin และ Jeff ในที่สุด PoC 9 ก็ออกมาในเดือนมีนาคม มีวัตถุประสงค์เพื่อเป็นรุ่นสุดท้ายของการพิสูจน์แนวคิด เราใช้งานเครือข่ายทดสอบชื่อ "Olympiad" เป็นเวลา 4 เดือน เน็ตทดสอบนี้ใช้โปรโตคอลที่จะใช้ในเมนเน็ต ในเวลาเดียวกัน เรายังกำหนดแผนระยะยาวสำหรับ Ethereum Vinay Gupta เขียนบทความ - "กระบวนการเปิดตัว Ethereum" บทความนี้อธิบายถึง 4 ขั้นตอนของการพัฒนา Ethereum mainnet โดยให้ชื่อที่สอดคล้องกันซึ่งตอนนี้ทุกคนคุ้นเคย: "Frontier", "Homeland", "Metropolis" และ "Serenity"

เครือข่ายทดสอบ "โอลิมปิก" ทำงานมา 4 เดือนแล้ว ในช่วง 2 เดือนแรก เราพบข้อบกพร่องมากมายในเวอร์ชันการใช้งานต่างๆ และปัญหาอื่นๆ เช่น ความล้มเหลวในการลงมติก็เกิดขึ้นเช่นกัน แต่ประมาณเดือนมิถุนายน เครือข่ายมีความเสถียรอย่างมาก ในเดือนกรกฎาคม เราตัดสินใจหยุดโค้ด และในวันที่ 30 กรกฎาคม Ethereum mainnet ได้เปิดตัวอย่างเป็นทางการ

งานฉลองวันเกิดจากมูลนิธิ Ethereum

ข้อความ

ข้อความ

ข้อความ

ข้อความ

ข้อความ

ข้อความ

ในช่วง 5 ปีที่ผ่านมา Ethereum เติบโตเกินขอบเขตของผู้สร้าง ทีมงาน หรือองค์กรใด ๆ แต่ฉันหวังว่าคุณจะยังคงรักษาความคิดของคุณให้ลื่นไหลเช่นเคย และทำงานร่วมกันต่อไปเพื่อให้ Ethereum บรรลุทุกสิ่งที่เราฝันถึง และอีกมากมาย 🦄

Vitalik
ETH
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
คลังบทความของผู้เขียน
Unitimes
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android