Bitcoin สร้างความฮือฮาบนอินเทอร์เน็ต มันถูกเยาะเย้ยมันถูกโจมตีและในที่สุดมันก็ถูกยอมรับและกลายเป็นส่วนหนึ่งของชีวิตเรา อย่างไรก็ตาม Bitcoin ไม่ได้อยู่คนเดียว ในขณะนี้มี มากกว่า 700 AltCoin การใช้งานซึ่งใช้หลักการที่คล้ายกันและอัลกอริธึมสกุลเงินดิจิทัลต่างๆ
แล้วคุณต้องสร้างอะไรเช่น Bitcoin?
aws โซลูชั่น สถาปนิก สอบปฏิบัติ
โดยไม่ต้องพยายามทำความเข้าใจแรงจูงใจส่วนบุคคลของคุณในการสร้างระบบการแลกเปลี่ยนเงิน / ข้อมูลแบบไม่เปิดเผยตัวตน (แต่ยังหวังว่าจะอยู่ในขอบเขตของกิจกรรมทางศีลธรรมและกฎหมาย) ก่อนอื่นเรามาอธิบายข้อกำหนดพื้นฐานสำหรับระบบการชำระเงินใหม่ของเรา:
การปฏิบัติตามข้อกำหนดสองประการแรกจากรายการของเราการลบอำนาจส่วนกลางสำหรับการแลกเปลี่ยนข้อมูลทางอินเทอร์เน็ตนั้นเป็นไปได้แล้ว สิ่งที่คุณต้องการคือ เพียร์ทูเพียร์ (P2P) เครือข่าย
การแบ่งปันข้อมูลในเครือข่าย P2P คล้ายกับการแบ่งปันข้อมูลระหว่างเพื่อนและครอบครัว หากคุณแบ่งปันข้อมูลกับสมาชิกเครือข่ายอย่างน้อยหนึ่งคนในที่สุดข้อมูลนี้จะไปถึงสมาชิกคนอื่น ๆ ของเครือข่าย ข้อแตกต่างเพียงอย่างเดียวคือในเครือข่ายดิจิทัลข้อมูลนี้จะไม่ถูกเปลี่ยนแปลง แต่อย่างใด
คุณคงเคยได้ยิน BitTorrent หนึ่งในระบบแชร์ไฟล์ P2P (การส่งเนื้อหา) ที่ได้รับความนิยมมากที่สุด อีกหนึ่งแอปพลิเคชันยอดนิยมสำหรับการแชร์ P2P คือ Skype รวมถึงระบบแชทอื่น ๆ
สิ่งที่สำคัญที่สุดคือคุณสามารถใช้หรือใช้โปรโตคอล P2P แบบโอเพนซอร์สที่มีอยู่เพื่อรองรับสกุลเงินดิจิทัลใหม่ของคุณซึ่งเราจะเรียกว่า Topcoin .
ในการทำความเข้าใจอัตลักษณ์ดิจิทัลเราต้องเข้าใจวิธีการ งานแฮชการเข้ารหัส . การแฮชเป็นกระบวนการในการแมปข้อมูลดิจิทัลที่มีขนาดใดก็ได้โดยพลการกับข้อมูลที่มีขนาดคงที่ พูดง่ายๆว่าการแฮชเป็นกระบวนการรับข้อมูลบางอย่างที่อ่านได้และสร้างสิ่งที่ไม่สมเหตุสมผลเลย
คุณสามารถเปรียบเทียบการแฮชกับการรับคำตอบจากนักการเมือง ข้อมูลที่คุณให้กับพวกเขานั้นชัดเจนและเข้าใจได้ในขณะที่ผลลัพธ์ที่พวกเขาให้มานั้นดูเหมือนเป็นการสุ่มของคำ
เทคโนโลยีแอปพลิเคชั่นประวัติศาสตร์เสมือนจริงและอนาคต
มีข้อกำหนดบางประการที่อัลกอริทึมการแฮชที่ดีต้องการ:
หากคุณดูสถิติง่ายๆเราจะมีค่า HASH ที่เป็นไปได้จำนวน จำกัด (แต่มาก) เพียงเพราะความยาว HASH ของเรามี จำกัด อย่างไรก็ตามอัลกอริทึมการแฮชของเรา (ขอตั้งชื่อว่า Politician256) ควรมีความน่าเชื่อถือเพียงพอที่จะสร้างเฉพาะค่าแฮชที่ซ้ำกันสำหรับอินพุตที่แตกต่างกันบ่อยพอ ๆ กับลิงในสวนสัตว์สามารถพิมพ์ Hamlet บนเครื่องพิมพ์ดีดได้อย่างถูกต้อง!
หากคุณคิดว่า Hamlet เป็นเพียงชื่อหรือคำโปรดหยุดอ่านตอนนี้หรืออ่านเกี่ยวกับไฟล์ ทฤษฎีบทลิงไม่มีที่สิ้นสุด .
เมื่อลงนามในเอกสารสิ่งที่คุณต้องทำคือแนบลายเซ็นของคุณต่อท้ายข้อความของเอกสาร ลายเซ็นดิจิทัลก็คล้ายกันคุณเพียงแค่ต้องต่อท้ายข้อมูลส่วนบุคคลของคุณในเอกสารที่คุณกำลังลงนาม
หากคุณเข้าใจว่าอัลกอริทึมการแฮชเป็นไปตามกฎที่ แม้แต่การเปลี่ยนแปลงข้อมูลอินพุตที่น้อยที่สุดก็ต้องสร้างความแตกต่างอย่างมีนัยสำคัญในเอาต์พุต ดังนั้นจะเห็นได้ชัดว่าค่า HASH ที่สร้างขึ้นสำหรับเอกสารต้นฉบับจะแตกต่างจากค่า HASH ที่สร้างขึ้นสำหรับเอกสารที่มีลายเซ็นต่อท้าย
การรวมกันของเอกสารต้นฉบับและค่า HASH ที่สร้างขึ้นสำหรับเอกสารที่มีข้อมูลส่วนบุคคลของคุณต่อท้ายคือ a เอกสารที่เซ็นชื่อแบบดิจิทัล .
และนี่คือวิธีที่เราไปถึงคุณ ตัวตนเสมือน ซึ่งกำหนดเป็นข้อมูลที่คุณต่อท้ายเอกสารก่อนที่คุณจะสร้างค่า HASH นั้น
ถัดไปคุณต้องตรวจสอบให้แน่ใจว่าไม่สามารถคัดลอกลายเซ็นของคุณได้และไม่มีใครสามารถทำธุรกรรมใด ๆ ในนามของคุณได้ วิธีที่ดีที่สุดในการตรวจสอบให้แน่ใจว่าลายเซ็นของคุณมีความปลอดภัยคือเก็บไว้ด้วยตัวเองและระบุวิธีการอื่นสำหรับบุคคลอื่นในการตรวจสอบความถูกต้องของเอกสารที่ลงนาม อีกครั้งเราสามารถถอยกลับไปใช้เทคโนโลยีและอัลกอริทึมที่พร้อมใช้งานได้ สิ่งที่เราต้องใช้คือ การเข้ารหัสคีย์สาธารณะ หรือที่เรียกว่า การเข้ารหัสแบบไม่สมมาตร .
ในการทำงานนี้คุณต้องสร้างไฟล์ คีย์ส่วนตัว และก คีย์สาธารณะ . คีย์ทั้งสองนี้จะอยู่ในความสัมพันธ์ทางคณิตศาสตร์บางประเภทและจะขึ้นอยู่กับกันและกัน อัลกอริทึมที่คุณจะใช้ในการสร้างคีย์เหล่านี้จะทำให้มั่นใจได้ว่าคีย์ส่วนตัวแต่ละอันจะมีคีย์สาธารณะที่แตกต่างกัน ตามที่ชื่อของพวกเขาแนะนำคีย์ส่วนตัวคือข้อมูลที่คุณจะเก็บไว้เพื่อตัวคุณเองในขณะที่คีย์สาธารณะคือข้อมูลที่คุณจะแบ่งปัน
หากคุณใช้คีย์ส่วนตัว (ข้อมูลประจำตัวของคุณ) และเอกสารต้นฉบับเป็นค่าอินพุตสำหรับ อัลกอริทึมการลงนาม ในการสร้างค่า HASH โดยสมมติว่าคุณเก็บความลับสำคัญไว้คุณจะมั่นใจได้ว่าไม่มีใครสามารถสร้างค่า HASH เดียวกันสำหรับเอกสารนั้นได้
หากใครต้องการตรวจสอบลายเซ็นของคุณเขาหรือเธอจะใช้เอกสารต้นฉบับค่า HASH ที่คุณผลิตและคีย์สาธารณะของคุณเป็นอินพุตสำหรับ อัลกอริทึมการตรวจสอบลายเซ็น เพื่อตรวจสอบว่าค่าเหล่านี้ตรงกัน
สมมติว่าคุณใช้การสื่อสารแบบ P2P กลไกในการสร้างข้อมูลประจำตัวดิจิทัล (คีย์ส่วนตัวและคีย์สาธารณะ) และมีวิธีให้ผู้ใช้เซ็นเอกสารโดยใช้คีย์ส่วนตัวคุณก็พร้อมที่จะเริ่มส่งข้อมูลไปยังเพื่อนของคุณ
javascript สร้างวันที่จากการประทับเวลา
เนื่องจากเราไม่มีหน่วยงานกลางที่จะตรวจสอบจำนวนเงินที่คุณมีระบบจะต้องถามคุณทุกครั้งจากนั้นตรวจสอบว่าคุณโกหกหรือไม่ ดังนั้นบันทึกธุรกรรมของคุณอาจมีข้อมูลต่อไปนี้:
สิ่งเดียวที่ต้องทำคือเซ็นชื่อบันทึกธุรกรรมแบบดิจิทัลด้วยคีย์ส่วนตัวของคุณและส่งบันทึกธุรกรรมไปยังเพื่อนของคุณในเครือข่าย เมื่อถึงจุดนั้นทุกคนจะได้รับข้อมูลว่ามีคน (ข้อมูลประจำตัวเสมือนของคุณ) ส่งเงินไปให้คนอื่น (ข้อมูลประจำตัวเสมือนของเภสัชกรของคุณ)
งานของคุณเสร็จแล้ว อย่างไรก็ตามยาของคุณจะไม่ได้รับการจ่ายจนกว่าเครือข่ายทั้งหมดจะตกลงว่าคุณมีเหรียญ 100 เหรียญจึงสามารถทำธุรกรรมนี้ได้ หลังจากตรวจสอบธุรกรรมของคุณแล้วเภสัชกรของคุณจะได้รับเงินและส่งยาให้คุณ
คนงานเหมืองเป็นที่รู้กันดีว่าเป็นคนที่ทำงานหนักมากซึ่งในความคิดของฉันได้รับค่าจ้างต่ำมาก ในโลกดิจิทัลของสกุลเงินดิจิทัลนักขุดมีบทบาทคล้ายกันมากยกเว้นในกรณีนี้พวกเขาทำงานที่ต้องใช้การคำนวณอย่างหนักแทนการขุดกองดิน ซึ่งแตกต่างจากนักขุดจริงนักขุด cryptocurrency บางคนได้รับโชคเล็กน้อยในช่วงห้าปีที่ผ่านมา แต่อีกหลายคนสูญเสียโชคจากความพยายามที่เสี่ยงนี้
คนงานเหมืองเป็นองค์ประกอบหลักของระบบและจุดประสงค์หลักคือเพื่อยืนยันความถูกต้องของแต่ละธุรกรรมที่ร้องขอโดยผู้ใช้
เพื่อยืนยันความถูกต้องของธุรกรรมของคุณ (หรือการรวมกันของธุรกรรมหลายรายการที่ร้องขอโดยผู้ใช้รายอื่น) คนงานเหมืองจะทำสองสิ่ง
ประการแรกพวกเขาจะอาศัยข้อเท็จจริงที่ว่า“ ทุกคนรู้ทุกอย่าง” ซึ่งหมายความว่าทุกธุรกรรมที่ดำเนินการในระบบจะถูกคัดลอกและพร้อมใช้งานสำหรับเพื่อน ๆ ในเครือข่าย พวกเขาจะตรวจสอบประวัติการทำธุรกรรมของคุณเพื่อตรวจสอบว่าคุณมี 100 เหรียญจริงหรือไม่ เมื่อยอดเงินในบัญชีของคุณได้รับการยืนยันแล้วพวกเขาจะสร้างค่า HASH ที่เฉพาะเจาะจง ค่าแฮชนี้ต้องมีรูปแบบเฉพาะ ต้องเริ่มต้นด้วยเลขศูนย์จำนวนหนึ่ง .
อินพุตสำหรับคำนวณค่า HASH นี้มีสองอินพุต:
พิจารณาว่า แม้แต่การเปลี่ยนแปลงข้อมูลอินพุตที่น้อยที่สุดก็ต้องทำให้ค่า HASH เอาต์พุตแตกต่างกันอย่างมีนัยสำคัญ คนงานเหมืองมีงานที่ยากมาก พวกเขาต้องหาค่าเฉพาะสำหรับไฟล์ หลักฐานการทำงาน ตัวแปรที่จะสร้าง HASH ขึ้นต้นด้วยศูนย์ หากระบบของคุณต้องการค่าศูนย์ขั้นต่ำ 40 รายการในแต่ละธุรกรรมที่ผ่านการตรวจสอบแล้วผู้ขุดจะต้องคำนวณค่า HASH ที่แตกต่างกันประมาณ 2 ^ 40 ค่าเพื่อค้นหาสิ่งที่ถูกต้อง หลักฐานการทำงาน .
เมื่อคนงานเหมืองพบมูลค่าที่เหมาะสมสำหรับการพิสูจน์การทำงานเขาหรือเธอมีสิทธิได้รับค่าธรรมเนียมการทำธุรกรรม (เหรียญเดียวที่คุณยินดีจ่าย) ซึ่งสามารถเพิ่มเป็นส่วนหนึ่งของธุรกรรมที่ตรวจสอบได้ ทุกธุรกรรมที่ผ่านการตรวจสอบจะถูกส่งไปยังเพื่อนในเครือข่ายและจัดเก็บในรูปแบบฐานข้อมูลเฉพาะที่เรียกว่า บล็อกเชน .
แต่จะเกิดอะไรขึ้นถ้าจำนวนคนงานเพิ่มขึ้นและฮาร์ดแวร์ของพวกเขามีประสิทธิภาพมากขึ้น? Bitcoin เคยถูกขุดบนซีพียูจากนั้นก็ใช้ GPU และ FPGA แต่ในที่สุดนักขุดก็เริ่มออกแบบชิป ASIC ของตัวเองซึ่งมีประสิทธิภาพมากกว่าโซลูชันแรก ๆ อย่างมาก เมื่ออัตราแฮชสูงขึ้นความยากในการขุดก็เช่นกันดังนั้นจึงมั่นใจได้ว่าสมดุล เมื่อมีการนำพลังแฮชเข้าสู่เครือข่ายมากขึ้นความยากก็จะเพิ่มขึ้นและในทางกลับกัน หากคนงานเหมืองหลายคนตัดสินใจดึงปลั๊กเนื่องจากการทำงานของพวกเขาไม่สามารถทำกำไรได้อีกต่อไปความยากลำบากจะถูกปรับใหม่เพื่อให้เข้ากับอัตราแฮชใหม่
blockchain มีประวัติของธุรกรรมทั้งหมดที่ดำเนินการในระบบ ทุกธุรกรรมที่ผ่านการตรวจสอบหรือชุดของธุรกรรมจะกลายเป็นแหวนวงอื่นในห่วงโซ่ ทุกอัน บริษัท พัฒนา blockchain อาศัยบัญชีแยกประเภทสาธารณะนี้
ดังนั้น Bitcoin blockchain โดยพื้นฐานแล้วเป็นบัญชีแยกประเภทสาธารณะที่มีการแสดงรายการธุรกรรมตามลำดับเวลา
วงแหวนแรกใน Bitcoin blockchain เรียกว่า Genesis Block
ความรับผิดชอบของหัวหน้าเจ้าหน้าที่การเงิน
หากต้องการอ่านเพิ่มเติมเกี่ยวกับวิธีการทำงานของ blockchain ฉันขอแนะนำให้อ่าน อธิบายเทคโนโลยี Blockchain: เพิ่มพลังให้กับ Bitcoin โดย Nermin Hajdarbegovic
ระบบของคุณไม่มีการ จำกัด จำนวนคนงานเหมือง ซึ่งหมายความว่าคนงานเหมืองสองคนขึ้นไปสามารถตรวจสอบธุรกรรมเดียวกันได้ หากสิ่งนี้เกิดขึ้นระบบจะตรวจสอบความพยายามทั้งหมดที่นักขุดแต่ละคนลงทุนในการตรวจสอบความถูกต้องของธุรกรรมโดยการนับเลขศูนย์ นักขุดที่ใช้ความพยายามมากขึ้น (พบเลขศูนย์นำหน้ามากกว่า) จะมีชัยและบล็อกของเขาจะได้รับการยอมรับ
กฎข้อแรกของระบบ Bitcoin คือสามารถสร้าง Bitcoins ได้สูงสุด 21,000,000 Bitcoins ตัวเลขนี้ยังไม่ประสบความสำเร็จและตามแนวโน้มในปัจจุบันคาดว่าตัวเลขนี้จะมาถึงภายในปี 2140
สิ่งนี้อาจทำให้คุณตั้งคำถามถึงประโยชน์ของระบบดังกล่าวเนื่องจาก 21 ล้านหน่วยฟังดูไม่มากนัก อย่างไรก็ตามระบบ Bitcoin รองรับค่าเศษส่วนถึงแปดทศนิยม (0.00000001) หน่วยที่เล็กที่สุดของ bitcoin นี้เรียกว่า a ซาโตชิ เพื่อเป็นเกียรติแก่ Satoshi Nakamoto ผู้พัฒนานิรนามที่อยู่เบื้องหลังโปรโตคอล Bitcoin
เหรียญใหม่ถูกสร้างขึ้นเพื่อเป็นรางวัลแก่นักขุดในการตรวจสอบธุรกรรม รางวัลนี้ ไม่ใช่ค่าธรรมเนียมการทำธุรกรรม ที่คุณระบุเมื่อคุณสร้างบันทึกธุรกรรม แต่ถูกกำหนดโดยระบบ จำนวนรางวัลจะลดลงเมื่อเวลาผ่านไปและในที่สุดจะถูกตั้งค่าเป็นศูนย์เมื่อถึงจำนวนเหรียญทั้งหมดที่ออก (21m) เมื่อเกิดเหตุการณ์นี้ค่าธรรมเนียมการทำธุรกรรมจะมีบทบาทสำคัญมากขึ้นเนื่องจากคนงานเหมืองอาจเลือกที่จะจัดลำดับความสำคัญของธุรกรรมที่มีค่ามากขึ้นสำหรับการตรวจสอบความถูกต้อง
นอกเหนือจากการกำหนดขีด จำกัด สูงสุดในจำนวนเหรียญสูงสุดแล้วระบบ Bitcoin ยังใช้วิธีที่น่าสนใจในการ จำกัด การผลิตเหรียญใหม่ทุกวัน โดยการปรับเทียบจำนวนศูนย์นำหน้าขั้นต่ำที่จำเป็นสำหรับการคำนวณหลักฐานการทำงานเวลาที่ต้องใช้ในการตรวจสอบธุรกรรมและรับรางวัลเหรียญใหม่จะถูกกำหนดไว้ที่ประมาณ 10 นาทีเสมอ หากเวลาระหว่างการเพิ่มบล็อกใหม่ใน blockchain ลดลงระบบอาจกำหนดให้การพิสูจน์การทำงานสร้างเลขศูนย์นำหน้า 45 หรือ 50
บริษัท เอส vs บริษัท ซี vs ห้างหุ้นส่วน
ดังนั้นด้วยการ จำกัด ความเร็วและจำนวนเหรียญใหม่ที่สามารถสร้างได้ระบบ Bitcoin จึงควบคุมปริมาณเงินได้อย่างมีประสิทธิภาพ
อย่างที่คุณเห็นการสร้าง Bitcoin ในเวอร์ชันของคุณเองนั้นไม่ใช่เรื่องยาก ด้วยการใช้เทคโนโลยีที่มีอยู่นำมาใช้ในรูปแบบใหม่คุณมีทุกสิ่งที่คุณต้องการสำหรับสกุลเงินดิจิทัล
สิ่งสุดท้ายที่ควรกล่าวถึงก็คือโดยพื้นฐานแล้ว cryptocurrency เป็นวิธีการถ่ายโอนค่า / ข้อมูลที่ไม่ระบุตัวตนจากผู้ใช้คนหนึ่งไปยังอีกคนหนึ่งในเครือข่ายเพียร์ทูเพียร์แบบกระจาย .
พิจารณาแทนที่เหรียญในบันทึกธุรกรรมของคุณด้วยข้อมูลแบบสุ่มที่อาจเข้ารหัสโดยใช้การเข้ารหัสแบบอะซิงโครนัสเพื่อให้มีเพียงผู้ส่งและผู้รับเท่านั้นที่สามารถถอดรหัสได้ ตอนนี้ให้คิดเกี่ยวกับการนำสิ่งนั้นไปใช้กับไฟล์ อินเทอร์เน็ตของสิ่งต่างๆ !
ระบบ cryptocurrency อาจเป็นวิธีที่น่าสนใจในการสื่อสารระหว่างเตากับเครื่องปิ้งขนมปังของเรา ทวีตผู้เชี่ยวชาญด้านเทคโนโลยีจำนวนมากกำลังสำรวจการใช้เทคโนโลยีบล็อกเชนในแพลตฟอร์ม IoT อยู่แล้ว แต่นั่นไม่ใช่แอปพลิเคชั่นเดียวที่มีศักยภาพของเทคโนโลยีที่ค่อนข้างใหม่นี้
หากคุณไม่เห็นเหตุผลที่จะสร้างสกุลเงินอื่นของคุณเอง (นอกเหนือจากเรื่องตลกที่ใช้งานได้จริง) คุณสามารถลองใช้วิธีการเดียวกันหรือคล้ายกันสำหรับอย่างอื่นเช่นการรับรองความถูกต้องแบบกระจายการสร้างสกุลเงินเสมือนจริงที่ใช้ในเกมโซเชียลเน็ตเวิร์ก และแอปพลิเคชันอื่น ๆ หรือคุณสามารถดำเนินการสร้างโปรแกรมความภักดีใหม่สำหรับธุรกิจอีคอมเมิร์ซของคุณซึ่งจะให้รางวัลแก่ลูกค้าทั่วไปด้วยโทเค็นเสมือนที่สามารถแลกได้ในภายหลัง
cryptocurrency เป็นสื่อดิจิทัลในการแลกเปลี่ยนที่อาศัยการเข้ารหัสเพื่อรักษาความปลอดภัยและตรวจสอบธุรกรรม สกุลเงินดิจิทัลส่วนใหญ่เช่น bitcoin มีการกระจายอำนาจและเป็นไปตามฉันทามติ
blockhain เป็นบัญชีแยกประเภททางการเงินที่ลงนามแบบดิจิทัล ธุรกรรมแต่ละรายการบน blockchain จะปรากฏในบัญชีแยกประเภทสาธารณะและรายการทั้งหมดจะกระจายไปทั่วเครือข่ายโดยต้องมีมติเป็นเอกฉันท์เกี่ยวกับธุรกรรมแต่ละรายการ
แต่ละธุรกรรมที่ดำเนินการในระบบจะกลายเป็นส่วนหนึ่งของบล็อกเชน แต่หลังจากจำนวนโหนดจำนวนหนึ่งได้รับความเห็นพ้องกันว่าธุรกรรมนั้นถูกต้อง จากนั้นธุรกรรมจะถูกเพิ่มลงในบล็อกเชนในบล็อกใหม่