nostr live (3)
Picture of Krittanai P.

Krittanai P.

Nostr 101 เจ้านกกระจอกเทศนี้มีดีอะไร?

รู้จักกลไกและองค์ประกอบของ Nostr โปรโตคอลทางเลือกใหม่ สำหรับโซเชียลมีเดียที่เป็นอิสระ ไร้การเซ็นเซอร์และการควบคุมจากตัวกลาง อ่านง่ายสไตล์หลามไรท์ชิฟท์

Nostr คืออะไร?

Nostr คือโปรโตคอลแบบเปิดที่เรียบง่าย ซึ่งช่วยให้สามารถสร้างโซเชียลมีเดียระดับโลกที่กระจายอำนาจและป้องกันการเซ็นเซอร์ได้

จากที่กล่าวข้างต้น เราสามารถพูดได้ว่า Nostr นั้นถูกออกแบบมาให้ใช้งานง่าย โดยมีเป้าหมายหลัก ๆ เพื่อสร้างเครือข่ายโซเชียลระดับโลกที่ปราศจากการเซ็นเซอร์ แล้วทำไมมันถึงทำอย่างนั้นได้? ในจุดนี้เราก็ต้องมาเจาะดูคุณสมบัติหลัก ๆ ของโปรโตคอลที่เรียกว่า Nostr กันก่อน :

เรียบง่าย

  • โปรโตคอลนี้ใช้โครงสร้างข้อมูลแบบ Event Object ที่เรียบง่ายและยืดหยุ่น (ซึ่งส่งเป็น JSON ธรรมดา) และใช้การเข้ารหัสแบบ Elliptic-curve มาตรฐานสำหรับคีย์และลายเซ็น
  • ช่องทางการสื่อสารที่รองรับเพียงอย่างเดียวคือการเชื่อมต่อ WebSockets จากไคลเอ็นต์ไปยังรีเลย์
  • การออกแบบนี้ทำให้ง่ายต่อการพัฒนา ไม่ว่าจะไคลเอ็นต์หรือรีเลย์ และยังช่วยส่งเสริมความหลากหลายของซอฟต์แวร์

ยืดหยุ่น

  • เนื่องจาก Nostr ไม่ได้พึ่งพาเซิร์ฟเวอร์ที่เชื่อถือได้เพียงจำนวนหยิบมือสำหรับการเคลื่อนย้ายหรือจัดเก็บข้อมูล แต่ใช้เซิร์ฟเวอร์จำนวนมหาศาลและกระจายตัวอยู่ทั่วโลก จึงมีความยืดหยุ่นสูงและมีการกระจายศูนย์อย่างแท้จริง
  • โปรโตคอลนี้ถูกออกแบบมาโดยคำนึงถึงความเป็นไปได้ที่รีเลย์จะหายไป และอนุญาตให้ผู้ใช้เชื่อมต่อและเผยแพร่ข้อมูลไปยังรีเลย์จำนวนมากได้ตามต้องการ และยังสามารถเปลี่ยนแปลงได้ตลอดเวลาตามที่ต้องการอีกด้วย

ตรวจสอบได้

  • เนื่องจากบัญชี Nostr ใช้การเข้ารหัสแบบ PKE จึงง่ายต่อการตรวจสอบว่าข้อความถูกส่งมาจากผู้ใช้ที่ระบุจริงหรือไม่

เช่นเดียวกับ HTTP หรือ TCP-IP Nostr เป็นโปรโตคอลหรือมาตรฐานแบบเปิดที่ทุกคนสามารถนำไปสร้างต่อยอดได้ มันไม่ใช่แอปฯ หรือบริการที่คุณจำเป็นต้องลงทะเบียน

แล้วทำไมเราถึงต้องการ Nostr?

ถึงในปัจจุบัน โซเชียลมีเดียจะพัฒนามาเป็นช่องทางสำคัญในการไหลเวียนของข้อมูลทั่วโลก และกลายมาเป็นช่องทางหลักในการติดต่อสื่อสาร แต่น่าเสียดายที่ระบบโซเชียลมีเดียในปัจจุบันของเรานั้นมีข้อบกพร่องมากมาย อาทิ :

  1. ใช้ความสนใจของคุณเพื่อขายโฆษณา
  2. ใช้เทคนิคแปลก ๆ เพื่อทำให้คุณเสพติด (อ้างอิงจากข้อ 1)
  3. ตัดสินใจว่าจะแสดงเนื้อหาใดให้คุณเห็น โดยใช้อัลกอริทึมลับที่คุณไม่สามารถตรวจสอบหรือเปลี่ยนแปลงได้
  4. ควบคุมอย่างเต็มที่ว่าใครสามารถเข้าร่วมได้และใครต้องถูกเซ็นเซอร์
  5. เต็มไปด้วยสแปมและบอต

ด้วยข้อจำกัดเหล่านี้ Nostr จึงเป็นทางเลือกที่น่าสนใจในการสร้างโซเชียลมีเดียที่เป็นอิสระ ปลอดภัย และไร้การควบคุมจากตัวกลางหรือเจ้าของแพลตฟอร์ม

องค์ประกอบของโปรโตคอลที่ชื่อว่า Nostr

หลังจากได้ทำความรู้จัก Nostr กันไปแล้วเมื่อคราวก่อน คราวนี้เรามาเจาะดูองค์ประกอบของโปรโตคอลนี้กันดีกว่า

Keys ระบบบัญชีผู้ใช้ และรหัสผ่านสำหรับ Nostr

  • บัญชี Nostr แต่ละบัญชีจะใช้คู่ Public/Private Key เปรียบเทียบง่าย ๆ คือ พับลิกคีย์ของคุณคือ “ชื่อผู้ใช้ (username)” และไพรเวตคีย์ก็เป็น “รหัสผ่าน (password)” แต่ว่าก็มีข้อแตกต่างที่สำคัญอยู่ นั่นคือ ไพรเวตคีย์ของคุณนั้นจะไม่สามารถรีเซ็ตได้ หากเกิดการสูญหายขึ้นคุณจะเสียบัญชีนั้นไปตลอดกาล
  • โดยทั่วไปแล้ว พับลิกคีย์จะแสดงเป็นข้อความที่ขึ้นต้นด้วย npub และไพรเวตคีย์จะขึ้นต้นด้วย nsec
  • ทั้งนี้คุณควรที่จะตรวจสอบให้แน่ใจว่าคุณได้เก็บไพรเวตคีย์ของคุณไว้ในที่ปลอดภัย เช่น โปรแกรมจัดการรหัสผ่านอย่าง Bitwarden

โปรโตคอล กับ ไคลเอ็นต์ ต่างกันอย่างไร?

Nostr เองเป็นเพียงโปรโตคอล หมายความว่า Nostr นั้นเป็นเพียงกระบวนการที่ตกลงกันไว้สำหรับการส่งข้อความผ่านอินเทอร์เน็ต (เหมือนข้อกำหนด)

ซึ่งการที่จะเข้าถึงโปรโตคอล Nostr นั้น ผู้ใช้ส่วนใหญ่จะใช้งานผ่านไคลเอ็นต์  ซึ่งตัวของไคลเอ็นต์นั้นอาจเป็นเว็บแอป แอปพลิเคชันบนเดสก์ท็อป หรือแอปพลิเคชันมือถือ โดยไคลเอ็นต์สามารถดึงข้อมูลจากรีเลย์ สร้างข้อมูลใหม่ และส่งข้อมูลนั้นไปยังรีเลย์เพื่อให้ผู้ใช้คนอื่น ๆ สามารถเรียกอ่านข้อมูลนั้น ๆ ได้

โดย “ข้อมูล” เพียงรูปแบบเดียวที่มีอยู่ใน Nostr คือสิ่งที่เราเรียกกันว่า event

การพิสูจน์ความเป็นเจ้าของข้อมูลบน Nostr

บน Nostr นั้นการพิสูจน์ตัวตนเป็นเรื่องที่ง่ายมาก เนื่องจากทุก ๆ event ที่เกิดขึ้นจำเป็นต้องมีลายเซ็นดิจิทัล (Digital Signature) โดยลายเซ็นนั้นจะช่วยให้มั่นใจได้ว่าใครเป็นผู้สร้าง event นั้น ๆ ขึ้นมาด้วยการพิสูจน์ทางคณิตศาสตร์

โดยในการสร้างลายเซ็นแต่ละครั้ง ไคลเอ็นต์จำเป็นต้องใช้ไพรเวตคีย์ของคุณ โดยทั่วไปแล้วแอปพลิเคชันจะมีที่ให้คุณใส่ไพรเวตคีย์ของคุณเมื่อเปิดแอปพลิเคชันครั้งแรก โดยพวกเขาสามารถคำนวณพับลิกคีย์ของคุณได้จากไพรเวตคีย์เช่นกัน

ส่วนในกรณีที่คุณใช้งานผ่านเว็บแอป ผมไม่แนะนำให้ใส่ไพรเวตคีย์ลงไป แต่แนะนำให้ใช้ส่วนขยายของเบราว์เซอร์ (browser extension) ที่ใช้งานฟังก์ชันที่เกี่ยวข้องกับ Nostr ซึ่งอนุญาตให้เว็บไคลเอ็นต์ส่ง event ที่ยังไม่ถูกเซ็นมาให้ส่วนขยาย และส่วนขยายจะทำหน้าที่เซ็นให้ สำหรับวิธีนี้ เว็บไคลเอ็นต์ต่าง ๆ ไม่จำเป็นต้องรู้ไพรเวตคีย์ของคุณ แต่คุณก็ยังสามารถลงนามใน event ต่าง ๆ ได้ตามปกติ

โดยส่วนขยายที่ได้รับความนิยมก็จะเป็น Flamingo, Alby  และ nos2x

ไคลเอ็นต์ และ รีเลย์ ของ Nostr

ไคลเอ็นต์ คืออะไร?

หากจะอธิบายให้เห็นภาพ อยากให้มองว่าไคลเอ็นต์ Nostr นั้นเป็นเหมือนกับแอปที่คุณใช้งานเพื่อเข้าถึงบริการอย่าง Twitter, Facebook หรือ Youtube เป็นต้น โดยตัวของไคลเอ็นต์ใน Nostr เองก็เปรียบเสมือนแอปต่าง ๆ ที่คุณใช้ดูหน้าฟีดนั่นเอง แต่ข้อดีของ Nostr ที่เหนือกว่าแอปพลิเคชันอื่น ๆ คือความเรียบง่ายและยืดหยุ่น ส่งผลให้ไคลเอ็นต์แต่ละตัวมีวิธีการนำเสนอและการใช้งานที่แตกต่างกันไป บางไคลเอ็นต์อาจออกแบบให้ใช้งานง่ายเหมือน Twitter บางตัวเน้นให้เห็นบทบาทสำคัญของรีเลย์หรือโหนดที่กระจายข้อมูลอยู่ทั่วโลก หรือบางตัวก็ใช้ระบบอัลกอริทึมเพื่อให้แน่ใจว่าข้อมูลไม่ถูกปิดกั้น โดยไม่ทำให้ผู้ใช้งานรู้สึกยุ่งยาก

ทำไมต้องเรียบง่ายและยืดหยุ่น?

เนื่องจากการออกแบบของโปรโตคอลที่ทำการแยกข้อมูลของผู้ใช้ทั้งหมดออกจากไคลเอ็นต์ ทำให้ตัวของผู้ใช้งานเองนั้นมีอิสระเต็มที่ที่จะเลือกใช้ไคลเอ็นต์ต่าง ๆ เพื่อเข้าใช้งาน Nostr และแน่นอนว่าผู้ใช้งานสามารถสลับหรือลงชื่อเข้าใช้ไคลเอ็นต์ใด ๆ ก็ได้หลายตัวตามที่ต้องการ ตราบใดที่ไคลเอ็นต์ทั้งหมดเชื่อมต่อกับชุดรีเลย์เดียวกัน คุณก็จะเห็นข้อมูลเดียวกันในทุก ๆ ไคลเอ็นต์

การลงชื่อเข้าใช้ไคลเอ็นต์หลาย ๆ ตัวจะกระทบต่อความปลอดภัยของบัญชีของคุณไหม?

คำตอบของคำถามนี้ขึ้นอยู่กับวิธีการที่คุณลงชื่อเข้าใช้ หากคุณลงชื่อเข้าใช้ด้วยไพรเวตคีย์ ถึงแม้ว่าไคลเอ็นต์ส่วนใหญ่จะพยายามรักษาความปลอดภัยของไพรเวตคีย์อย่างดีที่สุด แต่ด้วยข้อจำกัดของซอฟต์แวร์ย่อมมีความเสี่ยงที่จะเกิดช่องโหว่ การเจาะระบบ และข้อผิดพลาดต่าง ๆ ที่อาจทำให้ไพรเวตคีย์ของคุณรั่วไหลออกไปได้ 

ส่วนวิธีการป้องกันเกี่ยวกับเรื่องนี้คือการใช้ส่วนขยายของเว็บเบราว์เซอร์ เพราะการเข้าสู่ระบบในไคลเอ็นต์ต่าง ๆ ผ่านส่วนขยายนั้นจะใช้เพียงพับลิกคีย์ในการเข้าสู่ระบบและทุกครั้งที่เราต้องการจะโพสต์หรือสร้าง event บน Nostr ไคลเอ็นต์จะทำการร่าง event นั้น ๆ และเว้นช่องของลายเซ็นเอาไว้ จากนั้นเราจะต้องทำการเซ็นผ่านส่วนขยาย ด้วยวิธีนี้ทำให้ไพรเวตคีย์ของเราไม่หลุดออกไปไหนตลอดการใช้งาน

รีเลย์ คืออะไร?

รีเลย์เปรียบเสมือนเซิร์ฟเวอร์ที่อยู่เบื้องหลังของ Nostr และทำหน้าที่รับ event ต่าง ๆ มาจากไคลเอ็นต์ Nostr และอาจจะจัดเก็บและกระจายข้อความเหล่านั้นไปยังไคลเอ็นต์อื่น ๆ ที่มีการเชื่อมต่ออยู่

เทคโนโลยีของรีเลย์นั้นเปลี่ยนแปลงอย่างรวดเร็ว ดังนั้นคาดว่าจะมีการเปลี่ยนแปลงอีกมากมายในอนาคต อย่างในปัจจุบันที่มีการนำเสนอ bostr หรือ รีเลย์ที่จะคอยส่ง event ของเราต่อให้กับรีเลย์อื่น ๆ ที่มีการเชื่อมต่อ เพื่อช่วยลดภาระของไคลเอ็นต์ในการรับส่งข้อมูลจากหลาย ๆ รีเลย์พร้อม ๆ กัน หรืออย่างการป้องกันสแปมด้วย PoW หรือแม้แต่รีเลย์ประเภทที่สามารถเก็บไฟล์รูปหรือวิดีโอที่มีขนาดใหญ่ได้

แต่สิ่งหนึ่งที่ควรทราบก็คือ การที่ Nostr นั้นพยายามจะกระจายศูนย์และเหตุผลหลัก ๆ ที่สามารถทำแบบนั้นได้ก็ขึ้นอยู่กับรีเลย์ในการจัดเก็บและดึงข้อมูล ดังนั้นหากคุณรู้สึกว่าไคลเอ็นต์ Nostr ของคุณทำงานช้า ส่วนใหญ่ก็มักเกิดจากรีเลย์ที่คุณกำลังเชื่อมต่ออยู่ คุณอาจลองแก้ไขปัญญาโดยการเปลี่ยนหรือเพิ่มรีเลย์อีก 2-3 รายการในไคลเอ็นต์ที่คุณใช้

แล้วจะสามารถหารายการรีเลย์ได้จากไหน?

การที่เราจะหารายการรีเลย์ที่เราควรเชื่อมต่อนั้นจริงแล้ว ๆ สามารถทำได้หลายวิธี แต่วิธีที่ผมแนะนำที่สุดจะเป็นการใช้ตามคนที่เราติดตามอยู่ เพราะจะเป็นวิธีที่เราสามารถเห็น event ต่าง ๆ ของคนที่เราติดตามได้ง่ายที่สุด และเช่นเดียวกัน เพื่อน ๆ หรือคนที่เราติดตามก็จะสามารถเห็น event ของเราได้เช่นกัน

สำหรับในประเทศไทย เรามีรีเลย์ที่คนไทยส่วนใหญ่นิยมใช้กันอยู่สองอัน นั่นคือ

  • wss://relay.siamstr.com/ และ
  • wss://relay.notoshi.win/

ถ้าหากว่าอยากเห็นคนไทยเยอะ ๆ บนหน้าฟีด ผมแนะนำเป็นอย่างยิ่งว่าควรเพิ่มรายการรีเลย์เหล่านี้ลงไปในบัชญีหรือไคลเอ็นต์ต่าง ๆ ที่คุณใช้ด้วย (และแน่นอนว่าอย่าลืมติดตามแท็ก #siamstr เอาไว้ด้วย)

สำหรับอีกวิธีหนึ่ง ผมแนะนำให้เข้าไปในเว็บไซต์ nostr.watch เนื่องจากในเว็บไซต์นี้เป็นแหล่งข้อมูลที่ดีที่สุดสำหรับการค้นหาและประเมินความเร็วของรีเลย์ต่าง ๆ

จะเกิดอะไรขึ้นถ้ารีเลย์ทั้งหมดที่คุณเชื่อมต่ออยู่หยุดให้บริการ?

สิ่งนี้เป็นสิ่งที่คุณต้องระวังมากที่สุดในการใช้งาน nostr เนื่องจากหากรีเลย์ทั้งหมดที่คุณเก็บข้อมูลไว้หยุดให้บริการทั้งหมด และคุณไม่มีการสำรองข้อมูล event ของคุณเก็บไว้เลย มันแปลว่าโพสต์ทั้งหมดของคุณ ผู้ติดตาม และรายการต่าง ๆ ที่คุณสร้างสรรค์ไว้จะไม่สามารถกู้คืนได้ไปตลอดกาล

นี่จึงเป็นเหตุผลหลัก ๆ ที่ Nostr อนุญาตให้ผู้ใช้งานนั้นสามารถเชื่อมต่อกับรีเลย์ได้เป็นจำนวนมาก เพื่อให้แน่ใจว่ามีข้อมูลสำรองเก็บไว้อยู่ที่ใดที่หนึ่งในระบบเสมอ แต่อย่างไรก็ตาม หากคุณต้องการที่จะมั่นใจได้ว่าข้อมูลต่าง ๆ ของคุณจะไม่ถูกเซ็นเซอร์หรือสูญหายไป สิ่งที่คุณสามารถสามารถทำได้คือการใช้รีเลย์ส่วนตัวและกำหนดนโยบายต่าง ๆ ภายในรีเลย์ของคุณด้วยตัวคุณเอง

แล้วคุณจะสามารถใช้รีเลย์ส่วนตัวได้อย่างไร?

อะแฮ่ม ๆ  ขอบอกไว้ก่อนว่ามันไม่คุ้มค่ากับความยุ่งยากสำหรับคนโดยทั่ว ๆ ไป ถึงในปัจจุบันจะมีเทคโนโลยีบางตัวที่เข้ามาช่วยให้มันทำได้ง่ายขึ้นแล้วก็ตาม

หากคุณต้องการที่จะสำรองข้อมูลนั้น การที่จะมีรีเลย์ส่วนตัวที่ออนไลน์ตลอดเวลาอาจเป็นเรื่องที่ไม่ได้จำเป็นขนาดนั้น เนื่องจากเราสามารถใช้งานบริการอย่าง https://nostrsync.live/  ในการดาวน์โหลดข้อมูลของเราจากรีเลย์ต่าง ๆ ได้ หรือการติดตั้งรีเลย์ส่วนตัวอย่าง nostr-relay-tray: https://github.com/CodyTseng/nostr-relay-tray  ที่ช่วยให้เราสามารถมีรีเลย์ส่วนตัวที่ใช้สำหรับสำรองข้อมูลได้

Nostr Implementation Possibilities หรือ NIP คืออะไร?

NIP มีไว้เพื่อส่งเสริมความสามารถในการทำงานของ Nostr และเป็นตัวคอยกำหนดให้เหล่านักพัฒนาทำสิ่งต่าง ๆ ที่เหมือนกันในรูปแบบเดียวกัน เพราะคงไม่ใช่ความคิดที่ดีเท่าไรหากนักพัฒนาแต่ละคนจะคิดค้นวิธีแก้ปัญหาของตัวเองและนำไปใช้แต่ในแอปของตัวเองเท่านั้น และคงจะเป็นการดีกว่าถ้าทุกคนใช้วิธีแก้ปัญหาที่เหมือนกัน นั่นคือเหตุผลที่ต้องมี NIP อยู่ในโปรโตคอลของ Nostr และในทำนองเดียวกัน แนวคิดใหม่อาจดูดีในแอปของนักพัฒนาบางราย แต่จะดูดียิ่งขึ้นอย่างแน่นอนหากแอปอื่น ๆ อีกหลายตัวใช้มาตรฐานเดียวกันและสามารถทำงานร่วมกันได้อย่างราบรื่น

ทำไม NIP ถึงน่าสนใจ?

อย่าลืมว่า Nostr เป็นระบบแบบกระจายอำนาจ และไม่ได้มีบริษัทหรือใครที่เป็นเจ้าของมันอย่างโซเชียลมีเดียอื่น ๆ เช่น Twitter (อ่อ ไม่สิตอนนี้คงต้องเรียกมันว่า X สินะ) ซึ่งหมายความว่าทิศทางของโปรโตคอล Nostr นั้นขึ้นอยู่กับพวกเราทุกคน! ไม่ว่าใคร ๆ ก็สามารถเสนอแนะ สนับสนุนการเปลี่ยนแปลง และให้ข้อเสนอแนะเกี่ยวกับแนวคิดที่ผู้อื่นเสนอ

และการที่คุณเป็นส่วนหนึ่งของชุมชนนี้ ก็ทำให้คุณมีส่วนร่วมในทิศทางของ Nostr อีกด้วย

จากที่เราเคยส่งหากันได้แค่ข้อความ จนกลายมาเป็นรูปภาพ เป็นวิดีโอ และตอนนี้ก็มาเป็น”เงิน” นี่คือเส้นทางการเดินทางของโปรโตคอลนี้ในอดีต แล้วในอนาคตมันจะพัฒนาไปอย่างไรต่อก็ขึ้นอยู่กับเหล่าผู้ใช้งานและนักพัฒนาในอนาคต

แล้วทำไมสิ่งนี้ถึงจะไม่น่าสนใจล่ะ คุณว่าไหม?

event ของ Nostr คืออะไร?

event เป็น object เพียงประเภทเดียวที่มีอยู่บน Nostr โดยมีโครงสร้างประมาณนี้

				
					{"id":"84d5d3dc9c388a702f39cad6360d41ebb804e809fb822f110ff8a14dfd35fc6c",
"pubkey":"66df60562d939ada8612436489945a4ecf1d62346b3d9478dea8a338f3203c64",
"created_at":1722315959,
"kind":1,
"tags":[["t","siamstr"]],
"content":"ไปสั่งกาแฟเมื่อกี้ พส เจ้าของร้านชมว่าเดี๋ยวนี้คล่องภาษาญี่ปุ่นแล้วนะ ไอเราก็ดีใจ พอเดินกลับถึงที่ทำงานละก็ตระหนักได้ว่า ตะกี้เราสั่ง “ไอซ์โคฮี โอเนไงชิมัส” “เทคเอาส์” “คาโดะเดสส” ไอบ้าไหนญี่ปุ่นก่อนอังกฤษทั้งนั้น 🤣🤣\n\n#siamstr",
"sig":"8f066a0099a5f580b605ebdb220179c4eca298947c38b855a0a8bf2783f28ddb537cb74a7f61d3ce8891189f719870efdf320ea4f895e03cdac44284c450c5c4"}

				
			

อย่าง event ข้างต้นนี้มี kind เป็น 1 ซึ่งหมายถึง “ข้อความโน้ต” ซึ่งก็คือข้อความธรรมดาสั้น ๆ คล้ายกับที่ใช้กันใน Twitter เช่น บนฟีด การตอบกลับ และการโควท

ประเภทของ event (event kind)

หมายเลขของ kind แต่ละตัวมีความหมายแตกต่างกัน ตัวอย่างเช่น 0 หมายถึงอีเวนต์ “ข้อมูลเมตา” ใช้สำหรับให้รายละเอียดเกี่ยวกับผู้ใช้ เช่น ชื่อและรูปโปรไฟล์ ซึ่งรีเลย์ (Relays) สามารถจัดการกับ kind ที่แตกต่างกันได้ เช่น รีเลย์มักจะลบอีเวนต์ kind:0 เวอร์ชันเก่ากว่าออกไป และเก็บไว้เฉพาะเวอร์ชันล่าสุด ในขณะที่โดยทั่วไปจะเก็บอีเวนต์ kind:1 ไว้หลายรายการสำหรับแต่ละคีย์

โดยทั่วไปแล้ว คุณไม่จำเป็นต้องใช้ kind เกินกว่า 0 และ 1 ในการสร้างแอปพลิเคชันโซเชียลมีเดียบน Nostr แต่ kind อื่น ๆ ถูกคิดค้นขึ้นโดยไคลเอ็นต์ต่าง ๆ เพื่อมอบฟังก์ชันการทำงานอื่น ๆ ตามที่ระบุไว้ใน NIP

อีเวนต์บาง kind ไม่เกี่ยวข้องกับเครือข่ายและให้บริการตามความต้องการอื่น ๆ ของไคลเอ็นต์ที่เฉพาะเจาะจงสำหรับฟังก์ชันการทำงานเหล่านั้น ซึ่งแนวคิดก็คือ สำหรับกรณีการใช้งานใหม่ ๆ แต่ละกรณีจะต้องมีการพิจารณาและเสนอซับโปรโตคอล (subprotocol) เป็น NIP เพื่อให้สามารถทำงานร่วมกับไคลเอ็นต์ที่มีอยู่และในอนาคตซึ่งอาจสนใจที่จะนำฟังก์ชันการทำงานนั้นไปใช้ ขณะเดียวกันก็มั่นใจได้ถึงความเข้ากันได้ย้อนหลัง (backward compatibility) และการรองรับสิ่งต่าง ๆ ที่มีอยู่และไม่ต้องการเปลี่ยนแปลง

คุณสมบัติอื่น ๆ ของ event

  • created_at: เป็น Timestamp ของ UNIX ที่กำหนดโดยผู้สร้างอีเวนต์ โดยปกติจะเป็นเวลาที่สร้าง แม้ว่าจะไม่มีการตรวจสอบ แต่ก็ไม่ใช่ปัญหา
  • content: ขึ้นอยู่กับความหมายของ kind ในกรณีของ kind:1 จะเป็นเพียงสตริงข้อความธรรมดาที่คนอื่น ๆ อ่านได้
  • tags: ขึ้นอยู่กับ kind เช่นกัน แต่แท็กทั่วไปบางอย่างที่มักปรากฏใน event kind:1 และ kind อื่น ๆ คือ “p” ซึ่งใช้เพื่อกล่าวถึงพับลิกคีย์ และ “e” ใช้เพื่ออ้างถึง event อื่น

อยากมีส่วนร่วมในการพัฒนาของ Nostr ?

จริง ๆ แล้วใคร ๆ ก็สามารถเข้ามามีส่วนร่วมในการพัฒนา Nostr ได้ ไม่จำเป็นต้องเป็น dev หรือมีความรู้ด้านคอมพิวเตอร์ก็สามารถทำได้ ไม่ว่าจะเป็นการให้ feedback กับ dev ของ client ที่คุณใช้ การสร้างคอนเทนต์ต่าง ๆ บน Nostr การสร้างชุมชน รวมไปถึงการช่วย client ต่าง ๆ ในการทำ UI ให้เป็นภาษาท้องถิ่น และวิธีอื่น ๆ อีกมากมาย

ใคร ๆ ก็สามารถช่วยได้ตามความสามารถที่แต่ละคนมี มันเลยทำให้ Nostr โคตรน่าอยู่มากเลยครับ 🙂

Krittanai P.

** ทุกบาทหรือทุกซาโตชิที่ donate จะถูกส่งเข้ากระเป๋าของผู้เขียนโดยตรงครับ :) **

Share this post

One comment

Leave a Reply

Connect with

Your email address will not be published. Required fields are marked *


Related Posts

BitcoinTalk

Why Bitcoin? (BitcoinTalk 100)

ทำไมต้องบิตคอยน์ และทำไมบิตคอยน์ถึงทำให้คนเปลี่ยนไปได้? มันไม่ได้เกิดขึ้นจากความบังเอิญ หรือเป็นเพียงการพัฒนาจากระบบการเงินหนึ่งไปสู่อีกระบบหนึ่งเท่านั้น แล้วคำตอบของเรื่องนี้คืออะไรล่ะ?

Read More »
Ownership
BitcoinTalk

Ownership (BitcoinTalk 117)

ความเป็นเจ้าของ ( Ownership ) คืออะไร? การที่เราเป็นเจ้าของเงินซึ่งฝากเอาไว้กับธนาคารต่างๆ แปลว่าเราเป็นเจ้าของเงินจำนวนนั้นจริงๆ หรือไม่? Ownership นั้นให้อะไรกับเราบ้าง และ มีความสำคัญกับเราขนาดไหน?

Read More »