อ่านเวลา: 4 นาที
การกระจายอำนาจในทุกย่างก้าวคือรหัสใหม่ของยุคที่จะมาถึง DApps อยู่ที่นี่เพื่อปฏิวัติวิธีที่เราใช้งานแอพ ผสานความเป็นส่วนตัวของข้อมูลและคุณสมบัติการเป็นเจ้าของ
มาดูส่วนลึกของบล็อกกัน
DApps คืออะไร?
DApps เป็นแอปพลิเคชั่นกระจายอำนาจที่ใช้ blockchain เพื่อประมวลผลข้อมูลผ่านเครือข่ายแบบกระจายและดำเนินการธุรกรรม ต่างจากแอปส่วนกลาง DApps ถูกควบคุมโดยเครือข่ายเพียร์ทูเพียร์
เมื่อผู้พัฒนาเผยแพร่ codebase สำหรับ DApp แล้ว สามารถสร้างแอพหลายตัวต่อยอดได้ ไม่มีอำนาจเดียว และด้วยเหตุนี้จึงไม่มีจุดล้มเหลวเพียงจุดเดียวในขณะที่เครือข่าย P2P ดำเนินการ
DApp ช่วยสร้างแอปพลิเคชันมากมาย เช่น เว็บแอปพลิเคชัน เกมและความบันเทิง แอปโซเชียลมีเดีย ฯลฯ
ลักษณะสำคัญของ DApp
ต่อไปนี้คือคำแนะนำบางประการเกี่ยวกับคุณลักษณะสำคัญของ DApp
- เป็นรหัสโอเพนซอร์ซและควบคุมโดยผู้ใช้ ซึ่งหมายความว่าการเปลี่ยนแปลงใด ๆ หรือการเพิ่มเติมใหม่จะได้รับการโหวตและนำไปใช้
- การกระจายอำนาจเป็นประเด็นหลักซึ่งรายละเอียดทั้งหมดถูกเก็บไว้ในบัญชีแยกประเภทที่เผยแพร่ต่อสาธารณะ
- DApps ใช้โทเค็นดั้งเดิมของแพลตฟอร์มเพื่อให้รางวัลแก่ผู้ใช้ที่เข้าร่วมหรือขุด
ข่าวการใช้งานของ DApps
ตามรายงานของ ดีแอพเรดาร์จำนวนผู้ใช้ที่มีส่วนร่วมในแอพพลิเคชั่นกระจายอำนาจเพิ่มขึ้น 396% ทุกปี โดยปัจจุบัน 2.4 ล้านคน
ในบรรดาเกม DApps คิดเป็นกว่า 50% ของกิจกรรมผู้ใช้ในไตรมาสที่ 1 ของปี 2022 และ NFTs สร้างรายได้มหาศาลประมาณ 12 พันล้านดอลลาร์
ปัญหาความปลอดภัยของการเข้ารหัส DApp
เมื่อทราบเกี่ยวกับแนวคิดโดยรวมของ DApp แล้ว ให้เราสำรวจข้อผิดพลาดทางเทคนิคทั่วไปที่เกี่ยวข้องกับสิ่งเหล่านี้
ตรวจสอบลายเซ็น: การใช้รูปแบบเช็ค “case_=> true” ในเครื่องหมาย @ผู้ตรวจสอบ ฟังก์ชั่นของการเข้ารหัส DApp ห้ามการทำธุรกรรมการโอนในขณะที่อนุญาตประเภทธุรกรรมอื่น ๆ
{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}
match (tx) {
case t:TransferTransaction => false
case _ => true # NEVER DO THIS!
}
แต่การใช้รหัสประเภทนี้ ผู้ใช้ทุกคนสามารถทำธุรกรรมได้ ยกเว้นธุรกรรมการโอน การป้อนคีย์สาธารณะในช่อง "senderPublicKey" โดยไม่ต้องเพิ่มลายเซ็น จะช่วยให้เข้าถึงผู้ใช้เพื่อทำธุรกรรมได้
{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}
match (tx) {
case t:TransferTransaction => false
case _ => sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublikey)
}
ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องแน่ใจว่ามีการตรวจสอบลายเซ็นในการเข้ารหัส DApp เพื่อหลีกเลี่ยงช่องโหว่ดังกล่าว
ป้อนคีย์: การดำเนินการใน DApp เกี่ยวข้องกับการจัดเก็บคีย์-ค่า ข้อผิดพลาดทั่วไปคือนักพัฒนาซอฟต์แวร์จะเขียนไปยังคีย์หนึ่งและอ่านจากคีย์อื่น ดังนั้นควรใช้ความระมัดระวังในขณะที่เขียนคีย์
let NONE = "NONE"
func keyVoteByAddress(votingId: Int, address: String) = "voting_" + votingId + "_vote_" + address
@Callable(i)
func vote(id: Int) => {
let voteKey = keyVoteByAddress(id, i.caller.toBase58String())
let vote = getString(this, voteKey).valueOrElse(NONE)
# alternative option
let vote = match getString(this, voteKey){
case s: String => s
case _ => NONE
}
if (vote == NONE) then ...
else ...
}
ข้อผิดพลาดอีกประการหนึ่งคือ แทนที่จะให้ค่าเริ่มต้น การพยายามอ่านค่าจากตัวแปร เช่น value() หรือ extract() นั้นไม่สามารถแนะนำได้
ธุรกรรมที่ควบคุม: การดำเนินการ DApp เกี่ยวข้องกับการดำเนินการที่ขึ้นต่อกันหลายอย่างเพื่อรันตามลำดับ ในกรณีดังกล่าว จะปลอดภัยที่จะมีฟังก์ชัน waitForTxWithNConfirmations เพื่อได้รับการยืนยันหนึ่งครั้งหลังจากเพิ่มธุรกรรมครั้งแรกในบล็อก
ปัญหาทั่วไปที่เกี่ยวข้องกับ DApps
ระดับสภาพคล่องต่ำของ DApps: ระดับสภาพคล่องต่ำในแอปพลิเคชันแบบกระจายอำนาจทำให้ยากต่อการซื้อหรือขายโทเค็นในราคาที่คาดไว้ ทำให้เกิดการคลาดเคลื่อน Slippage คือความแตกต่างระหว่างราคาที่คาดหวังกับราคาดำเนินการ ซึ่งอาจนำไปสู่การสูญเสียเงินทุน
ผู้ใช้สามารถติดตามสภาพคล่องของสินทรัพย์ตามปริมาณการซื้อขายและตัดสินใจอย่างชาญฉลาดก่อนซื้อหรือขายโทเค็น
การละเมิดความปลอดภัยหรือความล้มเหลว: DApps ทำงานผ่านสัญญาอัจฉริยะและผู้ที่มีข้อบกพร่องในการเข้ารหัสเป็นเป้าหมายในอุดมคติสำหรับแฮกเกอร์ ภายใต้สภาวะตลาดที่รุนแรงหรือเนื่องจากการใช้ประโยชน์จากโค้ด การลดค่าหรือการสูญเสียเงินทุนใน DApps จะเป็นสิ่งที่หลีกเลี่ยงไม่ได้
การตรวจสอบรหัสโดยบริษัทบุคคลที่สามจะช่วยแก้ปัญหานี้ได้ดีกว่า
DApp ฟิชชิ่ง: หากมีการประนีประนอมในการเข้ารหัสของ DApp ลิงก์ฟิชชิ่งจะถูกเผยแพร่บนเว็บไซต์ทางการของพวกเขา เมื่อคลิกโดยไม่รู้ตัว เงินทั้งหมดจะไหลออกจากกระเป๋าเงินของผู้ใช้
ดังนั้น ตรวจสอบ URL อีกครั้งก่อนที่จะเพิ่มเงินจากกระเป๋าเงินของคุณหรือป้อนข้อมูลกระเป๋าเงิน
สถานะของ DApp Hacks และ Scams ในปี 2022
ข้อเสียของ DApps คือความจริงที่ว่าพวกเขาเสี่ยงต่อการถูกแฮ็ก จากข้อมูลที่เผยแพร่โดย DAppRadar การหลอกลวงของ DApp เพียงอย่างเดียวทำให้ขาดทุน 1.2 พันล้านดอลลาร์
ไฮไลท์ของเหตุการณ์แฮ็คที่สำคัญ ได้แก่
แฮ็คสะพาน Ronin: การเข้าถึงโหนดตรวจสอบความถูกต้อง แฮ็กเกอร์สามารถปลอมแปลงธุรกรรมปลอมใน แอกซี่ อินฟินิตี้ส์ เครือข่ายสะพาน Ronin ที่นำไปสู่การสูญเสีย 600 ล้านดอลลาร์
โปรโตคอลรูหนอน: แฮ็กเกอร์ใช้ช่องโหว่ด้านความปลอดภัยในรหัสโปรโตคอล Wormhole ส่งผลให้ขาดทุน 325 ล้านดอลลาร์
นี่คือวิธีการรักษาความปลอดภัยและวิธีการป้องกันในการยอมรับ DApp Security
การเอาชนะข้อบกพร่องด้านความปลอดภัยช่วยแก้ปัญหาหลักๆ ให้กับ DApps. มีสองสามวิธีในการจัดเรียงออก
- รับบริการตรวจสอบ: การวิเคราะห์การเข้ารหัสอย่างละเอียดโดยบริษัทตรวจสอบบัญชีเช่น QuillAudits กำจัดแมลงจากระดับพื้นดิน
- การทดสอบการเจาะ: การทดสอบการเจาะระบบได้เปรียบในการค้นหาช่องโหว่ที่ซ่อนอยู่/โหนด การทดสอบ API และการค้นหาเส้นทางการโจมตีใหม่
มาตรการป้องกันทั่วไปสำหรับความปลอดภัยของ DApp
- รักษาความลับของวลีเมล็ดพันธุ์ส่วนตัวเพื่อเข้าถึงเงินจากกระเป๋าเงิน
- การตรวจสอบความถูกต้องและความชอบธรรมของเว็บไซต์ DApp
- ระวังลิงก์หรือข้อความที่มีข้อผิดพลาดทางไวยากรณ์
114 เข้าชม
- Bitcoin
- blockchain
- การปฏิบัติตามบล็อคเชน
- การประชุม blockchain
- coinbase
- เหรียญอัจฉริยะ
- เอกฉันท์
- การประชุม crypto
- การทำเหมือง crypto
- cryptocurrency
- ซึ่งกระจายอำนาจ
- Defi
- สินทรัพย์ดิจิทัล
- ethereum
- เรียนรู้เครื่อง
- โทเค็นที่ไม่สามารถทำซ้ำได้
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- Platoblockchain
- เพลโตดาต้า
- เพลโตเกม
- รูปหลายเหลี่ยม
- หลักฐานการเดิมพัน
- ควิลแฮช
- การตรวจสอบสัญญาอัจฉริยะ
- การรักษาความปลอดภัยสัญญาอัจฉริยะ
- แนวโน้ม
- W3
- ลมทะเล