
ฉันรู้มาสักพักแล้ว แต่แล้วสิ่งเหล่านี้ก็ค่อนข้างยุ่ง
ฉันกำลังเขียนสิ่งนี้จากสตาร์บัคส์ในเซี่ยงไฮ้นั่งอยู่ด้านหลังไฟร์วอลล์อันยิ่งใหญ่สามารถมองออกไปได้เป็นครั้งคราวเท่านั้น ฉันอยู่ในเอเชียกับ Marek ในช่วงสองสามสัปดาห์ที่ผ่านมาส่วนใหญ่สำหรับการพบปะการประชุมเชิงปฏิบัติการและการประชุมทางเทคนิค ในช่วงเวลานี้เราได้เห็นการเปิดตัวการต่อสู้และการอยู่รอดของ Testnet โอลิมปิกซึ่งเป็นสัญญาณที่ชัดเจนมากว่าระบบหลายลูกค้าจะดีกว่าการเพาะปลูกแบบ monoculture ในปัจจุบัน เราได้เห็นจุดเริ่มต้นของการตรวจสอบ GO ภายนอกครั้งที่สองโดยส่วนใหญ่สำหรับการตรวจสอบการถดถอย แต่ยังเสนอความคิดเห็นและการวิพากษ์วิจารณ์ในแง่มุมที่มีการเปลี่ยนแปลงในระหว่างนี้เช่นเลเยอร์เครือข่ายของ GO และกลยุทธ์การซิงค์ เราได้เห็นการผสมผสานและความแข็งแกร่งยังคงดำเนินต่อไปและเติบโตอย่างต่อเนื่อง และผ่านการพัฒนาอย่างต่อเนื่องและความก้าวหน้าของ API ที่เราเห็นลูกค้าทุกคนกลายเป็นคนทำความสะอาดเร็วขึ้นและยืดหยุ่นมากขึ้น
การแลกเปลี่ยน
เรายังคงทำงานกับการแลกเปลี่ยนอย่างต่อเนื่องตอนนี้ Marek และ Konstantin ทั้งคู่ให้การสนับสนุนทางเทคนิคที่สำคัญช่วยให้ผู้เขียนโค้ดจากการแลกเปลี่ยนเข้าใจถึงความแตกต่างอย่างกว้างขวางระหว่างการใช้ Cryptocurrency APIs มาตรฐานและวิธีการตามสัญญาที่ชาญฉลาดของ Ethereum เพื่อให้การสนับสนุนที่ดีขึ้นสำหรับพวกเขาและเพิ่มการยอมรับเราได้ออกแบบและแนะนำพร็อกซี JSON RPC มิดเดิลแวร์ RPC ช่วยให้อินเทอร์เฟซที่คุ้นเคยกับ Ethereum สำหรับการแลกเปลี่ยน
C ++
ในด้าน C ++ เราได้แนะนำ PV61 ซึ่งเป็นรุ่นโปรโตคอลเครือข่าย Ethereum ใหม่ (เข้ากันได้ย้อนหลังเพื่อไม่ให้ขัดขวางตารางการเปิดตัว Frontier สำหรับ GO) ให้การดาวน์โหลดแฮชเชนแบบขนานที่รวดเร็วเป็นพิเศษและมีความยืดหยุ่นมากขึ้น Arkadiy กำลังช่วยเหลือโค้ดที่ใช้สำหรับ C ++ ด้วยความหวังว่ามันจะสามารถทำงานได้ก่อนที่จะเป็น Homestead
ความแข็งแกร่งในขณะเดียวกันก็มีความก้าวหน้าอย่างมาก: ความแข็งแกร่งสามารถทำนายการใช้ก๊าซที่มีโครงสร้างปรับให้เหมาะสมสำหรับการเข้าถึงการจัดเก็บและขนาดรหัสได้ดีมากและรองรับการโทรภายในฟังก์ชั่นด้วยประเภทไดนามิกพร้อมกับคุณสมบัติอื่น ๆ ทั้งหมด Liana ยังคงแฮ็ค codebase นั้นร่วมกับ Christian
Combine ภายใต้การแนะนำของ Aeron และ Jutta กับ AVSA ที่ให้ข้อมูลเชิงลึกการออกแบบด้วยภาพและการแฮ็ค Yann กำลังเห็นการขัด UX และ refactoring อย่างมากโดยมีเป้าหมายทั่วไปที่จะทำให้มันเป็นประโยชน์พิเศษ แต่มีประสิทธิภาพสำหรับการพัฒนาสัญญา ðAppsอาจถูกนำไปใช้กับเครือข่ายในกระบวนการ 3 ขั้นตอนที่เรียบง่ายและเลเยอร์การจัดการสถานะ/blockchain ได้รับการปรับปรุงให้ดีขึ้นโดยมีมุมมองแบบบานหน้าต่างเดียวซึ่งคุณสามารถมองเห็นการทำธุรกรรมการโทรและบันทึกและเผยแพร่ธุรกรรมระหว่าง chain-refreshes ได้อย่างง่ายดาย
อเล็กซ์ยังคงทำงานในเลเยอร์เครือข่ายระดับต่ำตอนนี้ได้รับความช่วยเหลือจากวลาด เรามีการประชุมสุดยอดใน Zug เมื่อ 3 สัปดาห์ที่แล้วที่ฉันได้วางแผนสำหรับเลเยอร์เครือข่าย Libp2P ของเราและวิธีการกระซิบและ Ethereum ที่เหมาะสมกับสิ่งนั้น นักพัฒนาเต็มเวลาคนแรกของเราเกี่ยวกับ Whisper, Vlad จะทำการแฮ็คต่อไปที่ LIBP2P และ Whisper ทำให้โปรโตคอลมีความยืดหยุ่นมากขึ้นในการโจมตีเครือข่าย Ethereum ต่างๆ
Pawel ซึ่งทำงานจากวอร์ซอว์ยังคงดำเนินต่อไปในห้องสมุด JIT EVM และ EVM เพิ่มประสิทธิภาพการใช้งานสแต็กและช่วยแก้ไขปัญหาเชิงลึกของสแต็กที่เราเห็นใน Mac Os X. Vladimir ในขณะเดียวกัน หน้า netstats ซึ่งเพิ่งพิสูจน์ยูทิลิตี้ในหลาย ๆ ทาง ผู้ที่ทดลองใช้การตั้งค่าการทำเหมืองใน Olympic Testnet อาจจะรับรู้งานของ Lefteris ในการเข้ายึดครอง Ethash และอัปเดตการปรับโครงสร้างใหม่และสนับสนุนการใช้งาน OpenCl ของ Tim Hughes ขอขอบคุณเป็นพิเศษสำหรับสมาชิกแต่ละคนของชุมชนที่ได้ช่วยเหลือไม่ทางใดก็ทางหนึ่งด้วยการพัฒนารหัสนี้ คุณรู้ว่าคุณเป็นใคร (-: Christoph ขณะนี้กำลังทำงานเกี่ยวกับการทดสอบการทดสอบสำหรับชั้นเรียนหลักรวมทั้งช่วยแก้ไขปัญหาต่าง ๆ ในแกนกลาง
นอกเหนือจากการทำงานกับทีมมิกซ์ Arkadiy และ Marek ฉันได้เขียนโค้ด C ++ Pockets/Secret Retailer ใหม่ (รูปแบบที่ปรับปรุงใหม่และความเข้ากันได้กับ Go และ Python) เพิ่มประสิทธิภาพหลัก ในโหมดสแตนด์อโลนและไบนารี ‘ethkey’ สำหรับการจัดการกระเป๋าเงินและเมื่อเร็ว ๆ นี้การเข้ารหัสอินเทอร์เฟซคอนโซลแบบโต้ตอบที่ดีกว่ามากคล้ายกับคอนโซล JavaScript ของ Go ฉันยังหวังว่าจะได้รับการดาวน์โหลดการวินิจฉัยบล็อกที่ดีกว่ามากในไม่ช้าใน Alethzero
การตรวจสอบบัญชี
การตรวจสอบภายในของ C ++ Codebase ได้เริ่มขึ้นแล้วโดย Christoph ทำงานเกี่ยวกับการทดสอบสำหรับคลาสหลักทั้งหมดและ Arkadiy ที่ช่วยด้วยการเพิ่มประสิทธิภาพหลัก ชั้นเรียน Secretstore และ Pockets ได้รับการตรวจสอบโดยคริสเตียนแล้วดังนั้นจึงให้ความน่าเชื่อถือว่าลูกค้า C ++ มีความปลอดภัยพอสมควรสำหรับการจัดการคีย์ส่วนตัว การตรวจสอบภายนอก C ++ จะเริ่มในสามสัปดาห์สั้น ๆ
เนื่องจากความล้มเหลวอย่างมากของ TestNet ที่เกิดจากปัญหาในลูกค้าเพียงหนึ่งในสามคนเท่านั้นรวมถึงปัญหาที่รอดชีวิตจากสองขั้นตอนการตรวจสอบจึงเป็นที่ชัดเจนสำหรับเราว่าการตรวจสอบภายนอกหรือภายในไม่ใช่กระสุนเงิน ในขณะที่เรามุ่งมั่นที่จะจัดหาซอฟต์แวร์ที่ดีที่สุดและจะดำเนินการกับโปรแกรมการตรวจสอบของเราต่อไปโปรดให้ชัดเจน: ไม่มีอะไรมหัศจรรย์เกี่ยวกับลูกค้า GO ที่ผ่านกระบวนการตรวจสอบ เราตั้งเป้าหมายที่จะมีลูกค้าทั้งหมดผ่านกระบวนการตรวจสอบขั้นพื้นฐานอย่างน้อยโดยการเปิดตัว Homestead และฉันไม่เห็นเหตุผลที่จะใช้ลูกค้า GO มากกว่าลูกค้ารายอื่น (C ++ หรือ Python) ในขั้นตอนนี้และสำหรับผู้ใช้ส่วนใหญ่ในช่วง Frontier ไม่มีลูกค้ามาพร้อมกับการรับประกันใด ๆ อันที่จริงมีข้อโต้แย้งว่าลูกค้าของชนกลุ่มน้อยซึ่งเป็นเป้าหมายที่เล็กกว่านั้นมีโอกาสถูกโจมตีน้อยกว่า
เป็นต้นไป
เรายังคงเตรียมการสำหรับการเปิดตัวชายแดน ในขณะที่เรายังไม่แน่ใจในวันที่วางจำหน่ายที่แม่นยำเรามีความสุขมากขึ้นเรื่อย ๆ ที่ความยืดหยุ่นของ Testnet โอลิมปิก เมื่อความล้มเหลวของ Olympic Testnet ดำเนินไปอย่างต่อเนื่องความทุกข์ยากทำให้เกิดการสะท้อนให้เห็นถึงวิธีที่เราอาจลดปัญหาดังกล่าวในอนาคต ความลึกและระยะเวลาของความล้มเหลวของฉันทามติสามารถพูดได้ประมาณสองปัญหา: ประการแรกมีข้อผิดพลาดใน GO Codebase ทำให้มันยอมรับบล็อกที่ไม่ถูกต้อง (ในกรณีนี้บล็อกที่มีการพิสูจน์ที่ไม่ถูกต้องของการทำงาน); ประการที่สองว่ามีปัญหาใหญ่ในการอัพเกรดเครือข่ายเนื่องจากคนงานเหมืองยังคงขุดในโซ่ ‘ไม่ดี’ และช้าในการอัพเกรดโหนดของพวกเขาเพื่อให้พวกเขาขุดบนโซ่ที่ถูกต้อง โดยพื้นฐานแล้วสิ่งแรกคือปัญหาทางนิติวิทยาศาสตร์และปัญหาที่สองขององค์กร
เพื่อให้แน่ใจว่านี่จะไม่ลึกหรือกว้างในอนาคตฉันได้ออกแบบโปรโตคอลใหม่สองโปรโตคอล: Canary โซ่ที่ไม่ดี และ บล็อกที่ไม่ดีรายงาน API– Canary Chain Dangerous เป็นสัญญาง่ายๆ มันถูกควบคุมโดยคีย์เดียว (แม้ว่าอาจมีหลายอย่าง) และนั่งเงียบ ๆ จนกว่าเจ้าของจะแหย่ ฉันจะเป็นหนึ่งในเจ้าของเช่นนี้ Vitalik และ Jeff อีกสองคนและมีแนวโน้มว่าจะมีสี่ Christoph เมื่อแหย่มันจะได้รับคู่บล็อกและหมายเลขบล็อก คู่นี้หมายถึงบล็อกล่าสุดในห่วงโซ่ที่ไม่ดี หากพวกเขาตรงกับห่วงโซ่ที่สัญญาคิดว่ามันกำลังนั่งอยู่มันจะทำให้ตัวเองอยู่ในสถานะ “ห่วงโซ่ที่ไม่ดี” สิ่งนี้ช่วยให้ Ethereum Core devs แจ้งให้ทุกคนทราบว่ากำลังใช้งานลูกค้าในห่วงโซ่ที่ไม่ดี (เช่นหนึ่งที่ไม่สอดคล้องกับกระดาษสีเหลืองเนื่องจากข้อผิดพลาด) ว่ามันเป็นเช่นนั้น ค่าเริ่มต้นในลูกค้า (แทนที่ง่าย ๆ ) ไม่ได้เป็นของฉันในโซ่ดังกล่าว (เนื่องจากการทำเช่นนั้นจะเป็นการเสียพลังงาน) แต่เพื่อแจ้งให้ผู้ใช้ทราบว่าพวกเขาควรอัพเกรดในโอกาสแรกของพวกเขา
API การรายงานบล็อกที่ไม่ดีเป็น JSON RPC ง่าย ๆ ที่อนุญาตให้โหนดจำนวนหนึ่งของเราทำงานในโหมด ‘Sentinel’ ในโหมดนี้หากพวกเขาเจอบล็อกที่ไม่ดีพวกเขาจะรวบรวมรายงานที่ได้มาตรฐานโดยอัตโนมัติว่ามีอะไรผิดปกติรวมถึงการรับธุรกรรมที่คาดหวังการติดตาม VM การพิสูจน์การทำงานและข้อมูลข้อผิดพลาดของบล็อก จากนั้นรายงานนี้จะถูกส่งไปยังเซิร์ฟเวอร์ðξvทันทีซึ่งสามารถเรียกใช้ระบบเตือนภัยล่วงหน้าและหากการปล่อย Tzar (นั่นคือเทย์เลอร์) เห็นว่าจำเป็นต้องแจ้งเตือนแกนกลาง ผ่านการกำหนดมาตรฐานและการใช้งานรูปแบบที่เรียบง่ายมันได้รับการออกแบบเพื่อให้เราสามารถเขียนรหัสเอ็นจิ้นการเปรียบเทียบ JSON เพื่อวินิจฉัยได้อย่างรวดเร็วว่าปัญหาฉันทามติอยู่ที่ใด
งานหนึ่งในอนาคตคือการรวมสองอย่างเพื่อให้ JSON -RPC สามารถจัดการการรายงานข้อมูลนกขมิ้น – ในกรณีนี้ผู้ใช้อาจตั้งค่าเซิร์ฟเวอร์ Sentinel เพื่อให้อีเมลพวกเขาเมื่อใดก็ตามที่สัญญารายงานว่าการขุดหยุดและ/หรือพวกเขาควรอัพเกรดโหนดของพวกเขาเพื่อดำเนินการขุดต่อไป
พื้นฐาน
ในที่สุดผู้อำนวยการสามคนของมูลนิธิ Ethereum (Vitalik ที่มีสามโหวตจากนั้นเทย์เลอร์และ Mihai ด้วยการโหวตแต่ละครั้ง) จะเรียกร้องในไม่ช้าในคำพูดของ Vitalik, “การผ่านที่ยิ่งใหญ่ของเหตุการณ์แบตัน” Kelley, COO ที่ไม่ย่อท้อของðξvเป็นหัวหอกในการค้นหาผู้สมัครที่ได้รับการพิสูจน์แล้วจากหลากหลายสาขาที่สามารถเพิ่มคุณค่าที่แท้จริงให้กับมูลนิธิทั้งในแง่ของการระดมทุนและการขับขี่ เรารู้สึกขอบคุณอย่างยิ่งสำหรับการทำงานอย่างหนักของเธอในเรื่องนี้
