Nostr (นอสเตอร์) ทางเลือกใหม่ของโซเชียลมีเดียที่ไร้ศูนย์กลางและทนทานต่อการเซ็นเซอร์ ต่างจากโซเชียลมีเดียในปัจจุบันที่คุณใช้อยู่เป็นประจำ ที่มีทั้งการปิดกั้น การลดการมองเห็นด้วย Shadow Ban และความพยายามยัดเยียดโฆษณาชวนเชื่อให้เรา แต่ Nostr นั้นต่างออกไป ที่นี่ไม่มีการปิดกั้นใด ๆ เราเลือกได้อย่างเสรีว่าอยากเห็นคอนเทนต์แบบไหน อยากติดตามใคร และอยากโพสต์อะไร ที่สำคัญเรายัง zap⚡ส่งไลท์นิงให้กันโดยตรงได้ ไม่จำเป็นต้องผ่านตัวกลาง
เอาล่ะ! คงสงสัยกันแล้วว่า Nostr คืออะไร?
NOSTR คืออะไร?
Nostr ย่อมาจาก “Notes and Other Stuff Transmission by Relays” คือการบันทึกและส่งผ่านรีเลย์ ถือเป็นโปรโตคอลแบบเปิดที่มีความเรียบง่าย ยืดหยุ่น และตรวจสอบได้
โปรโตคอล Nostr ใช้ `event` ซึ่งเป็นไฟล์ Json ธรรมดา และใช้มาตรฐาน “public-key cryptography for keys & signing” ทำให้ง่ายต่อการเรียกใช้รีเลย์และสร้างไคลเอ็นต์ ช่วยให้มั่นใจได้ว่าโปรโตคอลนี้จะขยายตัวได้มากขึ้นในอนาคต
{
"id": "4376c65d2f232afbe9b882a35baa4f6fe8667c4e684749af565f981833ed6a65",
"pubkey": "6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93",
"created_at": 1673347337,
"kind": 1,
"tags": [
["e", "3da979448d9ba263864c4d6f14984c423a3838364ec255f03c7904b1ae77f206"],
["p", "bf2376e17ba4ec269d10fcc996a4746b451152be9031fa48e74553dde5526bce"]
],
"content": "Walled gardens became prisons, and nostr is the first step towards tearing down the prison walls.",
"sig": "908a15e46fb4d8675bab026fc230a0e3542bfade63da02d542fb78b2a8513fcd0092619a2c8c1221e581946e0191f2af505dfdf8657a414dbca329186f009262"
}
Nostr นั้นไม่ได้พึ่งพาเซิร์ฟเวอร์กลางที่ไหน แต่ใช้รีเลย์ (Relay) ที่เหมือนโหนดกระจายตัวกันออกไปในการรับส่งข้อมูลไปมาหาไคลเอ็นต์ โดยหากรีเลย์หนึ่งพังไป คุณก็สามารถใช้รีเลย์อื่นได้ และสามารถเปลี่ยนแปลง เพิ่ม หรือลดรีเลย์ได้เสมอ จึงทำให้มีความยืดหยุ่นในการใช้งานมาก
บัญชี Nostr นั้นใช้หลักการ “public-key cryptography” ซึ่งสามารถตรวจสอบได้ง่าย ไม่มีอีเมลกับพาสเวิร์ดเหมือนโซเชียลมีเดียอื่น ตัวแปรสำคัญคือ Private Key (nsec) เป็นสิ่งที่คุณต้องเก็บรักษาให้ดี และการกดติดตามผู้อื่นต้องใช้ Public Key (npub) ในการค้นหาเพื่อน แล้วกดติดตาม ถ้าหากได้ยืนยันตัวตนด้วย Nip-05 (Nostr Address) แล้วก็จะได้เป็นชื่อบัญชีที่ตั้งเองได้ ทำให้ค้นหากันง่ายขึ้น เพราะจดจำได้ง่ายกว่า Public Key
*หมายเหตุ : ถ้าคุณสนใจอยากศึกษาลงลึกเรื่องโปรโตคอล แนะนำอ่านเพิ่มเติมได้ที่ : https://github.com/nostr-protocol/nostr
ส่วนประกอบสำคัญของ Nostr นอสเตอร์มีสองอย่าง นั่นคือ “รีเลย์” และ “ไคลเอ็นต์” งั้นเรามาดูกันสิว่ามันเป็นอย่างไร
Relay (รีเลย์) คืออะไร?
รีเลย์เป็นเหมือนเซิร์ฟเวอร์แบ็กเอ็นของ Nostr ตัวรีเลย์เองจะอนุญาตให้ไคลเอ็นต์ส่งข้อความถึงตัวเอง และตัวรีเลย์อาจจะเก็บหรือไม่เก็บข้อความก็ได้ตามประเภทของรีเลย์ จากนั้นค่อยส่งออกข้อความกระจายไปตามไคลเอ็นต์ทั้งหมดที่เชื่อมต่อกับรีเลย์นั้น
ARM สามารถเห็นโพสต์ของ Soup และ Jingjo
Soup สามารถเห็นโพสต์ของ ARM และ Jingjo
Jingjo ไม่สามารถเห็นโพสต์ของ ARM และ Soup
โลกของรีเลย์นั้นมีการเปลี่ยนแปลงเร็วมาก Nostr มีการกระจายศูนย์การจัดเก็บและดึงข้อมูลโดยขึ้นอยู่กับรีเลย์ หากสังเกตเห็นว่าไคลเอ็นต์ที่คุณใช้อยู่นั้นช้า สาเหตุอาจเกิดจากรีเลย์ที่คุณใช้อยู่ คุณอาจเพิ่มหรือลดรีเลย์สักสองสามตัวให้กับไคลเอ็นต์ของคุณ
รีเลย์มีทั้งฟรีและจ่ายเงิน
รีเลย์ที่ใช้งานกันทั่วไปส่วนใหญ่เป็นรีเลย์ฟรี ที่มีทั้งดีและไม่ดีบ้างแล้วแต่ตัว แต่รีเลย์ที่จ่ายเงินนั้นต่างออกไป โดยมีการประมวลผลข้อมูลและแบนด์วิธเพิ่มสูงขึ้นบ้าง เพราะผู้ให้บริการต้องกันสแปมให้คุณด้วย
ถ้าสนใจรีเลย์เสียเงิน :
และคุณสามารถดูรีเลย์ทั้งหมดได้ที่ :
Relay และความเสี่ยงที่อาจเกิดได้
ผมเดาว่าหลายคนอาจมีคำถามว่า “ถ้าหากรีเลย์ทั้งหมดที่เราใช้เกิดออฟไลน์หรือดับพร้อมกันหมด จะเกิดอะไรขึ้น?”
คำตอบ คือ ข้อมูลหายหมดครับ!!
แม้โอกาสที่สามารถเกิดขึ้นแบบนั้นมีน้อยมาก แต่ก็อาจเป็นไปได้ ซึ่งถ้าคุณกังวลเรื่องนี้ คุณสามารถรันรีเลย์เองได้เช่นกัน แต่ไม่ใช่ทุกคนที่พร้อมจะยุ่งยากวุ่นวาย แต่ถ้าคุณสนใจจริง ๆ วิธีที่ผมเห็นว่าง่ายที่สุด คือการลงรีเลย์ใน umbrel อาจคุ้นชื่อกันใช่ไหมครับ เพราะ umbrel ก็คือโปรแกรมที่ใครหลายคนใช้รันโหนดบิตคอยน์กันนั่นเอง
การรันรีเลย์เองไม่ได้มีแค่ที่ umbrel อย่างเดียว เพราะรีเลย์ยังมีหลายแบบมาก หากอยากลงลึกไปกว่านั้นลองติดตามที่ลิงก์นี้ได้เลย : https://nostr.how/en/relay-implementations
NOT YOUR RELAY
NOT YOUR DATA
Client (ไคลเอ็นต์) คืออะไร?
ไคลเอ็นต์เป็นเสมือนแอปฯ ที่ใช้เข้าถึงและตอบโต้กับโปรโตคอล Nostr และอย่างที่เรารู้กันว่า Nostr นั้นมีความยืดหยุ่นมาก มันเลยมีไคลเอ็นต์หลายรูปแบบให้คุณได้เลือกใช้ และสามารถเปลี่ยนแปลงได้ตลอดเวลา
แล้วมีไคลเอ็นต์ไหนน่าสนใจบ้าง?
ไคลเอ็นต์บนเว็บเบราว์เซอร์
หากคุณอยากใช้งาน Nostr บนเว็บไซต์สิ่งหนึ่งที่ผมคิดว่าขาดไม่ได้ คือ Alby ที่เป็นส่วนขยายบนเว็บเบราว์เซอร์ของคุณ Alby คือตัวช่วยจัดเก็บตัว Private Key ของบัญชี Nostr ของคุณไว้ และไคลเอ็นต์บนเว็บไซต์ส่วนใหญ่มีมาตรฐาน Nip-07 ซึ่งช่วยให้เราไม่ต้องกรอก Private Key เองในการเข้าใช้ไคลเอ็นต์ทุกครั้ง
ไคลเอ็นต์บนเว็บเบราว์เซอร์ที่น่าสนใจ
- Snort – เป็นการเริ่มต้นที่ง่ายแบบในวีดีโอด้านบน แต่ก็ยังมีข้อเสีย ในความเห็นผมรู้สึกว่าไคลเอ็นต์นี้อืด ไม่ค่อยสมูธ แต่ก็มีการพัฒนาอยู่เรื่อย ๆ
- Iris – เป็นไคลเอ็นต์ที่ UI ใช้งานง่าย ลื่นไหล แต่ต้องเลือกรีเลย์เป็นพอสมควร
- Primal – เป็นไคลเอ็นต์ที่ผมแนะนำมากที่สุด UI สวย รีเลย์ที่ให้มาลื่นไหลดีมาก การแสดงผลครบถ้วน และล่าสุดเพิ่งเพิ่มออปชันให้จัดการรีเลย์เองได้แล้วด้วย
*หมายเหตุ : แนะนำให้เข้างานไคลเอ็นต์ผ่าน Get Alby โดยเฉพาะกับ Primal
ไคลเอ็นต์บนสมาร์ตโฟน
หากเริ่มต้นใช้งาน Nostr บนสมาร์ทโฟนครั้งแรกก็ไม่ใช่เรื่องยาก แค่ดาวน์โหลดไคลเอ็นต์ที่อยากใช้ลงเครื่อง แล้วกดสร้างบัญชีใหม่ ทำตามขั้นตอนใส่ข้อมูลให้ครบ แค่นี้เราก็ได้บัญชี Nostr แล้ว
แต่ถ้ามีบัญชีอยู่แล้วล่ะ จะทำยังไง?
ผมคงบอกคุณว่าก็เอา Private Key มาวางในไคลเอ็นต์ที่คุณอยากใช้งาน แต่การที่คุณจะเก็บรักษาคีย์นั้นยังไงให้ปลอดภัย ผมแนะนำให้คุณลองใช้ Password Manager ซึ่งเป็นโปรแกรมที่ช่วยจัดการรหัสผ่าน โดยตัวผมเองใช้ Bitwarden บันทึกคีย์ไว้ในนั้น
ไคลเอ็นต์บนสมาร์ทโฟนที่น่าสนใจ
ระบบ “แอนดรอยด์”
- Iris – แค่เปิดไคลเอ็นต์มากรอกชื่อคุณก็มีบัญชีนอสเตอร์แล้ว ง่ายมาก แต่อย่าลืมกดแก้ไขโปรไฟล์และใส่ข้อมูลให้ครบ
- Plebstr – เป็นไคลเอ็นต์ที่เรียบง่าย UI สวย แต่คนที่เพิ่งเริ่มใช้งานใหม่ อาจสงสัยว่าจะหา URL รูปภาพจากไหนดี ผมแนะนำบริการฝากไฟล์เลยครับ (เช่น https://pic.in.th/?lang=th หรือ https://img.doerig.dev/)
- Amethyst – เป็นไคลเอ็นต์ที่เรานิยมใช้กันมากที่สุด และผมได้ทำวีดีโอสอนเปิดใช้งานไว้แล้ว แต่คิดว่าคงมีคนสงสัยเรื่องจะใส่รูปภาพโปรไฟล์ยังไง เราสามารถเลือกรูปจากสมาร์ตโฟนของเราได้เลย หรือเราจะเอา URL รูปภาพมาใส่ก็ได้เช่นกัน
*หมายเหตุ : อัตราส่วนรูปภาพรูปโปรไฟล์คือ 1:1 เช่น 300x300 รูปแบนเนอร์ 3:1 เช่น 900x300
ระบบ “iOS”
Damus – เป็นไคลเอ็นต์ที่นิยมกันมากที่สุดใน iOS ข้อเสียคือไม่สามารถ Zap ในโพสต์ได้ แต่ไม่ใช่ปัญหา เพราะมีบริการอย่าง Zapple Pay เข้ามาช่วยแก้ไขแล้ว โดยลักษณะการใช้งานจะเป็นการกดอิโมจิแล้วมันจะ zap ให้ทันทีเลย สำหรับวิธีสมัครใช้งาน Damus น้องมิวนิคได้ทำไว้อย่างละเอียดและเข้าใจง่าย รวมไปถึงวิธี zap ด้วย ตามไปอ่านกันได้ที่ https://rightshift.to/2023/kp/13895/
ไคลเอ็นต์ Nostr ไม่ได้มีแค่รูปแบบที่เหมือนโซเชียลมีเดียในปัจจุบัน ยังมีไคลเอ็นต์เฉพาะทางอย่างอื่นอีกที่น่าสนใจ หากคุณชอบเขียนบทความแล้วอยากจัดฟอร์แมตสวย ๆ คุณสามารถเข้าไปที่ :
หากคุณเป็นสตรีมเมอร์และอยากสตรีมบน Nostr หรืออยากดูเหล่าสตรีมเมอร์ ให้เข้าที่นี่ zap.stream โดยคุณสามารถ zap ให้คนสตรีมได้ มีแชตคุยสดระหว่างสตรีม หากถูกใจแชตไหนก็ zap กันได้ ถือเป็นอีกหนึ่งไคลเอ็นต์ที่น่าสนใจ
ผมคิดว่าคุณคงได้ยินคำว่า zap⚡บ่อยมากใน Nostr แล้วมันคืออะไร ทำงานยังไง ง้้นมาดูกัน
Zap⚡คืออะไร?
zap เป็นการส่งบิตคอยน์บนไลท์นิงเข้าสู่วอลเล็ทของผู้ใช้ Nostr โดยตรง ผ่านโพสต์หรือรีแอ็กอื่น ๆ โดยใช้มาตรฐาน Nip-57
Zap ทำงานอย่างไร?
ผมจะไม่พาคุณลึกไปกว่านี้ เพราะอาจหัวบวมได้ แต่ถ้าคุณสนใจอยากเข้าใจมันจริง ๆ ผมแนะนำอ่านเพิ่มได้ที่ https://nostr.how/en/zaps
สิ่งที่ขาดไม่ได้ในการรับ zap คือ Lightning Address แล้วเราจะหาได้จากที่ไหนบ้าง? คุณอาจเริ่มต้นง่าย ๆ ด้วย :
โดย Lightning Address หน้าตาจะประมาณนี้ “⚡notoshi@getalby.com” พูดให้เข้าใจง่าย ๆ มันเหมือนอีเมลแอดเดรสนั่นเอง
มาถึงเรื่องสุดท้ายกันแล้วนั่นก็คือ Nip-05 (Nostr Aaddress)
Nip-05 (Nostr Address) คืออะไร?
เป็นการยืนยันตัวตนเพื่อให้ได้รับเครื่องหมาย “ติ๊กถูก” และช่วยให้คุณแชร์บัญชีของคุณให้เพื่อนกดติดตามได้ง่ายขึ้น
ถ้าอยากมี Nip-05 ต้องทำอย่างไรได้บ้าง?
หากคุณไม่มีเซิร์ฟเวอร์โดเมนของตัวเอง ก็ยังมีผู้ให้บริการที่ให้คุณสามารถไปใช้ของเขาได้ ซึ่งมีทั้งฟรีและแบบที่เสียค่าบริการ
ทำ Nip-05 แบบฟรี ได้ที่นี่ :
แต่อย่างไรก็ดี อย่าลืมสนับสนุนผู้ให้บริการฟรีด้วยสักหน่อย เพื่อเป็นกำลังใจให้เขาได้ทำต่อไปครับ
ทำ Nip-05 แบบเสียเงิน ได้ที่นี่ :
หากคุณเป็นมีโดเมนอยู่แล้ว เป็นสิ่งที่ดีเลย คุณเพียงแค่เพิ่ม `.well-known/nostr.json` ไฟล์ไปในโฮสต์โดเมนของคุณ โดยที่โครงสร้างในไฟล์ Json จะเป็นดังนี้
{
"names": {
"YOUR_NOSTR_NAME": "YOUR_NOSTR_PUBLIC_KEY (HEX)"
}
}
ตัวอย่าง fiat@lnmarkets.com
{
"names": {
"fiat": "b0b8514b214cae75366d7db5e0b16916abd9075a9fa9f89ba556b50467ae774e"
}
}
สามารถใส่ชื่อของทีมงานคุณเข้าไปในไฟล์เดียวกันได้ โดยใช้โครงสร้างนี้เหมือนกัน
เรียนรู้เพิ่มเติมได้ที่: https://github.com/nostr-protocol/nips/blob/master/05.md
*หมายเหตุ : คุณต้องใช้ Hex ของ Public Key
ถ้าคุณใช้ Iris คุณสามารถก๊อบปี้ Hex ได้เลย หรืออีกวิธีคือเอา Public Key ไปวางช่องค้นหาใน nostr.band จากนั้นไปที่โปรไฟล์เรา กดที่ Menu แล้วกด “Copy pubkey”
ถ้าทำ Nip-05 ด้วยโดเมนตัวเอง คุณสามารถผูกไลท์นิ่งเข้าไปได้ด้วย แต่ต้องมีบัญชี Get Alby โดยศึกษาเพิ่มเติมได้ที่นี่ :
https://guides.getalby.com/overall-guide/alby-lightning-account/where-to-use-your-lightning-address/how-to-use-your-own-domain-as-your-lightning-address
หวังว่าจะเป็นประโยชน์บ้างไม่มากก็น้อย หากมีข้อสงสัยเพิ่มเติม พบเจอผมได้ใน Nostr “notoshi@rightshift.to” มาสอบถามพูดคุยกันได้ครับ
"Nostr is the road to freedom."
One comment
[…] Nostr คือโปรโตคอลแบบเปิดที่เรียบง่าย ซึ่งช่วยให้สามารถสร้างโซเชียลมีเดียระดับโลกที่กระจายอำนาจและป้องกันการเซ็นเซอร์ได้ […]