วลีและแนวคิดของ 'สัญญาอัจฉริยะ' เป็น เสนอโดย Nick Szabo ด้วยวิสัยทัศน์ที่จะขยายการทำงานของวิธีการทำธุรกรรมทางอิเล็กทรอนิกส์เช่น POS (จุดขาย) ไปสู่อาณาจักรดิจิทัล สัญญาอัจฉริยะช่วยให้คุณแลกเปลี่ยนทรัพย์สินหุ้นหรือสิ่งของมีค่าได้อย่างโปร่งใสปราศจากความขัดแย้งในขณะที่หลีกเลี่ยงบริการของคนกลาง
ความแตกต่างของ java ระหว่างการใช้งานและการขยาย
ต่อไปนี้เป็นหัวข้อที่เราจะกล่าวถึงในบล็อก Smart Contract นี้:
- Smart Contracts คืออะไร?
- สัญญาอัจฉริยะโดย Nick Szabo
- ทำไมเราถึงต้องการ Smart Contracts?
- สัญญาอัจฉริยะ: ความซับซ้อนตามกรณีการใช้งาน
- กรณีการใช้งาน Smart Contracts: Healthcare Industry
- ข้อดีของสัญญาอัจฉริยะ
- แพลตฟอร์มบล็อกเชนสำหรับการเขียนสัญญาอัจฉริยะ
- เครื่องมือสำหรับการเขียนและการปรับใช้ Smart Contracts
- ภาษาการเขียนโปรแกรมสำหรับการเขียน Ethereum
- การโอนทรัพย์สิน Smart Contract
Smart Contracts คืออะไร?
สัญญาอัจฉริยะคือโปรแกรมคอมพิวเตอร์ที่ดำเนินการเองโดยอัตโนมัติเมื่อตรงตามเงื่อนไขที่กำหนด
Smart Contracts = สัญญาที่ไม่น่าเชื่อถือ
ด้วยสัญญาอัจฉริยะคุณสามารถแบ่งปันสิ่งที่มีค่ากับคนแปลกหน้าได้อย่างโปร่งใสปราศจากความขัดแย้ง
คุณยังสามารถคิดว่าสัญญาอัจฉริยะเป็นบล็อกเชนตามตู้หยอดเหรียญ เช่นเดียวกับเครื่องจำหน่ายอัตโนมัติที่กำหนดค่าให้ใช้เงินดอลลาร์เพื่อจ่ายรายการที่คุณเลือกใช้สัญญาอัจฉริยะ อีเธอร์ เป็นเชื้อเพลิงในการรันโค้ดตามกฎที่กำหนดไว้ล่วงหน้า.
Smart Contracts คืออะไร | ปรับใช้ Ethereum Smart Contract แรกของคุณ | Edureka
สัญญาอัจฉริยะโดย Nick Szabo
ในเอกสารของเขา Szabo เสนอให้มีการทำสัญญาสำหรับสินทรัพย์สังเคราะห์เช่นอนุพันธ์และพันธบัตร “ หลักทรัพย์ใหม่เหล่านี้เกิดจากการรวมหลักทรัพย์ (เช่นพันธบัตร) และตราสารอนุพันธ์ (ออปชั่นและฟิวเจอร์ส) เข้าด้วยกันหลายวิธี โครงสร้างคำศัพท์ที่ซับซ้อนมากสำหรับการชำระเงินสามารถสร้างเป็นสัญญาที่เป็นมาตรฐานได้และซื้อขายด้วยต้นทุนการทำธุรกรรมที่ต่ำเนื่องจากใช้คอมพิวเตอร์การวิเคราะห์โครงสร้างคำศัพท์ที่ซับซ้อนเหล่านี้” เขาเขียน
ทำไมเราถึงต้องการ Smart Contracts?
เราสามารถดำเนินการแก้ปัญหาต่างๆโดยอัตโนมัติได้โดยการเขียนสัญญาบน Blockchain เพื่อทำให้สิ่งต่างๆง่ายและมีประสิทธิภาพ มาเปรียบเทียบและประเมินว่าสัญญาอัจฉริยะดีกว่าสัญญาแบบเดิมอย่างไร
สัญญาอัจฉริยะ: ความซับซ้อนตามกรณีการใช้งาน
ความซับซ้อนของสัญญาขึ้นอยู่กับกรณีการใช้งานที่คุณใฝ่ฝันที่จะเขียนโค้ดบนบล็อคเชน ภาพด้านล่างจะให้ความชัดเจนมากขึ้นเกี่ยวกับความซับซ้อนของสัญญาอัจฉริยะ
ด้วยสัญญาอัจฉริยะตามบริบทไม่เพียง แต่ บริษัท ต่างๆจะได้รับระบบอัตโนมัติเท่านั้น แต่ยังสามารถจัดตั้งรัฐบาลปกครองตนเองแบบกระจายอำนาจได้อีกด้วย
มาทำความเข้าใจกันว่าสัญญาอัจฉริยะทำงานอย่างไรโดยใช้กรณีการใช้งานกรณีการใช้งาน Smart Contracts: Healthcare Industry
การจัดการข้อมูลผู้ป่วย: เมื่อพูดถึงการจัดการข้อมูลผู้ป่วยก็มี สองประเด็นหลัก ในอุตสาหกรรมการดูแลสุขภาพ:
- อันดับแรก ผู้ป่วยแต่ละรายมีความแตกต่างกันดังนั้นการเข้าถึงเวชระเบียนจึงเป็นสิ่งสำคัญเพื่อปรับการรักษาและให้การดูแลเฉพาะบุคคล
- ประการที่สอง การแบ่งปันข้อมูลในชุมชนทางการแพทย์ถือเป็นความท้าทายที่สำคัญ
ตอนนี้ปัญหาที่ระบุไว้ข้างต้นสามารถแก้ไขได้โดยใช้ฟังก์ชันสัญญาอัจฉริยะบนบล็อคเชน
ข้อดีของสัญญาอัจฉริยะ
สิ่งที่ Smart Contract ให้คุณมีดังนี้
แพลตฟอร์มบล็อกเชนสำหรับการเขียนสัญญาอัจฉริยะ
ในขณะที่ Ethereum เป็นแพลตฟอร์มที่ได้รับความนิยมมากที่สุดสำหรับการเขียนสัญญาไม่ใช่เพียงแพลตฟอร์มเดียว ต่อไปนี้เป็นแพลตฟอร์มอื่น ๆ ที่ใช้ในการเขียนสัญญาอัจฉริยะ:
Bitcoins: Bitcoin ใช้ Script ที่มีความสามารถ จำกัด เมื่อประมวลผลเอกสาร สคริปต์ได้รับการออกแบบมาโดยเฉพาะเพื่อประมวลผลธุรกรรม Bitcoin
ผ้า Hyperledger : ใน Fabric นั้น Chaincode คือโค้ดแบบเป็นโปรแกรมที่ใช้งานบนเครือข่ายซึ่งจะดำเนินการและตรวจสอบความถูกต้องโดย chain validators ร่วมกันระหว่างกระบวนการฉันทามติ
NXT: เป็นแพลตฟอร์มบล็อกเชนสาธารณะที่มีเทมเพลตให้เลือก จำกัด สำหรับสัญญาอัจฉริยะ คุณต้องใช้สิ่งที่ได้รับคุณไม่สามารถเขียนโค้ดของคุณเองได้
โซ่ข้าง: โซ่ข้างช่วยเพิ่มประสิทธิภาพของ Blockchains และการปกป้องความเป็นส่วนตัว พวกเขายังเพิ่มความสามารถชอบสัญญาอัจฉริยะที่จับที่ปลอดภัยและ การลงทะเบียนทรัพย์สินในโลกแห่งความเป็นจริง
เครื่องมือสำหรับการเขียนและการปรับใช้ Smart Contracts
- Mist Browser - เป็นเครื่องมือในการเรียกดูและใช้งาน dApps เป็นเบราว์เซอร์แยกต่างหากที่สามารถใช้เพื่อเรียกดู dApps และโต้ตอบกับพวกเขาได้
- กรอบแห้ว - Truffle เป็นกรอบการพัฒนายอดนิยมสำหรับ Ethereum มีการรวบรวมสัญญาอัจฉริยะในตัวการเชื่อมโยงการปรับใช้และการจัดการไบนารี
- Metamask - MetaMask เป็นสะพานที่ช่วยให้สามารถเยี่ยมชมเว็บที่เผยแพร่ในวันพรุ่งนี้ได้ในเบราว์เซอร์ของพวกเขาวันนี้ ช่วยให้ผู้ใช้สามารถเรียกใช้ Ethereum dApps ได้โดยตรงในเบราว์เซอร์โดยไม่ต้องเรียกใช้โหนด Ethereum แบบเต็ม
- รีมิกซ์ - Remix เป็น IDE บนเว็บเบราว์เซอร์ที่ช่วยให้ผู้ใช้สามารถเขียนสัญญาอัจฉริยะ Solidity จากนั้นปรับใช้และเรียกใช้สัญญาอัจฉริยะ
ภาษาโปรแกรมสำหรับการเขียน Ethereum Smart Contracts
ความมั่นคง & งู เป็นภาษาหลักสองภาษาสำหรับการเขียน Ethereum Smart Contracts
: เป็นภาษาระดับสูงที่เน้นการทำสัญญาโดยมีไวยากรณ์คล้ายกับ JavaScript และได้รับการออกแบบมาเพื่อกำหนดเป้าหมายไปที่ Ethereum Virtual Machine (EVM)
งู: Serpent เป็นภาษาระดับสูงที่ออกแบบมาสำหรับการเขียนสัญญา Ethereum คล้ายกับ Python มาก แต่ ณ เดือนกันยายน 2017 Solidity เป็นภาษาที่ต้องการสำหรับการพัฒนาสำหรับนักพัฒนา Ethereum
แม้ว่า Solidity จะเป็นภาษาที่ได้รับความนิยมมากที่สุดสำหรับสัญญาอัจฉริยะ แต่ก็มีภาษาสัญญาอัจฉริยะที่กำลังจะมาถึงซึ่งอาจมีความสำคัญในอนาคต
ภาษาโปรแกรมที่กำลังจะมาถึง
- งูพิษ: Viper มีรูปแบบการเยื้องเหมือน Python เน้นที่ความปลอดภัยและภาษาและความเรียบง่ายของคอมไพเลอร์
- ลิสก์: Lisk ใช้จาวาสคริปต์เป็นภาษาสัญญาอัจฉริยะซึ่งช่วยให้นักพัฒนาเขียนโค้ดแอปพลิเคชันได้ง่ายขึ้น
- เชื่อมต่อ: Chain มีโครงสร้างพื้นฐาน blockchain ระดับองค์กรพร้อม SDK ในภาษายอดนิยมเช่น Ruby, Java และ NodeJS
ตอนนี้เนื่องจาก Solidity เป็นภาษาโปรแกรมที่ใช้กันอย่างแพร่หลายในการเขียน Ethereum Smart Contracts ผมขอแนะนำคุณเกี่ยวกับสัญญาที่เขียนด้วย Solidity
การโอนทรัพย์สิน Smart Contract
ปัญหา: ปัจจุบันเราใช้อำนาจส่วนกลางในการโอนกรรมสิทธิ์ในทรัพย์สิน ทำให้ใช้เวลานานและดึงดูดค่าใช้จ่ายเพิ่มเติมจำนวนมากด้วยภาระเพิ่มเติมในการจัดการเอกสาร นอกจากนี้เนื่องจากระบบรวมศูนย์จึงมีความเป็นไปได้ที่จะเกิดการฉ้อโกงได้เสมอ
สารละลาย: แผนนี้จะใช้เทคโนโลยีเพื่อให้ทุกฝ่ายมองเห็นรายละเอียดของธุรกรรมอสังหาริมทรัพย์ - ธนาคารนายหน้าเจ้าหน้าที่ของรัฐผู้ซื้อและผู้ขาย
ได้เลยให้ฉันเขียน Smart Contract ให้คุณ:
pragma solidity ^ 0.4.11 // เรากำลังสร้างกรณีการใช้งานนี้เพื่อเลียนแบบการถ่ายโอนทรัพย์สินในโลกแห่งความจริง // ข้อกำหนดเบื้องต้นของกรณีการใช้งานนี้คือ: // ข้อมูลประจำตัวดิจิทัลอยู่ในตำแหน่ง // Govt ตกลงที่จะใส่ บันทึกที่ดินบน blockchain สาธารณะ // หน่วยงานพัฒนาแต่ละแห่ง (DA) กลายเป็นเจ้าของ defacto ของทรัพย์สินที่มีอยู่ภายใต้การเลือกตั้ง / หน่วยงานนิติบัญญัติของตน // เมื่อตรงตามเงื่อนไขข้างต้นทั้งหมด DA (เจ้าของ) สามารถแนบทรัพย์สินตามลำดับได้อย่างง่ายดาย ให้กับเจ้าของที่ถูกต้องหลังจากการตรวจสอบอย่างละเอียด // เราจะกำหนดฟังก์ชันรอบสมมติฐานชุดนี้ // เราสมมติว่า DA แต่ละแห่งจะปรับใช้สัญญาอัจฉริยะของตนเองตามกฎและข้อบังคับ สัญญาอัจฉริยะทั้งหมดนี้เขียนขึ้นโดยให้ DA เป็นเจ้าของซึ่งสามารถจัดสรรทรัพย์สินได้ // รัฐบาลสามารถกลายเป็นเลเยอร์ที่อยู่ด้านบนของ DA เหล่านี้ได้ และรัฐบาลสามารถตัดสินใจได้ว่า DA (ที่อยู่) ใดที่จะกลายเป็นเจ้าของความขัดแย้งใด // เราสามารถขยายสิ่งนี้ได้อย่างง่ายดาย แต่หลังจากผ่านสัญญาอัจฉริยะนี้แล้วคุณจะสามารถเข้าใจได้ว่าสิ่งต่างๆจะเป็นอย่างไร สัญญา PropertyTransfer {ที่อยู่สาธารณะ DA // DA จะเป็นเจ้าของเราจะเริ่มต้นค่าของตัวแปรนี้ตามที่อยู่ของผู้ใช้ที่จะปรับใช้ เช่น. สมมติว่า DA เอง uint256 public totalNoOfProperty // จำนวนคุณสมบัติทั้งหมดภายใต้ DA ณ เวลาใดก็ได้ ควรเพิ่มขึ้นตามการจัดสรรให้กับเจ้าของที่เกี่ยวข้องหลังการตรวจสอบ // ด้านล่างนี้คือตัวสร้างที่มีการเรียกใช้โค้ดเมื่อสร้างสัญญาเท่านั้น ฟังก์ชัน PropertyTransfer () {DA = msg.sender // ตั้งค่าเจ้าของสัญญาเป็น DA } // โมดิฟายเออร์เพื่อตรวจสอบว่า tx มาจาก DA (เจ้าของ) หรือไม่ใช่โมดิฟายเออร์ onlyOwner () {ต้องใช้ (msg.sender == DA) _} // โครงสร้างนี้จะถูกเก็บไว้เช่นนี้เพื่อการจัดเก็บข้อมูลที่มากกว่าเพียง ชื่อ struct Property {string name // เก็บแผนที่ของคุณสมบัติเทียบกับที่อยู่แต่ละรายการ เราจะระบุชื่อให้กับคุณสมบัติ bool isSold // เราจะทำการนับเช่นกันสำหรับแต่ละที่อยู่} การแมป (ที่อยู่ => การแมป (uint256 => คุณสมบัติ)) คุณสมบัติสาธารณะเจ้าของ // เราจะมีคุณสมบัติที่แมปกับแต่ละที่อยู่โดย ชื่อและจำนวนของแต่ละบุคคล การแมป (address => uint256) individualCountOfPropertyPerOwner // จำนวนคุณสมบัติที่บุคคลหนึ่งถือเหตุการณ์ PropertyAlloted (แอดเดรสที่จัดทำดัชนี _verifiedOwner, uint256 ดัชนี _totalNoOfPropertyCurrently สตริง _nameOfProperty สตริง _msg) เหตุการณ์ PropertyTransferred (สตริงที่อยู่ _property _ ดัชนี _msg) // สิ่งนี้จะทำให้เรามีจำนวนคุณสมบัติที่แน่นอนซึ่งที่อยู่ใด ๆ เป็นของตัวเอง ณ เวลาใดก็ได้ฟังก์ชัน getPropertyCountOfAnyAddress (ที่อยู่ _ownerAddress) ผลตอบแทนคงที่ (uint256) {uint count = 0 สำหรับ (uint i = 0 i
ดังนั้นคุณเพิ่งตั้งโปรแกรมวิธีการโอนทรัพย์สินบนเครือข่ายแบบกระจายอำนาจ จะเด็ดแค่ไหน !!
คุณจะเห็นได้ว่าศักยภาพของ [สัญญาอัจฉริยะ] ในการปรับเปลี่ยนแง่มุมต่างๆของสังคมนั้นมีขนาดใหญ่มาก
java c ++ python
ด้วยเหตุนี้ฉันจึงสรุปได้ว่า สัญญาอัจฉริยะ บล็อก ฉันหวังว่าคุณจะสนุกกับการอ่านบล็อกนี้และพบว่าเป็นข้อมูล
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไปที่ earlieเซนต์.
ผมหากคุณต้องการเรียนรู้ Smart Contracts สร้างอาชีพในโดเมนของ Blockchain และได้รับความเชี่ยวชาญในการเขียนโปรแกรม Ethereum ลงทะเบียนในออนไลน์แบบสด ที่นี่ซึ่งมาพร้อมกับการสนับสนุน 24 * 7 เพื่อแนะนำคุณตลอดระยะเวลาการเรียนรู้ของคุณ