ดูรายละเอียดเกี่ยวกับบล็อกเชนที่ไม่ใช่บล็อคเชน
เมื่อเวลาผ่านไป โลกบล็อคเชนได้แยกออกเป็นสองส่วนที่แตกต่างกัน ในด้านหนึ่ง บล็อกเชนสาธารณะที่มีสกุลเงินดิจิทัลที่เกี่ยวข้องกันนั้นได้กลับมาได้รับความนิยมอีกครั้งเมื่อเร็วๆ นี้ โดยได้สร้างเศรษฐีหลายล้านคนไว้ด้วยกัน ในทางกลับกัน การใช้บล็อกเชนที่ได้รับอนุญาตหรือองค์กรเติบโตอย่างเงียบ ๆ แต่มั่นคง โดยเริ่มแรก การใช้งานสด ในหลายอุตสาหกรรมในช่วงปี 2017
คำถามที่น่าสนใจข้อหนึ่งที่ต้องพิจารณาคือระดับความคล้ายคลึงกันระหว่างโซ่ทั้งสองประเภทนี้ ทั้งสองใช้ฐานข้อมูลที่ใช้ร่วมกันโดยใช้เครือข่ายแบบเพียร์ทูเพียร์ การเข้ารหัสคีย์สาธารณะและส่วนตัว กฎการทำธุรกรรม และกลไกฉันทามติที่สามารถเอาตัวรอดจากผู้มุ่งร้ายได้ นั่นเป็นเรื่องธรรมดามาก อย่างไรก็ตาม blockchains ของภาครัฐและเอกชนมีข้อกำหนดที่แตกต่างกันในแง่ของการรักษาความลับ ความสามารถในการปรับขนาด และการกำกับดูแล บางทีความแตกต่างเหล่านี้อาจชี้ให้เห็นถึงความจำเป็นในการออกแบบที่แตกต่างกันอย่างสิ้นเชิง
พื้นที่ Corda แพลตฟอร์มที่พัฒนาโดย R3 กลุ่มธนาคารมีจุดยืนที่ชัดเจนเกี่ยวกับคำถามนี้ ในขณะที่บางแง่มุมได้รับแรงบันดาลใจจากบล็อคเชนสาธารณะ Corda ได้รับการออกแบบใหม่ทั้งหมดตามความต้องการของสมาชิกของ R3 อันที่จริงแม้ว่า R3 ยังคงใช้คำว่า “บล็อคเชน” อย่างกว้างขวาง เพื่อช่วยทำการตลาดผลิตภัณฑ์ของตน Corda ไม่มีห่วงโซ่ของบล็อกเลย มากกว่าแพลตฟอร์ม "บัญชีแยกประเภท" อื่น ๆ ที่ฉันรู้จัก Corda แตกต่างอย่างสิ้นเชิงจากสถาปัตยกรรมของบล็อกเชนทั่วไป
เป้าหมายของฉันในงานชิ้นนี้คือเพื่ออธิบายความแตกต่างเหล่านี้และอภิปรายถึงความหมายในทางที่ดีและไม่ดี ที่จริงแล้ว ความดีและความชั่วเป็นวิธีที่ผิด เพราะคำถามที่น่าสนใจกว่าคือ “ดีและชั่วเพื่ออะไร” บทความนี้ไม่สั้น แต่ในตอนท้าย ฉันหวังว่าผู้อ่านจะเข้าใจถึงความแตกต่างใน Corda และการแลกเปลี่ยนที่ตามมา Corda มีความสำคัญเนื่องจากการตัดสินใจในการออกแบบทำให้ปัญหาต่างๆ ของบล็อกเชนขององค์กรลดลงอย่างรวดเร็ว
สิ่งสุดท้ายก่อนที่เราจะดำดิ่งลงไป ในฐานะ CEO ของบริษัทเบื้องหลัง มัลติเชนซึ่งเป็นแพลตฟอร์มบล็อกเชนระดับองค์กรที่ได้รับความนิยม เหตุใดฉันจึงเขียนเชิงลึกเกี่ยวกับผลิตภัณฑ์ที่คาดว่าจะแข่งขันกัน เหตุผลมาตรฐานคือการโต้แย้งถึงความเหนือกว่าของ MultiChain แต่นั่นไม่ใช่แรงจูงใจของฉันที่นี่ อันที่จริง ฉันไม่เห็น Corda และ MultiChain เป็นคู่แข่ง เพราะพวกเขามีความแตกต่างกันโดยพื้นฐานในแง่ของการออกแบบ สถาปัตยกรรม และผู้ชม Corda และ MultiChain แข่งขันกันในลักษณะเดียวกับเรือเดินสมุทรและเจ็ตสกี – ในขณะที่ทั้งคู่ขนส่งผู้คนทางทะเล แทบไม่มีสถานการณ์ในโลกแห่งความเป็นจริงที่ทั้งสองสามารถใช้งานได้
ในบันทึกส่วนตัวมากขึ้น ฉันได้เรียนรู้มากมายจากความเป็นผู้นำด้านเทคนิคของ Corda ในช่วงไม่กี่ปีที่ผ่านมา ไม่ว่าจะผ่านการประชุม การติดต่อสื่อสาร หรืองานเขียนในที่สาธารณะ ซึ่งส่วนใหญ่เกิดขึ้นก่อนที่พวกเขาเข้าร่วม R3 ความสนใจบางส่วนของฉันใน Corda เกิดจากความเคารพที่ฉันมีต่อทีมนี้ และด้วยเหตุนี้เพียงอย่างเดียว Corda จึงคุ้มค่าที่จะศึกษาสำหรับผู้ที่แสวงหาความเข้าใจในด้านบัญชีแยกประเภทแบบกระจาย
แนะนำบล็อคเชน
เพื่อให้เข้าใจ Corda การเริ่มต้นด้วยบล็อกเชนแบบธรรมดาจะเป็นประโยชน์ วัตถุประสงค์ของบล็อกเชนคือเพื่อให้ฐานข้อมูลหรือบัญชีแยกประเภทแชร์โดยตรงและปลอดภัยโดยบุคคลที่ไม่เชื่อถือ สิ่งนี้แตกต่างกับฐานข้อมูลแบบรวมศูนย์ซึ่งจัดเก็บและควบคุมโดยองค์กรเดียว blockchain มี "โหนด" หลายอัน ซึ่งแต่ละอันเก็บสำเนาของฐานข้อมูลและสามารถเป็นของหน่วยงานอื่นได้ โหนดเชื่อมต่อกันแบบเพียร์ทูเพียร์ที่มีความหนาแน่นสูง โดยใช้ "โปรโตคอลการนินทา" ซึ่งแต่ละโหนดจะบอกเล่าทุกสิ่งที่เรียนรู้ให้กับเพื่อนของตนอย่างต่อเนื่อง เป็นผลให้โหนดใด ๆ สามารถออกอากาศข้อความไปยังเครือข่ายทั้งหมดได้อย่างรวดเร็วผ่านเส้นทางอื่น ๆ
ฐานข้อมูล ไม่ว่าจะแบบรวมศูนย์หรือแบบขับเคลื่อนด้วยบล็อคเชน เริ่มต้นในสถานะว่างเปล่า และได้รับการอัปเดตผ่าน “ธุรกรรม” ธุรกรรมถูกกำหนดให้เป็นชุดของการเปลี่ยนแปลงฐานข้อมูลที่เป็น "อะตอม" ซึ่งหมายความว่าพวกเขาประสบความสำเร็จหรือล้มเหลวโดยรวม ลองนึกภาพฐานข้อมูลที่แสดงบัญชีแยกประเภททางการเงินที่มีหนึ่งแถวต่อบัญชี ธุรกรรมที่ Alice จ่าย $10 ให้กับ Bob มีสามขั้นตอน: (1) ตรวจสอบว่าบัญชีของ Alice มีอย่างน้อย $10 (2) ลบ $10 ออกจากบัญชีของ Alice และ (3) เพิ่ม $10 ลงในบัญชีของ Bob ตามข้อกำหนดพื้นฐาน แพลตฟอร์มฐานข้อมูลใดๆ จะต้องตรวจสอบให้แน่ใจว่าไม่มีธุรกรรมใดรบกวนธุรกรรมอื่น "การแยกตัว" นี้ทำได้โดยการล็อกแถวสำหรับทั้งอลิซและบ็อบในขณะที่การชำระเงินกำลังดำเนินการอยู่ ธุรกรรมอื่นๆ ที่เกี่ยวข้องกับแถวเหล่านี้ต้องรอจนกว่าการดำเนินการนี้จะเสร็จสิ้น
ในบล็อกเชน ทุกโหนดจะประมวลผลทุกธุรกรรมอย่างอิสระบนสำเนาฐานข้อมูลของตัวเอง ธุรกรรมถูกสร้างขึ้นที่ใดก็ได้บนเครือข่ายและแพร่กระจายไปยังโหนดอื่นทั้งหมดโดยอัตโนมัติ เนื่องจากองค์กรที่ทำงานบนโหนดอาจมีผลประโยชน์ที่แตกต่างกัน (หรือแม้แต่ขัดแย้งกัน) พวกเขาจึงไม่สามารถไว้วางใจซึ่งกันและกันในการทำธุรกรรมอย่างเป็นธรรม ดังนั้นบล็อคเชนจึงจำเป็นต้องมีกฎเกณฑ์ที่กำหนดว่าธุรกรรมนั้น ๆ จะถูกต้องหรือไม่ ในบัญชีแยกประเภททางการเงินที่ใช้ร่วมกัน กฎเหล่านี้ป้องกันไม่ให้ผู้ใช้ใช้จ่ายเงินของกันและกัน หรือเรียกเงินจากอากาศ
นอกเหนือจากกฎที่กำหนดความถูกต้องของธุรกรรมแล้ว blockchains ยังต้องกำหนดวิธีการสั่งซื้อธุรกรรม เนื่องจากในหลาย ๆ กรณีการสั่งซื้อนี้มีความสำคัญ หากอลิซมีเงิน $15 และพยายามส่ง 10 ดอลลาร์ให้กับทั้งบ๊อบและชาร์ลีในการทำธุรกรรมสองรายการแยกกัน การชำระเงินเหล่านี้เพียงรายการเดียวเท่านั้นที่จะประสบความสำเร็จ แม้ว่าเราอาจต้องการบอกว่าธุรกรรมแรกมีความสำคัญกว่า เครือข่ายเพียร์ทูเพียร์ไม่มีคำจำกัดความที่เป็นเป้าหมายของ "แรก" เนื่องจากข้อความสามารถมาถึงโหนดต่างๆ ในลำดับที่ต่างกันได้
กฎการทำธุรกรรม
โดยทั่วไป ข้อมูลในฐานข้อมูลใดๆ จะถูกแยกออกเป็นเรกคอร์ดหรือ “แถว” และธุรกรรมสามารถทำสิ่งที่แตกต่างกันสามอย่าง: ลบแถว สร้างแถว และ/หรือแก้ไขแถว สิ่งเหล่านี้สามารถลดลงได้อีกเป็นสอง เนื่องจากการแก้ไขแถวจะเทียบเท่ากับการลบแถวนั้นและสร้างแถวใหม่แทน หากต้องการกลับไปที่การชำระเงินของ Alice ให้กับ Bob แถวของเธอที่มี $15 จะถูกลบ และสร้างแถวใหม่สองแถว แถวแรกประกอบด้วย $10 สำหรับ Bob และอีกแถวที่มี $5 ใน "change" สำหรับ Alice
ตามคำศัพท์ของ bitcoin และ Corda เราแสดงว่าแถวที่ถูกลบโดยธุรกรรมเป็น "อินพุต" และแถวที่สร้างเป็น "เอาต์พุต" แถวใดๆ ที่ถูกลบโดยธุรกรรมจะต้องสร้างโดยธุรกรรมก่อนหน้า ดังนั้นแต่ละอินพุตของธุรกรรมจึงใช้ (หรือ “ใช้จ่าย”) เอาต์พุตของธุรกรรมก่อนหน้า เนื้อหาที่เป็นปัจจุบันของฐานข้อมูลถูกกำหนดโดยชุดของ “ผลลัพธ์ของธุรกรรมที่ยังไม่ได้ใช้” หรือ “UTXO”
ในบล็อกเชน ธุรกรรมจะถูกต้องหากเป็นไปตามเงื่อนไขสามข้อต่อไปนี้:
- ความถูกต้อง. ธุรกรรมต้องแสดงถึงการเปลี่ยนแปลงที่ถูกต้องจากอินพุตเป็นเอาต์พุต ตัวอย่างเช่น ในบัญชีแยกประเภทการเงิน ปริมาณเงินทั้งหมดที่ป้อนเข้าจะต้องตรงกับยอดรวมในผลลัพธ์ เพื่อป้องกันไม่ให้เงินปรากฏขึ้นหรือหายไปอย่างน่าอัศจรรย์ ข้อยกเว้นเพียงอย่างเดียวคือธุรกรรมพิเศษ "การออก" หรือ "การเกษียณอายุ" ซึ่งเงินจะถูกเพิ่มหรือลบออกอย่างชัดเจน
- การอนุญาต. ธุรกรรมต้องได้รับอนุญาตจากเจ้าของทุกเอาต์พุตที่ใช้โดยอินพุต ในบัญชีแยกประเภททางการเงิน สิ่งนี้จะป้องกันไม่ให้ผู้เข้าร่วมใช้จ่ายเงินของกันและกันโดยไม่ได้รับอนุญาต การอนุมัติธุรกรรมได้รับการจัดการโดยใช้การเข้ารหัสแบบอสมมาตร (หรือคีย์สาธารณะ-ส่วนตัว) ทุกแถวมีเจ้าของ ซึ่งระบุโดยกุญแจสาธารณะ ซึ่งคีย์ส่วนตัวที่เกี่ยวข้องจะถูกเก็บเป็นความลับ เพื่อให้ได้รับอนุญาต ธุรกรรมจะต้องลงนามแบบดิจิทัลโดยเจ้าของข้อมูลแต่ละรายการ (โปรดทราบว่าแถวสามารถมีเจ้าของ "หลายลายเซ็น" ที่ซับซ้อนมากขึ้นได้ ตัวอย่างเช่น สองในสามฝ่ายใดสามารถให้สิทธิ์การใช้งานได้)
- ความเป็นเอกลักษณ์. หากธุรกรรมใช้เอาต์พุตเฉพาะ จะไม่มีธุรกรรมอื่นใดที่สามารถใช้เอาต์พุตนั้นได้อีก นี่คือวิธีที่เราป้องกันไม่ให้อลิซชำระเงินให้กับทั้ง Bob และ Charlie ที่ขัดแย้งกัน แม้ว่าธุรกรรมสำหรับการชำระเงินทั้งสองนี้อาจถูกต้องและได้รับอนุญาต กฎความเป็นเอกลักษณ์จะช่วยให้แน่ใจว่าฐานข้อมูลเดียวเท่านั้นที่จะถูกประมวลผล
ในบล็อกเชนทั่วไป ทุกโหนดจะตรวจสอบทุกธุรกรรมในแง่ของกฎสามข้อนี้ ต่อไปเราจะมาดูกันว่า Corda แบ่งความรับผิดชอบนี้อย่างไรให้แตกต่างออกไป
การก่อสร้างตึก
บล็อกเชนคือกลุ่มบล็อกอย่างแท้จริง ซึ่งทุกบล็อกจะเชื่อมโยงไปยังบล็อกก่อนหน้าผ่าน "แฮช" ที่ระบุเนื้อหาได้ไม่ซ้ำกัน แต่ละบล็อกประกอบด้วยชุดธุรกรรมที่ได้รับคำสั่งซึ่งต้องไม่ขัดแย้งกันหรือกับกลุ่มก่อนหน้า รวมถึงการประทับเวลาและข้อมูลอื่นๆ เช่นเดียวกับการทำธุรกรรม บล็อกจะแพร่กระจายอย่างรวดเร็วทั่วทั้งเครือข่าย และได้รับการตรวจสอบอย่างอิสระจากทุกโหนด เมื่อธุรกรรมปรากฏในบล็อก จะ “ยืนยัน” ซึ่งทำให้โหนดปฏิเสธธุรกรรมที่ขัดแย้งกัน
ใครเป็นผู้รับผิดชอบในการสร้างบล็อกเหล่านี้ และเราจะแน่ใจได้อย่างไรว่าโหนดทั้งหมดจะเห็นด้วยกับเชนที่เชื่อถือได้ คำถามเกี่ยวกับ "อัลกอริธึมที่เป็นเอกฉันท์" นี้เป็นหัวข้อใหญ่ในตัวเอง เต็มไปด้วยคำย่อที่น่ามหัศจรรย์ เช่น PoW (หลักฐานการทำงาน) PBFT (ความทนทานต่อความผิดพลาดของไบแซนไทน์ในทางปฏิบัติ) และ DPoS (การพิสูจน์การพิสูจน์ที่ได้รับมอบหมาย) เราจะไม่เข้าเรื่องทั้งหมดที่นี่ พอเพียงที่จะบอกว่าบล็อกเชนที่ได้รับอนุญาตสำหรับองค์กรใช้รูปแบบการลงคะแนนบางประเภท ซึ่งจะมีการลงคะแนนให้กับ "โหนดตรวจสอบ" ซึ่งมีหน้าที่รับผิดชอบร่วมกัน แบบแผนช่วยให้มั่นใจได้ว่าตราบใดที่โหนดตรวจสอบความถูกต้องส่วนใหญ่ทำงานได้อย่างถูกต้องและตรงไปตรงมา ธุรกรรมจะเข้าสู่ห่วงโซ่ในลำดับที่ยุติธรรม (ใกล้เคียงกับ) การประทับเวลาจะถูกต้อง (โดยประมาณ) และธุรกรรมที่ยืนยันแล้วจะไม่สามารถย้อนกลับได้ในภายหลัง
ก่อนที่จะพูดถึงความท้าทายบางอย่างของบล็อคเชน ฉันต้องการชี้แจงเพิ่มเติมสามประเด็น อย่างแรก ในขณะที่ฉันกำลังใช้บัญชีแยกประเภททางการเงินเป็นตัวอย่างตลอดทั้งส่วนนี้ รูปแบบธุรกรรมอินพุต-เอาท์พุตสนับสนุนกรณีการใช้งานที่หลากหลายมากขึ้น แต่ละแถวสามารถมีออบเจ็กต์ข้อมูลที่หลากหลาย (คิดว่า JSON) ที่มีข้อมูลหลายประเภท – อันที่จริง Corda ใช้คำว่า "state" มากกว่า "row" ด้วยเหตุผลนี้ สภาพที่สมบูรณ์ยิ่งขึ้นไม่มีอะไรเปลี่ยนแปลงพื้นฐานเกี่ยวกับกฎการทำธุรกรรม: ความถูกต้องยังคงถูกกำหนดในแง่ของอินพุตและเอาต์พุต การอนุญาตยังคงจำเป็นสำหรับทุกอินพุต และความเป็นเอกลักษณ์ช่วยให้มั่นใจได้ว่าแต่ละเอาต์พุตสามารถใช้ได้เพียงครั้งเดียว
ประการที่สอง มีกรณีการใช้งานบล็อคเชนจำนวนมากซึ่งแถวจะถูกสร้างขึ้นในฐานข้อมูลเท่านั้นและไม่เคยถูกลบ แอปพลิเคชันเหล่านี้เกี่ยวข้องกับการจัดเก็บข้อมูลทั่วไป การประทับเวลา และการรับรองเอกสาร แทนที่จะรักษาบัญชีแยกประเภทบางประเภทที่อยู่ในการไหล ในแอปพลิเคชันเฉพาะข้อมูลเหล่านี้ ธุรกรรมจะเพิ่มข้อมูลในเอาต์พุต แต่ไม่มีข้อมูลใดๆ ในอินพุต ทำให้กฎสำหรับความถูกต้อง การอนุญาต และความเป็นเอกลักษณ์ทำได้ง่ายขึ้น แม้ว่ากรณีการใช้งานเฉพาะข้อมูลจะเป็นจุดสนใจที่เพิ่มขึ้นของการพัฒนาของเราเองที่ MultiChain ฉันแค่พูดถึงพวกเขาในการส่งต่อที่นี่ เนื่องจาก Corda ไม่ได้ออกแบบมาโดยคำนึงถึงพวกเขาอย่างชัดเจน
สุดท้าย เป็นที่น่าสังเกตว่าบางแพลตฟอร์ม blockchain ไม่ได้ใช้โมเดลอินพุต-เอาท์พุต Ethereum นำเสนอกระบวนทัศน์ทางเลือก ซึ่งเชนควบคุมคอมพิวเตอร์เสมือนที่มีสถานะทั่วโลกที่จัดการโดย "สัญญา" และธุรกรรมไม่ได้เชื่อมต่อกันอย่างชัดเจน การอภิปรายเกี่ยวกับโมเดลของ Ethereum ในบล็อกเชนที่ได้รับอนุญาตนั้นอยู่นอกเหนือขอบเขตของเราที่นี่ แต่ดูสิ บทความนี้ สำหรับคำอธิบายโดยละเอียดและคำติชม ข้อได้เปรียบที่สำคัญอย่างหนึ่งของกระบวนทัศน์อินพุต-เอาท์พุตคือธุรกรรมส่วนใหญ่สามารถประมวลผลแบบคู่ขนานและเป็นอิสระจากกัน คุณสมบัตินี้มีความสำคัญสำหรับ Corda ดังที่เราจะเห็นในภายหลัง
ความท้าทายของบล็อคเชน
ลองนึกภาพว่าธนาคารทั่วโลกได้สร้างบัญชีแยกประเภทเพื่อเป็นตัวแทนของความเป็นเจ้าของ การโอน และการแลกเปลี่ยนสินทรัพย์ทางการเงินต่างๆ ในทางทฤษฎี สามารถนำไปใช้กับบล็อคเชนปกติตามที่อธิบายไว้ข้างต้น แต่ละแถวจะมีสามคอลัมน์ – ตัวระบุสินทรัพย์ เช่น GOOG หรือ USD ปริมาณที่เป็นเจ้าของ และคีย์สาธารณะของเจ้าของ ธุรกรรมแต่ละรายการจะโอนสินทรัพย์ตั้งแต่หนึ่งรายการขึ้นไปจากอินพุตไปยังเอาต์พุต โดยมีกรณีพิเศษสำหรับการออกและเลิกใช้
ทุกธนาคารในเครือข่ายจะเรียกใช้โหนดอย่างน้อยหนึ่งโหนดซึ่งเชื่อมต่อกับโหนดอื่นๆ เพื่อเผยแพร่และยืนยันธุรกรรม สมาชิกอาวุโสจะทำหน้าที่เป็นผู้ตรวจสอบความถูกต้อง โดยมีความรับผิดชอบร่วมกันในการยืนยัน การสั่งซื้อ และการประทับเวลาธุรกรรม โหนดทั้งหมดในเครือข่ายจะมองเห็นพฤติกรรมที่ไม่เหมาะสมของผู้ตรวจสอบความถูกต้อง ซึ่งนำไปสู่การตำหนิ การเนรเทศ และ/หรือการดำเนินการทางกฎหมาย ด้วยสิ่งนี้ สินทรัพย์ทางการเงินใดๆ ก็สามารถเคลื่อนย้ายไปทั่วโลกในไม่กี่วินาที ด้วยกฎแห่งความถูกต้อง การอนุญาต และเอกลักษณ์ที่รับประกันความสมบูรณ์ของบัญชีแยกประเภท
ภาพนี้มีอะไรผิดปกติ? จริงๆ แล้ว มีปัญหาสามประการ: ความสามารถในการปรับขนาด การรักษาความลับ และความสามารถในการทำงานร่วมกัน ประเด็นเรื่อง scalability นั้นง่ายพอสมควร บล็อกเชนระหว่างธนาคารที่เราเสนอให้สมาชิกทุกคนต้องตรวจสอบ ประมวลผล และจัดเก็บทุกธุรกรรมที่ดำเนินการโดยธนาคารทุกแห่งในโลก แม้ว่าสิ่งนี้จะเป็นไปได้ในทางเทคนิคสำหรับสถาบันการเงินที่ใหญ่ที่สุด ค่าใช้จ่ายในการคำนวณและการจัดเก็บจะสร้างอุปสรรคที่สำคัญสำหรับหลาย ๆ คน แน่นอน เราต้องการระบบที่ผู้เข้าร่วมเห็นเฉพาะธุรกรรมที่พวกเขาเกี่ยวข้องในทันที
แต่ขอทิ้งความสามารถในการปรับขนาดไว้เสียก่อน เพราะท้ายที่สุดแล้ว มันสามารถแก้ไขได้โดยใช้คอมพิวเตอร์ราคาแพงและวิศวกรรมที่ชาญฉลาด ปัญหาพื้นฐานมากกว่าคือการรักษาความลับ แม้จะฟังดูเป็นอุดมคติสำหรับทุกๆ ธุรกรรมที่มองเห็นได้จากทุกที่ แต่ในโลกแห่งความเป็นจริง ความโปร่งใสอย่างสุดขั้วดังกล่าวไม่ได้เริ่มต้นขึ้นในแง่ของการแข่งขันและระเบียบข้อบังคับ หาก JP Morgan และ HSBC แลกเปลี่ยนสินทรัพย์กัน พวกเขาไม่น่าจะต้องการให้ Citi และ Bank of China เห็นว่าพวกเขาทำอะไร หากทำธุรกรรมในนามของลูกค้าของธนาคารเหล่านี้ การเปิดเผยด้วยวิธีนี้อาจผิดกฎหมาย
แนวทางแก้ไขปัญหาการรักษาความลับที่เสนอวิธีหนึ่งคือ “ช่องทาง” ตามที่ดำเนินการใน Hyperledger Fabric แต่ละช่องมีสมาชิกบางคนซึ่งเป็นส่วนย่อยของโหนดในเครือข่ายโดยรวม ธุรกรรมของช่องจะมองเห็นได้เฉพาะสมาชิกเท่านั้น ดังนั้นแต่ละช่องจึงทำหน้าที่เป็นบล็อกเชนที่แยกจากกันอย่างมีประสิทธิภาพ แม้ว่าสิ่งนี้จะช่วยในการรักษาความลับ แต่ก็บ่อนทำลายจุดรวมของการฝึก ไม่สามารถย้ายเนื้อหาจากช่องทางหนึ่งไปยังอีกช่องทางหนึ่งได้หากไม่ได้รับความช่วยเหลือจากตัวกลางที่เชื่อถือได้ซึ่งมีการใช้งานทั้งสองช่องทาง ความยากของแนวทางนี้เพิ่งถูกเน้นโดย SWIFT's หลักฐานการประนีประนอมซึ่งคาดว่าจะต้องใช้มากกว่า 100,000 ช่องในการผลิต นั่นคือ 100,000 เกาะระหว่างที่สินทรัพย์ไม่สามารถเคลื่อนย้ายได้โดยตรง
ในกรณีการใช้งานเฉพาะข้อมูล ซึ่งธุรกรรมไม่ได้ใช้ข้อมูลในอินพุต ปัญหาการรักษาความลับสามารถหลีกเลี่ยงได้โดยการเข้ารหัสหรือแฮชข้อมูลในเอาต์พุต และส่งมอบคีย์ถอดรหัสหรือข้อมูลที่ยังไม่ได้แฮชนอกห่วงโซ่ แต่สำหรับธุรกรรมที่อินพุตใช้เอาต์พุตของธุรกรรมอื่น ทุกโหนดต้องเห็นอินพุตและเอาต์พุตเหล่านั้นเพื่อตรวจสอบความถูกต้องของธุรกรรม ในขณะที่เทคนิคการเข้ารหัสขั้นสูงเช่น ทรัพย์สินที่เป็นความลับ และ ศูนย์พิสูจน์ความรู้ ได้รับการพัฒนาขึ้นเพื่อแก้ปัญหานี้เพียงบางส่วนหรือทั้งหมดสำหรับบัญชีแยกประเภททางการเงิน ซึ่งทำให้เกิดภาระการปฏิบัติงานที่สำคัญ และ/หรือไม่สามารถสรุปกฎความถูกต้องใดๆ ได้
สุดท้าย เรามาพูดถึงการทำงานร่วมกัน ในโลกอุดมคติ ทุกธนาคารจะเข้าร่วมบล็อกเชนทั่วโลกของเราทันทีในวันที่เปิดตัว อย่างไรก็ตาม ในความเป็นจริง กลุ่มธนาคารต่าง ๆ ได้นำบล็อคเชนหลายๆ อันมาใช้ โดยอิงตามภูมิศาสตร์หรือความสัมพันธ์ที่มีอยู่ก่อนแล้ว เมื่อเวลาผ่านไป สมาชิกของกลุ่มหนึ่งอาจต้องการเริ่มทำธุรกรรมกับสมาชิกของอีกกลุ่มหนึ่ง โดยการโอนสินทรัพย์ระหว่างเครือ เช่นเดียวกับช่องทางต่างๆ สิ่งนี้สามารถทำได้ด้วยความช่วยเหลือของตัวกลางที่เชื่อถือได้เท่านั้น ซึ่งเอาชนะจุดประสงค์ของบล็อคเชน
Corda ตั้งเป้าที่จะแก้ปัญหาที่เกี่ยวเนื่องกันเหล่านี้ในเรื่องความสามารถในการปรับขนาด การรักษาความลับ และการทำงานร่วมกันผ่านการคิดใหม่อย่างสิ้นเชิงเกี่ยวกับวิธีการทำงานของบัญชีแยกประเภทแบบกระจาย
มุมมองบางส่วนของคอร์ดา
ความแตกต่างพื้นฐานใน Corda นั้นอธิบายได้ง่าย: แต่ละโหนดเห็นเฉพาะบางธุรกรรมที่ประมวลผลบนเครือข่ายเท่านั้น แม้ว่าธุรกรรมทั้งหมดเหล่านี้จะมีการกำหนดบัญชีแยกประเภทเชิงตรรกะและเชิงแนวคิด แต่จะไม่มีโหนดใดเห็นบัญชีแยกประเภทนั้นอย่างครบถ้วน ในการเปรียบเทียบ ณ จุดใดเวลาหนึ่ง เงินดอลลาร์ทุกใบในโลกอยู่ในสถานที่แห่งใดแห่งหนึ่ง แต่ไม่มีใครรู้ว่าพวกเขาอยู่ที่ไหน
โหนด Corda เห็นธุรกรรมใดบ้าง ประการแรก ผู้ที่เกี่ยวข้องโดยตรง เนื่องจากเป็นเจ้าของอินพุตหรือเอาต์พุตของธุรกรรมนั้น ในบัญชีแยกประเภททางการเงิน ซึ่งรวมถึงทุกธุรกรรมที่โหนดกำลังส่งหรือรับเงิน สมมติว่าอลิซสร้างธุรกรรมที่กินเงิน $15 ของเธอในข้อมูลเข้าและมีสองเอาท์พุต – อันหนึ่งสำหรับ $10 สำหรับฉัน และอีกอันที่ใช้ $5 ในการ "เปลี่ยนแปลง" สำหรับเธอ หลังจากที่อลิซส่งธุรกรรมนี้ให้ฉัน ฉันสามารถตรวจสอบความถูกต้องและการอนุญาต ตรวจสอบว่ายอดเงินขาเข้าและขาออก และอลิซได้ลงนามแล้ว
อย่างไรก็ตาม ธุรกรรมนี้เพียงอย่างเดียวไม่เพียงพอ ฉันยังต้องตรวจสอบด้วยว่าสถานะอินพุต 15 ดอลลาร์ของอลิซมีอยู่จริง และเธอไม่ได้แค่สร้างมันขึ้นมา นั่นหมายความว่าฉันต้องดูธุรกรรมที่สร้างสถานะนี้ และตรวจสอบความถูกต้องและการอนุญาตด้วย หากธุรกรรมก่อนหน้านี้ซึ่งส่งให้ Alice $15 มีอินพุต $10 ที่เป็นของ Denzel และอีก $5 จาก Eric ฉันจะต้องตรวจสอบธุรกรรมที่สร้างสิ่งเหล่านั้นด้วย ย้อนกลับไปจนถึงธุรกรรม "การออก" เดิมที่สร้างสินทรัพย์ขึ้น จำนวนธุรกรรมที่ฉันต้องตรวจสอบจะขึ้นอยู่กับจำนวนครั้งที่สินทรัพย์เปลี่ยนมือและขอบเขตของการแตกสาขาย้อนกลับ
เนื่องจากโหนด Corda ไม่เห็นทุกธุรกรรมโดยอัตโนมัติ พวกเขาจะได้รับสิ่งที่ต้องการได้อย่างไร คำตอบมาจากผู้ส่งธุรกรรมใหม่แต่ละรายการ ก่อนที่อลิซจะสร้างธุรกรรมที่ใช้เงิน $15 ของเธอ เธอต้องได้ตรวจสอบธุรกรรมที่เธอได้รับแล้วเสียก่อน และเนื่องจากอลิซต้องใช้เทคนิคแบบเรียกซ้ำข้างต้น เธอจะมีสำเนาของทุกธุรกรรมที่จำเป็นสำหรับการตรวจสอบนี้ บ๊อบเพียงแค่ขอธุรกรรมเหล่านี้จากอลิซซึ่งเป็นส่วนหนึ่งของการโต้ตอบของพวกเขา หากอลิซไม่ตอบสนองอย่างเหมาะสม บ็อบสรุปว่าอลิซกำลังพยายามหลอกล่อเขา และปฏิเสธการจ่ายเงินที่เข้ามา ในกรณีที่ Bob ถูกส่งไปทำธุรกรรมใหม่ซึ่งมีข้อมูลที่มีเจ้าของหลายคน เขาสามารถรับหลักฐานที่จำเป็นจากแต่ละรายการได้
แนะนำพรักาน
จนถึงตอนนี้ เราได้อธิบายวิธีที่ Bob สามารถตรวจสอบความถูกต้องและการอนุญาตของธุรกรรมที่เข้ามา รวมถึงการย้อนต้นทางของอินพุตซ้ำๆ แต่มีกฎอีกข้อหนึ่งที่เราต้องคำนึงถึง: ความเป็นเอกลักษณ์ สมมติว่าอลิซเป็นคนร้าย เธอสามารถสร้างธุรกรรมหนึ่งที่เธอจ่าย 10 ดอลลาร์ให้กับบ๊อบ และอีกรายการหนึ่งที่เธอจ่าย 10 ดอลลาร์ให้กับชาร์ลี เธอสามารถส่งธุรกรรมเหล่านี้ให้กับ Bob และ Charlie ตามลำดับ พร้อมกับหลักฐานยืนยันความถูกต้องและการอนุญาตของแต่ละรายการ แม้ว่าธุรกรรมทั้งสองจะขัดแย้งกันเองโดยใช้สถานะเดียวกัน ไม่มีทางที่ Bob และ Charlie จะทราบเรื่องนี้
บล็อกเชนทั่วไปแก้ปัญหานี้โดยทุกโหนดที่เห็นทุกธุรกรรม ทำให้สามารถตรวจจับและปฏิเสธข้อขัดแย้งได้ง่าย Corda จัดการกับปัญหาเดียวกันด้วยการมองเห็นธุรกรรมบางส่วนได้อย่างไร คำตอบคือด้วยความช่วยเหลือของ "ทนายความ" ทนายความเป็นฝ่ายที่เชื่อถือได้ (หรือฝ่ายที่ทำงานร่วมกัน) ซึ่งรับประกันว่ารัฐหนึ่ง ๆ จะถูกบริโภคเพียงครั้งเดียว แต่ละรัฐมีทนายความเฉพาะซึ่งต้องลงนามในการทำธุรกรรมใด ๆ ที่มีการใช้รัฐนั้น เมื่อทนายความทำสิ่งนี้แล้ว จะต้องไม่ลงนามในธุรกรรมอื่นสำหรับรัฐเดียวกัน พรักานเป็นผู้พิทักษ์เอกลักษณ์การทำธุรกรรมของเครือข่าย
แม้ว่าทุกรัฐสามารถมีทนายความที่แตกต่างกันได้ แต่รัฐทั้งหมดที่ใช้โดยธุรกรรมเฉพาะจะต้องถูกกำหนดให้เป็นรัฐเดียวกัน ซึ่งจะช่วยหลีกเลี่ยงปัญหาที่เกี่ยวข้องกับการชะงักงันและการซิงโครไนซ์ ซึ่งน่าจะคุ้นเคยสำหรับผู้ที่มีประสบการณ์ฐานข้อมูลแบบกระจาย สมมติว่าอลิซและบ็อบตกลงที่จะแลกเปลี่ยน 10 ดอลลาร์ของอลิซเป็น 7 ปอนด์ของบ็อบ ธุรกรรมสำหรับการแลกเปลี่ยนนี้ต้องลงนามโดยพรักานของทั้งสองรัฐ แต่อันไหนก่อน หากทนายความของ Alice ลงนาม แต่ Bob ล้มเหลวด้วยเหตุผลบางอย่าง อลิซก็จะถูกทิ้งให้อยู่กับธุรกรรมที่ไม่สมบูรณ์และจะไม่สามารถใช้ $10 ได้อีก ถ้าสัญญาณของบ๊อบก่อน แสดงว่าเขาสัมผัสได้เช่นเดียวกัน แม้ว่าเราอาจต้องการให้พรักานทำงานร่วมกัน แต่ในทางปฏิบัติสิ่งนี้ต้องการความไว้วางใจซึ่งกันและกันและการใช้โปรโตคอลที่เป็นเอกฉันท์ ความซับซ้อนที่นักออกแบบของ Corda เลือกที่จะหลีกเลี่ยง
หากจำเป็นต้องใช้รัฐที่มีพรักานที่แตกต่างกันเป็นข้อมูลเข้าในธุรกรรมเดียว เจ้าของของพวกเขาจะทำธุรกรรมพิเศษ "การเปลี่ยนแปลงทนายความ" ซึ่งจะย้ายสถานะจากทนายความหนึ่งไปยังอีกที่หนึ่ง โดยไม่เปลี่ยนแปลงอะไรอย่างอื่น ดังนั้นเมื่อคู่สัญญากำลังสร้างธุรกรรมที่มีอินพุตหลายตัว พวกเขาต้องตกลงกับทนายความที่จะใช้ก่อน จากนั้นจึงดำเนินการเปลี่ยนแปลงเอกสารที่จำเป็น ในขณะที่นักพัฒนาซอฟต์แวร์ในตัวฉันรู้สึกเจ็บปวดเล็กน้อยเมื่ออ่านเกี่ยวกับวิธีแก้ปัญหานี้ แต่ก็ไม่มีเหตุผลใดที่จะไม่ทำงานตราบเท่าที่พรักานเล่นไปด้วย
ควรชี้แจงด้วยว่าแม้ว่าทนายความแต่ละแห่งจะเป็นผู้ดำเนินการตามตรรกะเพียงฝ่ายเดียวในแง่ของการลงนามในธุรกรรม แต่ก็ไม่จำเป็นต้องอยู่ภายใต้การควบคุมของฝ่ายเดียว กลุ่มองค์กรสามารถเรียกใช้ทนายความร่วมกันได้ โดยใช้โปรโตคอลฉันทามติที่เหมาะสม ซึ่งผู้เข้าร่วมส่วนใหญ่จำเป็นต้องสร้างลายเซ็นที่ถูกต้อง การทำเช่นนี้จะป้องกันไม่ให้ฝ่ายใดฝ่ายหนึ่งบ่อนทำลายเอกลักษณ์ด้วยการลงนามในธุรกรรมที่ขัดแย้งกัน ในทางทฤษฎี เราสามารถอนุญาตให้ทุกโหนดในเครือข่ายเข้าร่วมในการรับรองเอกสารที่ใช้ร่วมกันประเภทนี้ แม้ว่าในกรณีนั้น เราจะกลับไปใช้บล็อกเชนแบบเดิมไม่มากก็น้อย
การทำคะแนน
มาสรุปความแตกต่างที่สำคัญระหว่าง Corda และบล็อคเชนทั่วไป ใน Corda ไม่มีบล็อกเชนแบบรวมซึ่งมีธุรกรรมทั้งหมดที่ได้รับการยืนยัน โหนดจะมองเห็นเฉพาะธุรกรรมที่เกี่ยวข้องโดยตรง หรือขึ้นอยู่กับธุรกรรมในอดีต โหนดมีหน้าที่ตรวจสอบความถูกต้องของธุรกรรมและการอนุญาต แต่อาศัยพรักานที่เชื่อถือได้เพื่อตรวจสอบความเป็นเอกลักษณ์
แน่นอนว่า Corda ยังมีอะไรมากกว่านี้อีกมาก: การใช้ใบรับรองดิจิทัลเพื่อตรวจสอบตัวตน "แผนที่เครือข่าย" เพื่อช่วยให้โหนดค้นหาและไว้วางใจซึ่งกันและกัน "สัญญา" ต่อรัฐซึ่งกำหนดความถูกต้องจากมุมมองของแต่ละรัฐ Java Virtual Machine เวอร์ชันที่กำหนดซึ่งดำเนินการตามสัญญาเหล่านี้ "โฟลว์" ซึ่งทำการเจรจาธุรกรรมโดยอัตโนมัติ "กรอบเวลา" ซึ่งจำกัดการทำธุรกรรมตามเวลา "ออราเคิลส์" ที่ยืนยันข้อเท็จจริงภายนอกและ "CorDapps" ที่รวมหลายสิ่งหลายอย่างเข้าด้วยกันเพื่อการแจกจ่ายที่ง่ายดาย . แม้ว่าคุณสมบัติเหล่านี้แต่ละอย่างจะน่าสนใจ แต่ก็สามารถพบคุณสมบัติที่เทียบเท่ากับทั้งหมดได้ในแพลตฟอร์มบล็อกเชนอื่นๆ เป้าหมายของฉันในบทความนี้คือการมุ่งเน้นไปที่สิ่งที่ทำให้ Corda ไม่เหมือนใคร
Corda ทำตามสัญญาหรือไม่? มันแก้ปัญหาความสามารถในการปรับขนาด การรักษาความลับ และการทำงานร่วมกันของบล็อคเชนหรือไม่? และในการเลือกโดยเฉพาะอย่างยิ่ง Corda ต้องจ่ายเท่าไหร่?
ปรับขนาดได้มากขึ้นในบางครั้ง
มาเริ่มกันที่ความสามารถในการปรับขนาด ที่นี่ ข้อได้เปรียบของ Corda นั้นชัดเจน เนื่องจากโหนดเห็นเฉพาะบางธุรกรรมในเครือข่าย ในบล็อกเชนทั่วไป ปริมาณงานสูงสุดจะถูกจำกัดโดยความเร็วของโหนดที่ช้าที่สุดในการประมวลผลธุรกรรม ในทางตรงกันข้าม เครือข่าย Corda สามารถประมวลผลธุรกรรมได้หลายล้านรายการต่อวินาที ในขณะที่แต่ละโหนดมองเห็นเพียงเศษเสี้ยวของสิ่งนั้น ความสามารถในการขยายขยายไปยังพรักานด้วย เนื่องจากงานลงนามในธุรกรรมเพื่อความเป็นเอกลักษณ์สามารถแพร่กระจายระหว่างพรักานที่แตกต่างกันจำนวนมาก ซึ่งแต่ละแห่งมีหน้าที่รับผิดชอบในสัดส่วนเพียงเล็กน้อยของสถานะของเครือข่าย
ต้องบอกว่ามีสถานการณ์หนึ่งที่ Corda ทำได้แย่กว่าบล็อคเชนมาก สิ่งนี้เกิดขึ้นเมื่อโหนดได้รับธุรกรรมใหม่ซึ่งขึ้นอยู่กับธุรกรรมอื่น ๆ ที่ไม่เคยเห็นมาก่อน ลองนึกภาพสินทรัพย์ที่มีสภาพคล่องสูงซึ่งออกเมื่อ 10 ปีที่แล้ว และเปลี่ยนมือทุกๆ ห้านาที เส้นทางจากธุรกรรมใหม่ใดๆ กลับไปยังการออกสินทรัพย์นี้จะมีความยาวกว่าล้านธุรกรรม เมื่อโหนดได้รับเนื้อหานี้เป็นครั้งแรก โหนดจะต้องดึงธุรกรรมนับล้านรายการจากผู้ส่งและตรวจสอบแต่ละรายการในทางกลับกัน ในอัตรา (ค่อนข้างมองโลกในแง่ดี) ที่ 1000 ธุรกรรมต่อวินาที อาจมีความล่าช้า 17 นาทีก่อนที่ผู้รับจะสามารถส่งสินทรัพย์ได้ – เห็นได้ชัดว่ายาวเกินไปสำหรับบางสิ่งที่มีสภาพคล่องสูง
ทำไมบล็อคเชนไม่ประสบปัญหานี้ เนื่องจากโหนดมองเห็นและยืนยันทุกธุรกรรมที่เกิดขึ้น โหนดจึงอัปเดตสถานะของบัญชีแยกประเภทอย่างต่อเนื่อง และรู้ว่าใครเป็นเจ้าของสินทรัพย์ทั้งหมดในปัจจุบัน แม้ว่าโหนดจะไม่เคยถือสินทรัพย์ใดเป็นพิเศษมาก่อน แต่ก็สามารถตรวจสอบธุรกรรมที่ได้รับได้ทันที จากนั้นจึงส่งต่อไปทันที กล่าวอีกนัยหนึ่ง โหนดบล็อคเชนต้องตรวจสอบธุรกรรมที่อาจไม่เกี่ยวข้องกับพวกเขา แต่ในการทำเช่นนั้น พวกเขาจ่ายค่าใช้จ่ายล่วงหน้าในการตรวจสอบธุรกรรมในอนาคตที่อาจเข้ามา แม้ว่าโหนด Corda โดยรวมจะยุ่งน้อยกว่า แต่ก็เรียกใช้ เสี่ยงที่จะต้องทำงานจำนวนมากในทันทีทันใด ไม่มีอะไรที่สามารถปรับขนาดได้เกี่ยวกับเรื่องนี้
ค่อนข้างเป็นความลับ
มาต่อกันที่การรักษาความลับ ใน Corda โหนดเห็นเพียงบางธุรกรรมของเครือข่าย ซึ่งย่อมหมายถึงความเป็นส่วนตัวที่ดีกว่าบล็อคเชนทั่วไปอย่างปฏิเสธไม่ได้ อย่างไรก็ตาม Corda ยังห่างไกลจากการแก้ปัญหาการรักษาความลับ เนื่องจากโหนดยังคงเห็นธุรกรรมบางอย่างที่ไม่ใช่ธุรกิจของพวกเขา ยกตัวอย่างง่ายๆ ถ้าอลิซจ่ายให้บ๊อบ 10 ดอลลาร์ บ็อบก็จะส่ง 10 ดอลลาร์นั้นไปให้ชาร์ลี โหนดของชาร์ลีจะต้องแสดงธุรกรรมระหว่างอลิซกับบ็อบ แม้ว่าจะไม่ได้เกี่ยวข้องกับเขาก็ตาม ในเวลาที่อลิซจ่ายให้กับ Bob เธอไม่มีทางรู้ได้เลยว่าใครจะเห็นธุรกรรมนี้ในอนาคต และใครๆ ก็อาจถูกส่งไปเมื่อใดก็ได้
เพื่อความเป็นธรรม นักพัฒนาของ Corda ตระหนักถึงปัญหานี้ และพูดคุยกันในบทที่ 15 ของ เอกสารทางเทคนิค. บทความแนะนำกลยุทธ์ง่ายๆ เช่น การใช้คีย์สาธารณะหลายอันต่อเอนทิตี หรือลดความสามารถในการตรวจสอบย้อนกลับโดยการส่งคืนสินทรัพย์ให้กับผู้ออกเพื่อการออกใหม่ (คล้ายกับสกุลเงินดิจิทัล “เครื่องผสมเหรียญ”) นอกจากนี้ยังกล่าวถึงความเป็นไปได้ขั้นสูงในอนาคต เช่น การใช้เครือข่ายการไม่เปิดเผยชื่อที่คล้ายกับ Tor เพื่อซ่อนที่อยู่ IP ของผู้เข้าร่วมและใช้ประโยชน์จากการพิสูจน์ความรู้ที่เป็นศูนย์หรือของ Intel วงล้อมที่ปลอดภัย เพื่อตรวจสอบความถูกต้องของธุรกรรมโดยไม่เปิดเผยเนื้อหา แม้ว่าคำแนะนำเหล่านี้ทั้งหมดจะถูกต้อง แต่ก็สามารถนำไปใช้กับบล็อคเชนทั่วไปโดยใช้โมเดลอินพุต-เอาท์พุต และแท้จริงแล้วเป็นสกุลเงินดิจิทัล เช่น Dash, Zcash และ Verge ดังนั้นข้อได้เปรียบที่ไม่เหมือนใครเพียงอย่างเดียวของ Corda ในแง่ของการรักษาความลับยังคงเป็นการมองเห็นธุรกรรมที่ลดลง ซึ่งเป็นโซลูชันที่ไม่สมบูรณ์อย่างดีที่สุด
ทั้งหมดในการผสมพันธุ์
เพื่อให้เข้าใจถึงความสามารถในการปรับขนาดและข้อได้เปรียบด้านการรักษาความลับของ Corda ได้ดียิ่งขึ้น เราควรสังเกตว่าสิ่งนี้ขึ้นอยู่กับความหนาแน่นและความทับซ้อนกันของความสัมพันธ์ระหว่างธุรกรรม ลองนึกภาพ "แผนภูมิต้นไม้ครอบครัว" ของธุรกรรมที่ดำเนินการในเครือข่าย ซึ่งผู้ปกครองของธุรกรรมแต่ละรายการคือรายการก่อนหน้าซึ่งจะขึ้นอยู่กับทันที โดยเฉพาะอย่างยิ่ง เมื่อเอาต์พุตของธุรกรรมหนึ่งถูกใช้โดยอินพุตของอีกรายการหนึ่ง เราจะวาดลูกศรที่แสดงถึงความสัมพันธ์จากระดับบนสุดกับระดับย่อย ธุรกรรมสามารถมีพ่อแม่และลูกกี่คนก็ได้ แม้ว่าในกรณีส่วนใหญ่เราจะคาดหวังเพียงไม่กี่คน
จากแผนภูมิต้นไม้ครอบครัวนี้ เรากำหนดบรรพบุรุษของธุรกรรมเป็นพ่อแม่ ปู่ย่าตายาย ปู่ย่าตายาย และอื่นๆ “อดัมและอีฟ” ของต้นไม้ของเราเป็นธุรกรรมการออกซึ่งสร้างสินทรัพย์และไม่มีผู้ปกครองเป็นของตนเอง เช่นเดียวกับแผนภูมิต้นไม้ทั่วไป ธุรกรรมสองรายการไม่สามารถเป็นบรรพบุรุษของกันและกันได้ ในทางวิทยาการคอมพิวเตอร์อย่างเป็นทางการ นี่คือa กราฟเชิงเส้นกำกับ หรือ DAG ซึ่งบรรพบุรุษถูกกำหนดให้เป็นการปิดสกรรมกริยาของความสัมพันธ์หลัก
โปรดจำไว้ว่าเมื่อโหนด Corda ประมวลผลธุรกรรม จะต้องดาวน์โหลดและตรวจสอบบรรพบุรุษของธุรกรรมทั้งหมด ยกเว้นที่เคยเห็นมาก่อน ดังนั้นหากแผนภูมิต้นไม้ครอบครัวลึกซึ้ง ธุรกรรมที่เข้ามาใหม่อาจมีบรรพบุรุษจำนวนมากที่จำเป็นต้องได้รับการตรวจสอบ ทำให้เกิดปัญหาในการขยายขนาดของ Corda นอกจากนี้ หากแผนภูมิต้นไม้มีการผสมข้ามพันธุ์ในระดับสูง บรรพบุรุษของธุรกรรมใหม่อาจรวมธุรกรรมในอดีตหรือหลายรายการในเครือข่ายด้วย ในกรณีนี้ Corda จะให้ประโยชน์เพียงเล็กน้อยในแง่ของความเป็นส่วนตัว
ในทางตรงกันข้าม หากแผนภูมิลำดับวงศ์ตระกูลของการทำธุรกรรมนั้นตื้น และมีเกาะที่ถูกตัดการเชื่อมต่อจำนวนมากซึ่งไม่มีปฏิสัมพันธ์ซึ่งกันและกัน ข้อดีของ Corda ก็มาก่อน โหนดจะไม่ต้องตรวจสอบธุรกรรมจำนวนมากในคราวเดียว และสามารถปกปิดธุรกรรมส่วนใหญ่ที่ไม่เกี่ยวข้องกับธุรกรรมส่วนใหญ่ได้ หากใช้เป็นบัญชีแยกประเภททางการเงิน เราอาจกล่าวได้ว่า Corda เหมาะอย่างยิ่งสำหรับตลาดที่มีการแยกส่วนสูงซึ่งสินทรัพย์แทบไม่มีการเปลี่ยนแปลง
การทำงานร่วมกันเพื่อชัยชนะ
นี่เป็นพื้นที่หนึ่งที่ Corda เปล่งประกายอย่างแท้จริง ลองนึกภาพเครือข่าย Corda สองเครือข่ายที่แยกจากกัน โดยมีชุดสินทรัพย์และผู้เข้าร่วมต่างกัน เมื่อถึงจุดหนึ่ง ผู้เข้าร่วมในเครือข่ายหนึ่งต้องการส่งเนื้อหาให้ผู้อื่นในเครือข่ายอื่น ไม่เหมือนกับบล็อคเชนทั่วไป ไม่มีความคาดหวังว่าโหนดจะตรวจสอบธุรกรรมที่ผ่านมาทั้งหมด ดังนั้นโหนดที่ได้รับสินทรัพย์ใหม่นี้จะไม่พบสิ่งผิดปกติ เมื่อมีการทำธุรกรรมเข้ามา ก็เพียงแค่ขอและตรวจสอบประวัติที่เกี่ยวข้องโดยไม่ทราบว่ามาจาก "เครือข่ายที่แยกจากกัน" เราอาจกล่าวได้ว่าไม่มีคนแปลกหน้าในคอร์ดา เป็นเพียงเพื่อนที่ยังไม่เคยพบเจอ
ในความเป็นจริง สิ่งต่าง ๆ ไม่ได้ค่อนข้างง่าย โหนด Corda ใด ๆ จะตัดสินใจอย่างชัดเจนว่าพรักานใดที่จะไว้วางใจ เนื่องจากทนายความที่ประพฤติตัวไม่เหมาะสมสามารถก่อให้เกิดความโกลาหลทางการเงินได้ นอกจากนี้ โหนดจำเป็นต้องมี "ใบรับรอง" ที่มอบให้โดย "คนเฝ้าประตู" เพื่อเชื่อมต่อกับโหนดอื่นในเครือข่าย เนื่องจากเราไม่สามารถอนุญาตให้สมาชิกสุ่มของประชาชนเริ่มเชื่อมต่อกับโหนดและใช้ทรัพยากรอย่างสิ้นเปลือง ดังนั้น ก่อนที่โหนดในเครือข่ายหนึ่งจะสามารถเริ่มร้องขอและตรวจสอบธุรกรรมจากเครือข่ายอื่นได้ จะต้องเพิ่มรายการของพรักานที่เชื่อถือได้และได้รับใบรับรองที่เหมาะสม แม้ว่าสิ่งนี้จะเกี่ยวข้องกับการกำหนดค่าและการดูแลระบบด้วยตนเอง แต่ก็เป็นค่าขั้นต่ำที่สามารถคาดหวังได้สำหรับระบบในลักษณะนี้ โดยรวมแล้ว เป็นเรื่องที่ยุติธรรมที่จะสรุปว่าการทำงานร่วมกันเป็นชัยชนะที่ยิ่งใหญ่ของ Corda เหนือบล็อกเชนทั่วไป
การแก้ไขใหม่
ได้เวลาพูดเรื่อง disintermediation ช้างในห้องคอร์ดาแล้ว ในบริบทของบล็อคเชน การแยกตัวกลางหมายความว่าผู้เข้าร่วมทุกคนสามารถตรวจสอบทุกธุรกรรมด้วยตนเอง โดยไม่ต้องขึ้นอยู่กับพฤติกรรมที่ดีของบุคคลที่สาม ใน มุมมองของฉันการแยกตัวกลางเป็นข้อได้เปรียบหลักของบล็อคเชนเหนือฐานข้อมูลแบบรวมศูนย์ ซึ่งผู้เข้าร่วมทั้งหมดต้องพึ่งพาเจ้าของฐานข้อมูลนั้นอย่างเต็มที่ หากผู้เข้าร่วมในเครือข่ายมีคนกลางที่พวกเขาสามารถพึ่งพาได้ และไม่มีกรณีธุรกิจหรือกฎเกณฑ์สำหรับการแยกตัวกลาง ไม่มีประโยชน์ ในการใช้บล็อคเชน ฐานข้อมูลแบบรวมศูนย์นั้นเร็วกว่าและมีประสิทธิภาพมากกว่า และหลีกเลี่ยงปัญหาการรักษาความลับของธุรกรรม
ผู้เข้าร่วมในเครือข่าย Corda บรรลุ disintermediation หรือไม่? ใช่ใช่และใช่ แต่ไม่ใช่ สำหรับการส่งมอบธุรกรรม Corda จะทำเครื่องหมายที่ช่อง เนื่องจากโหนดที่เกี่ยวข้องกับการทำธุรกรรมจะพูดคุยกันโดยตรง ในแง่ของความถูกต้องและการอนุญาต ยังอยู่ในสภาพที่ดี เนื่องจากแต่ละโหนดสามารถตรวจสอบคุณสมบัติเหล่านี้ได้ด้วยตนเอง อย่างไรก็ตาม เมื่อพูดถึงการตรวจสอบเอกลักษณ์ของธุรกรรม Corda ล้มเหลวในการทดสอบการแยกตัวกลาง โหนดไม่สามารถยืนยันเอกลักษณ์ของตนเองได้ เนื่องจากจะไม่เห็นทุกธุรกรรมในเครือข่าย และงานดังกล่าวได้รับการว่าจ้างจากพนักงานรับรองเอกสารที่เชื่อถือได้
ผู้เข้าร่วม Corda อยู่ในความเมตตาของพรักานในหลายวิธี ประการแรก ทนายความอาจปฏิเสธที่จะลงนามในธุรกรรม แม้ว่าข้อมูลที่ป้อนเข้ามาจะกินผลลัพธ์ที่ไม่เคยใช้มาก่อน ในบัญชีแยกประเภททางการเงิน สิ่งนี้จะป้องกันไม่ให้ผู้อื่นส่งหรือแลกเปลี่ยนทรัพย์สินของตน ประการที่สอง ทนายความสามารถลงนามในการทำธุรกรรมที่ขัดแย้งกันสองรายการซึ่งใช้ผลลัพธ์เดียวกัน ทำให้ทั้งสองฝ่ายเชื่อว่าพวกเขาได้รับสิ่งเดียวกัน เนื่องจากผู้รับสินทรัพย์ที่ซ้ำกันทั้งสองส่งหรือแลกเปลี่ยนในธุรกรรมเพิ่มเติม การแพร่กระจายของเชื้อ และความสมบูรณ์ของบัญชีแยกประเภททั้งหมดอาจถูกบ่อนทำลายในไม่ช้า ในที่สุด ทนายความอาจปฏิเสธที่จะลงนามในธุรกรรม "การเปลี่ยนแปลงทนายความ" เพื่อโอนสถานะไปยังคู่แข่ง โดยจับเจ้าของทรัพย์สินเป็นตัวประกันอย่างมีประสิทธิภาพ สำหรับการทำธุรกรรมที่เกี่ยวข้องกับรัฐที่มีพรักานที่แตกต่างกัน ไกลที่จะกล่าวว่า Corda แนะนำ เป็นตัวกลางมากกว่าฐานข้อมูลแบบรวมศูนย์เนื่องจากบุคคลที่สามหลายรายอยู่ในการควบคุม
ในการพิจารณาความเสี่ยงนี้ ควรระลึกไว้ว่าพรักานของ Corda ไม่จำเป็นต้องถูกควบคุมโดยองค์กรเดียว นอกจากนี้ยังอาจประกอบด้วยกลุ่มของโหนดที่เรียกใช้อัลกอริธึมฉันทามติที่สามารถทนต่อผู้ไม่หวังดีได้ ในกรณีนี้ ทนายความจะทำงานได้ดีตราบใดที่โหนดสมาชิกส่วนใหญ่ปฏิบัติตามกฎ บนพื้นผิวนี้ฟังดูเหมือนบล็อกเชนซึ่งขึ้นอยู่กับผู้ตรวจสอบความถูกต้องส่วนใหญ่ที่ประพฤติตัวดี อย่างไรก็ตามใน Corda ความเสี่ยงนั้นสูงขึ้นอย่างมาก สิ่งที่เลวร้ายที่สุดที่ผู้ตรวจสอบความถูกต้องของบล็อคเชนสามารถทำได้คือป้องกันไม่ให้ธุรกรรมบางรายการได้รับการยืนยัน ทนายความ Corda ที่เป็นอันตรายสามารถลงนามในการทำธุรกรรมที่ขัดแย้งกันโดยส่งบัญชีแยกประเภทไปยังก้นบึ้งที่ไม่สอดคล้องกัน
สัตว์ประหลาด
เมื่อนำความสามารถในการปรับขยาย การรักษาความลับ ความสามารถในการทำงานร่วมกัน และการแยกสื่อกลางเข้าด้วยกัน เป็นเรื่องยากที่จะตัดสินง่ายๆ เกี่ยวกับทางเลือกของ Corda โดยรวมแล้ว จากมุมมองของผู้พัฒนาแพลตฟอร์มบล็อคเชนนี้ ดูเหมือนว่า…น่าสนใจแต่แปลก ออกแบบมาเพื่อแก้ปัญหาหลักของความสามารถในการปรับขนาดและการรักษาความลับ โซลูชันของ Corda นั้นไม่สมบูรณ์ และขึ้นอยู่กับรูปร่างของธุรกรรม “แผนภูมิลำดับวงศ์ตระกูล” เป็นอย่างมาก อย่างไรก็ตาม เพื่อให้บรรลุชัยชนะบางส่วนเหล่านี้ Corda สูญเสียคุณสมบัติหลักของบล็อคเชน – การกำจัดตัวกลางในการทำธุรกรรม แม้ว่า Corda จะมีความสามารถในการทำงานร่วมกันได้อย่างไม่ต้องสงสัย นั่นเพียงพอแล้วจริงหรือ
หากเราอยากจะสงสัย เราอาจกล่าวได้ว่าทีมของ Corda ถูกกำหนดให้เป็นงานที่เป็นไปไม่ได้ – เพื่อออกแบบรสชาติของบล็อคเชนที่เหมาะกับการระดมทุน R3 ของธนาคาร แต่ประโยชน์หลักของ blockchains เหนือฐานข้อมูลแบบรวมศูนย์คือ disintermediation ซึ่งมาพร้อมกับราคาของการรักษาความลับที่ลดลง การแลกเปลี่ยนนี้สมเหตุสมผลอย่างไรสำหรับสถาบันการเงินที่ทำเงินโดยทำหน้าที่เป็นตัวกลางและมีความอ่อนไหวสูงเกี่ยวกับความเป็นส่วนตัว เมื่อมองในแง่นี้ เราอาจยกย่อง Corda ว่าเป็นการประนีประนอมที่กล้าหาญ แต่ท้ายที่สุดแล้วไม่น่าพอใจระหว่างความปรารถนาของสมาชิก R3 ที่จะทำอะไรบางอย่างที่ปิดกั้น และข้อจำกัดทางการค้าและกฎระเบียบที่มีอยู่
ผู้ดูแล 2.0
แต่ฉันชอบที่จะใช้แนวทางที่เป็นบวกมากกว่า แทนที่จะมุ่งเน้นไปที่การเปรียบเทียบกับบล็อคเชน เราสามารถมองว่า Corda เป็นการยกระดับทางเทคนิคที่สำคัญไปสู่สถานะทางการเงินที่เป็นอยู่ เพียงแทนที่คำว่า "ทนายความ" ด้วย "ผู้ดูแล" และทุกอย่างก็เข้าที่อย่างเรียบร้อย (NS ผู้ปกครอง เป็นสถาบันการเงินที่ถือครองทรัพย์สินในนามของผู้อื่น) ใช่ พรักานเป็นคนกลางที่สามารถบล็อกธุรกรรมและยอมให้เกิดความขัดแย้งได้ แต่สิ่งนี้ก็เป็นความจริงสำหรับผู้ดูแลในปัจจุบันเช่นกัน "ธุรกรรมการเปลี่ยนแปลงทนายความ" สามารถเห็นได้ว่าเป็นการโอนสินทรัพย์จากผู้รับฝากทรัพย์สินรายหนึ่งไปยังอีกรายหนึ่ง และธุรกรรมของ Corda ได้รับการลงนามโดยทนายความเพียงแห่งเดียวด้วยเหตุผลเดียวกับที่เราต้องการให้มีการแลกเปลี่ยนสินทรัพย์ในที่เดียว - เพื่อป้องกันไม่ให้ฝ่ายใดฝ่ายหนึ่งถูกออกจากกระเป๋า
เมื่อพิจารณาถึง Corda ในลักษณะนี้ เราจะเห็นได้ว่า Corda ปรับปรุงรูปแบบการคุมขังแบบเดิมได้อย่างไร:
- กำหนดกระบวนทัศน์การคำนวณมาตรฐานและรูปแบบสำหรับการแสดงสินทรัพย์ทางการเงินและภาระผูกพันตามสัญญาอื่นๆ
- ให้บริการซอฟต์แวร์โอเพ่นซอร์สสำหรับการตีความและดำเนินการตามข้อผูกพันเหล่านี้ รับประกันว่าฝ่ายที่ทำธุรกรรมและผู้ดูแลเห็นด้วยกับผลลัพธ์ของการทำธุรกรรมทุกครั้ง
- คุณสามารถสร้างผู้ดูแลหลายฝ่ายที่ซับซ้อนซึ่งป้องกันการละเมิดได้ (โดยใช้ซอฟต์แวร์เท่านั้น!) โดยใช้ประโยชน์จากอัลกอริธึมฉันทามติที่ยอมรับข้อผิดพลาด
- กระบวนการมาตรฐาน ("การเปลี่ยนแปลงทนายความ") ถูกกำหนดไว้สำหรับการโอนทรัพย์สินระหว่างผู้รับฝากทรัพย์สิน และไม่อนุญาตให้ผู้ดูแลทรัพย์สินปฏิเสธ
- ผู้รับฝากทรัพย์สินไม่สามารถใช้ทรัพย์สินภายใต้การดูแลของตนได้หากไม่ได้รับความยินยอมจากเจ้าของ เนื่องจากการทำธุรกรรมจะต้องลงนามโดยเจ้าของข้อมูลของพวกเขาด้วย
ฉันห่างไกลจากการเป็นนายธนาคาร แต่สำหรับฉัน ทั้งหมดนี้ฟังดูค่อนข้างมีแนวโน้ม และบางที Corda ก็สามารถนำไปใช้กับอุตสาหกรรมอื่นๆ ที่มีโครงสร้างการดูแลที่ซับซ้อน เช่น การประกันภัยหรือการขนส่งได้เป็นอย่างดี แม้ว่าการออกแบบของ Corda อาจไม่ได้ช่วยขจัดความสมบูรณ์ของ blockchain แต่ก็เสนอการเปลี่ยนแปลงที่มีประสิทธิภาพสำหรับอุตสาหกรรมที่ตัวกลางมีบทบาทสำคัญ
เมื่อเราเข้าสู่แนวความคิดนี้แล้ว คำถามหนึ่งก็เกิดขึ้นอย่างหลีกเลี่ยงไม่ได้: หากเราวางใจพรักานกับงานตรวจสอบความเป็นความตายของการตรวจสอบเอกลักษณ์อยู่แล้ว ทำไมไม่ลองพึ่งพาพวกเขาเพื่อความถูกต้องและการอนุญาตด้วยล่ะ คอร์ดามีแนวคิดเรื่อง “ทนายความตรวจสอบ” ซึ่งตรวจสอบธุรกรรมทั้งหมดก่อนที่จะเพิ่มลายเซ็น แทนที่จะดาวน์โหลดโหนด Corda ปกติและตรวจสอบบรรพบุรุษของธุรกรรม ทำไมไม่ลองถามทนายความแทนล่ะ สิ่งนี้สามารถช่วยในเรื่องความสามารถในการปรับขนาดและการรักษาความลับ เนื่องจากโหนดส่วนใหญ่จะไม่เห็นธุรกรรมอื่นใดนอกจากโหนดของพวกเขาเอง เราอาจแนะนำว่าพรักานของเครือข่ายไว้วางใจซึ่งกันและกันอย่างเต็มที่ ดังนั้นจึงไม่จำเป็นต้องกังวลเกี่ยวกับบรรพบุรุษ ทนายความของแต่ละรัฐสามารถรับรองความถูกต้อง โดยตรวจสอบเฉพาะธุรกรรมที่สร้างด้วยความช่วยเหลือของพรักานอื่น ๆ
ให้คอร์ดาเป็นคอร์ดา
ทั้งหมดนี้นำเรากลับไปสู่จุดเริ่มต้น: Corda ไม่ใช่คู่แข่งสำหรับบล็อคเชนทั่วไป รวมถึง MultiChain ด้วย Corda คือ Corda ซึ่งเป็นบัญชีแยกประเภทรูปแบบใหม่ที่น่าสนใจ ซึ่งได้รับการปรับให้เหมาะสมกับความต้องการของผู้ที่กำลังระดมทุน ฉันไม่รู้ว่าท้ายที่สุดแล้ว Corda จะประสบความสำเร็จหรือล้มเหลว เพราะฉันไม่รู้ต้นทุนและผลประโยชน์ในโลกแห่งความเป็นจริงเมื่อเทียบกับวิธีการทำสิ่งต่างๆ ในปัจจุบัน แต่ไม่ว่าอะไรจะเกิดขึ้นในอนาคต ก็ควรศึกษาในแง่ของปรัชญาและการออกแบบอย่างแน่นอน
สำหรับ MultiChain เรากำลังใช้แนวทางที่แตกต่างออกไป เพื่อขโมยสายจาก เวสต์วิงเรามุ่งมั่นที่จะ “ให้บล็อคเชนเป็นบล็อคเชน” Blockchains เป็นสิ่งที่พวกเขาเป็น และเราไม่มีแผนที่จะเปลี่ยนให้เป็นสิ่งที่แตกต่างออกไป ในฐานะโครงสร้างพื้นฐานของข้อมูลสำหรับแอปพลิเคชันที่ใช้ร่วมกัน บล็อกเชนแสดงถึงการแลกเปลี่ยนที่เฉพาะเจาะจงเมื่อเปรียบเทียบกับฐานข้อมูลแบบรวมศูนย์ – กำไรจากการแยกส่วนด้วยต้นทุนของการรักษาความลับที่ลดลง และเรากำลังพยายามอย่างเต็มที่ในการทำให้ MultiChain 2.0 ดีที่สุดเท่าที่จะเป็นไปได้ blockchain แพลตฟอร์มสำหรับนักพัฒนาแอปพลิเคชันที่จะใช้
กรุณาโพสต์ความคิดเห็นใด ๆ ใน LinkedIn.
ที่มา: https://www.multichain.com/blog/2018/05/r3-corda-deep-dive-and-technical-review/
- ลงชื่อเข้าใช้
- คำย่อ
- คล่องแคล่ว
- เพิ่มเติม
- ความได้เปรียบ
- ขั้นตอนวิธี
- อัลกอริทึม
- การใช้งาน
- การใช้งาน
- สถาปัตยกรรม
- AREA
- บทความ
- สินทรัพย์
- สินทรัพย์
- ผู้ฟัง
- การอนุญาต
- ธนาคาร
- ธนาคารแห่งประเทศจีน
- การธนาคาร
- ธนาคาร
- ที่ดีที่สุด
- บิล
- blockchain
- กล่อง
- การก่อสร้าง
- กำ
- ธุรกิจ
- กรณี
- ก่อให้เกิด
- ผู้บริหารสูงสุด
- ใบรับรอง
- ใบรับรอง
- เปลี่ยนแปลง
- ช่อง
- การตรวจสอบ
- การตรวจสอบ
- เด็ก
- เด็ก
- สาธารณรัฐประชาชนจีน
- ซิตี้
- การปิด
- ความคิดเห็น
- เชิงพาณิชย์
- ร่วมกัน
- บริษัท
- การแข่งขัน
- คู่แข่ง
- วิทยาการคอมพิวเตอร์
- คอมพิวเตอร์
- ขัดกัน
- เอกฉันท์
- ความยินยอม
- บริโภค
- เนื้อหา
- เนื้อหา
- สัญญา
- Corda
- ค่าใช้จ่าย
- การสร้าง
- ล่องเรือ
- คริปโตเคอร์เรนซี่
- cryptocurrency
- การอ่านรหัส
- ปัจจุบัน
- การดูแล
- ลูกค้า
- DAG
- แดช หรือ Dash
- ข้อมูล
- การจัดเก็บข้อมูล
- ฐานข้อมูล
- ฐานข้อมูล
- วัน
- จัดการ
- ความล่าช้า
- การส่งมอบ
- การจัดส่ง
- ออกแบบ
- ผู้พัฒนา
- นักพัฒนา
- พัฒนาการ
- DID
- ดิจิตอล
- บัญชีแยกประเภทกระจาย
- ดอลลาร์
- ช้าง
- ชั้นเยี่ยม
- Enterprise
- ethereum
- ตลาดแลกเปลี่ยน
- แลกเปลี่ยน
- การออกกำลังกาย
- ผ้า
- ธรรม
- ครอบครัว
- ร้านแฟชั่นเกาหลี
- คุณสมบัติ
- ในที่สุด
- ทางการเงิน
- สถาบันการเงิน
- ปลาย
- ชื่อจริง
- ครั้งแรก
- โฟกัส
- รูป
- เต็ม
- การระดมทุน
- เงิน
- อนาคต
- General
- เหตุการณ์ที่
- blockchain ทั่วโลก
- ดี
- การกำกับดูแล
- ยิ่งใหญ่
- บัญชีกลุ่ม
- การเจริญเติบโต
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- ซ่อน
- จุดสูง
- ไฮไลต์
- ประวัติ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- HTTPS
- ใหญ่
- ความคิด
- เอกลักษณ์
- ที่ผิดกฎหมาย
- รวมทั้ง
- อุตสาหกรรม
- ข้อมูล
- โครงสร้างพื้นฐาน
- สถาบัน
- สถาบัน
- ประกัน
- ปฏิสัมพันธ์
- อยากเรียนรู้
- การทำงานร่วมกัน
- ร่วมมือ
- IP
- ฉบับ
- ปัญหา
- IT
- ชวา
- การสัมภาษณ์
- ร่วม
- คีย์
- กุญแจ
- ความรู้
- ใหญ่
- นำ
- ความเป็นผู้นำ
- ชั้นนำ
- ได้เรียนรู้
- บัญชีแยกประเภท
- กฎหมาย
- ชั้น
- เบา
- Line
- ของเหลว
- รายการ
- นาน
- สำคัญ
- ส่วนใหญ่
- การทำ
- ตลาด
- ตลาด
- การจับคู่
- การประชุม
- สมาชิก
- กล่าวถึง
- ล้าน
- แบบ
- เงิน
- ย้าย
- มัลติเชน
- เครือข่าย
- เครือข่าย
- เครือข่าย
- โหนด
- ความคิด
- เปิด
- โอเพนซอร์ส
- ใบสั่ง
- คำสั่งซื้อ
- อื่นๆ
- ผลิตภัณฑ์อื่นๆ
- เจ้าของ
- เจ้าของ
- อาการเจ็บปวด
- กระดาษ
- ตัวอย่าง
- พ่อแม่
- ชำระ
- การชำระเงิน
- การชำระเงิน
- รูปแบบไฟล์ PDF
- คน
- การปฏิบัติ
- มุมมอง
- ปรัชญา
- ภาพ
- เวที
- แพลตฟอร์ม
- ยอดนิยม
- นำเสนอ
- ราคา
- ความเป็นส่วนตัว
- ส่วนตัว
- ผลิตภัณฑ์
- การผลิต
- พิสูจน์
- คุณสมบัติ
- ป้องกัน
- สาธารณะ
- R3
- ผู้อ่าน
- การอ่าน
- ความจริง
- ปะยางรถ
- บันทึก
- การควบคุม
- ความสัมพันธ์
- การสงเคราะห์
- ความต้องการ
- แหล่งข้อมูล
- การเกษียณอายุ
- ทบทวน
- ความเสี่ยง
- กฎระเบียบ
- วิ่ง
- วิ่ง
- scalability
- วิทยาศาสตร์
- เอเชียตะวันออกเฉียงใต้
- เห็น
- ความรู้สึก
- ชุด
- ที่ใช้ร่วมกัน
- การส่งสินค้า
- สั้น
- สัญญาณ
- ง่าย
- เล็ก
- So
- ซอฟต์แวร์
- โซลูชัน
- แก้
- ความเร็ว
- การใช้จ่าย
- กระจาย
- เดิมพัน
- เริ่มต้น
- ข้อความที่เริ่ม
- สถานะ
- สหรัฐอเมริกา
- Status
- การเก็บรักษา
- จัดเก็บ
- ร้านค้า
- รองรับ
- พื้นผิว
- ระบบ
- วิชาการ
- ทดสอบ
- ก้าวสู่อนาคต
- คิด
- บุคคลที่สาม
- เวลา
- ความอดทน
- ตรวจสอบย้อนกลับ
- การทำธุกรรม
- การทำธุรกรรม
- การแปลง
- ความโปร่งใส
- การขนส่ง
- วางใจ
- ยังไม่ได้แฮช
- us
- USD
- ผู้ใช้
- ปาก
- การตรวจสอบ
- รายละเอียด
- เสมือน
- เครื่องเสมือน
- ความชัดเจน
- การออกเสียง
- รอ
- ตะวันตก
- WHO
- วิกิพีเดีย
- ชนะ
- งาน
- โลก
- คุ้มค่า
- การเขียน
- ปี
- Zcash
- เป็นศูนย์