เบาสบาย 🕊️🧡⚡️
GM ฝนยามเช้า 🧡⚡️🌧️☕️ #siamstr

มาหาของหวานๆ #wherostr #nostr #foodstr
มาเรียนเรื่องนี้กันเถอะเด็กๆ #Siamstr
NIP-13: Proof of Work - ป้องกันสแปมบน Nostr ด้วยการพิสูจน์พลังงาน

NIP-13 เป็นข้อกำหนดที่ช่วยเพิ่มระบบ Proof of Work (PoW) เข้ามาใน Nostr เพื่อแก้ปัญหาเรื่องสแปม (โดยเฉพาะปัญหาบ็อท Reply Guy ที่กำลังระบาดอยู่ตอนนี้) จริงๆ มันมีมานานแล้วแต่ไม่ค่อยมีไคลเอนต์ไหนนำมาอิมพลีเม้นสักเท่าไหร่ จนกระทั่ง #Wherostr เอามาพัฒนาอย่างเป็นรูปธรรมนั่นแหละ..

# #PoW คืออะไร?
ลองนึกภาพว่าเราต้องการส่งจดหมายไปรษณีย์ แต่ก่อนส่งเราต้องแก้โจทย์ปริศนาคณิตศาสตร์ซับซ้อนๆ สักข้อเสียก่อน ใครที่แก้ได้ก็แสดงว่ามีความตั้งใจและใช้พลังงานในการส่งจดหมายจริงๆ ไม่ใช่แค่ส่งจดหมายแบบสุ่มๆ
ในโลกม่วงๆ นี้ PoW คือการพิสูจน์ว่าผู้ส่งข้อความได้ใช้พลังงานในการคำนวณ (หรือ "ขุด") ก่อนส่งข้อความนั้น ยิ่งข้อความนั้นยากที่จะคำนวณ ก็ยิ่งแสดงให้เห็นว่าผู้ส่งมีแรงจูงใจและความตั้งใจที่จะส่งข้อความนั้นจริงๆ
ก่อนที่เราจะส่งโน้ต เราต้อง "ขุด" (Mine) โน้ตนั้นก่อน โดยการใช้พลังประมวลผลของอุปกรณ์ของเราคำนวณหาค่าพิเศษที่ตรงตามเงื่อนไขที่กำหนด ค่าพิเศษนี้ถูกฝังอยู่ใน ID ของโน้ต ยิ่งความยากของ PoW สูงขึ้น ก็ยิ่งใช้พลังงานในการคำนวณมากขึ้น และ ID ของโน้ตก็จะเริ่มต้นด้วยเลข 0 จำนวนมากขึ้นตามไปด้วย
# ทำไมต้องใช้ PoW?
เพราะมันช่วยลดปัญหาสแปมได้อย่างมีประสิทธิภาพน่ะสิ!
- ลดบ็อท หรือโปรแกรมที่ส่งข้อความอัตโนมัติส่วนใหญ่จะไม่สามารถใช้พลังงานในการขุด PoW ได้มากเท่ากับมนุษย์ เนื่องจากบ็อทมักออกแบบมาเพื่อประหยัดทรัพยากร ดังนั้น.. เมื่อเราตั้งค่า PoW ไว้สูง บ็อทก็จะไม่สามารถสร้างโน้ตได้ง่ายๆ
- ลดการส่งโน้ตแบบสุ่ม ผู้ส่งโน้ตต้องใช้พลังงานในการขุดก่อนส่ง ทำให้พวกที่ตั้งใจส่งสแปมแบบไม่คิดอะไรจะลดลง เพราะการขุด PoW ต้องใช้เวลาและพลังงาน
- สร้างคุณค่าให้กับโน้ต โน้ตที่มี PoW แสดงว่าผู้ส่งใส่ใจและตั้งใจส่งจริง ไม่ใช่แค่ส่งแบบผ่านๆ ทำให้โน้ตมีความน่าเชื่อถือมากขึ้น
- แก้ปัญหา Reply Guy บ็อท Reply Guy ที่ส่งข้อความตอบกลับอัตโนมัติจำนวนมาก สามารถถูกจำกัดได้ด้วยการใช้ PoW หากเราตั้งค่า PoW ไว้ใน Relay หรือในแอปพลิเคชัน Nostr ของเรา (ใน Wherostr ตังได้สบายๆ) บ็อทเหล่านี้ก็จะไม่สามารถส่งข้อความตอบกลับได้อย่างง่ายดายอีกต่อไป

# NIP-13 ทำงานยังไง?
1. ความยาก (Difficulty) เราสามารถกำหนดความยากของ PoW ได้ ยิ่งยากก็ยิ่งต้องใช้พลังงานในการขุดมากขึ้น ความยากถูกกำหนดโดยจำนวนเลข 0 ที่อยู่ข้างหน้าของ ID โน้ต (ตาม NIP-01) ยิ่งมีเลข 0 มาก ความยากก็ยิ่งสูงขึ้น
2. การขุด (Mining) เราต้องใช้แอปพลิเคชั่น Nostr ที่รองรับ PoW (Wherostr อีกแล้ว) แล้วปรับแต่งค่าในโน้ตของคุณเรื่อยๆ จนกว่าจะได้ค่าที่ตรงตามเงื่อนไขที่กำหนด โดยปกติแล้วจะปรับแต่งค่าในแท็ก "nonce" แล้วคำนวณ ID โน้ตใหม่
3. การตรวจสอบ (Validation) รีเลย์และไคลเอนต์สามารถตรวจสอบได้ว่าโน้ตนั้นผ่านการขุด PoW แล้วหรือไม่ โดยการนับจำนวนเลข 0 ที่อยู่ข้างหน้าของ ID โน้ต

# ตัวอย่างการใช้งาน (ที่อยากเห็นทุกคนช่วยๆ กันลอง)
- ตั้งค่า PoW สำหรับการโน๊ตหรือตอบเม้น เราสามารถกำหนดค่า PoW ไว้ในโน้ตและเม้นของเราได้ เช่น โน๊ตหรือเม้นด้วยการตั้งค่า PoW ที่มีความยาก 8 ขึ้นไป
- ใช้ฟิลเตอร์ PoW ใน nostr:nprofile1qqsdvl5ghyne55mzdj0hzmyhvuv26fzughl7y333r9py6xdnf0uyttq7e6759 แอป Wherostr มีฟีเจอร์ที่ช่วยให้เราสามารถกรองโน้ตและคอมเม้นท์ที่ผ่าน PoW มาแล้วเท่านั้นได้ เช่น เราสามารถตั้งค่าให้แสดงเฉพาะโน้ตหรือคอมเม้นท์ที่มี PoW อย่างน้อย 8 ขึ้นไป ซึ่งจะช่วยลดโน้ตสแปมจากบ็อทได้อย่างมีประสิทธิภาพ (โน๊ตและเม้นที่ไม่มี POW ของเราและของเพื่อนเราก็จะไม่ปรากฏด้วย แต่เราก็ปิด-เปิดฟีเจอร์นี้ได้ตามใจชอบไง)

- Relay ก็สามารถตั้งค่า PoW ได้เช่นกัน เช่น Relay อาจจะตั้งค่าว่าจะรับเฉพาะโน้ตที่มี PoW อย่างน้อย 4 ขึ้นไปไรงี้ เพื่อป้องกันการส่งสแปมในระดับ Relay
หมายเหตุ: การตั้งค่ากรองด้วย POW ไม่ใช่การฆ่าหรือลบข้อความของบ็อท แต่เป็นการสั่งไม่ให้ไคลเอนต์ของเราไปดึงเอาโน๊ตที่ไม่มี POW มาแสดงให้เห็นเท่านั้น
ประสบการณ์ส่วนตัว..
พี่เองก็ได้ลองทดสอบการสร้างโน้ตที่มี PoW ความยาก 48 ด้วยมือถือและพบว่ามันใช้เวลานานมาก บน Samsung S23+ ใช้เวลา 50 นาที แต่พึ่งจะขุดได้แค่ 25/48 เท่านั้น แสดงให้เห็นว่าความยากระดับนี้มันสูงมากจริง ๆ (ต่อให้ใช้คอมก็ยังยาก) ดังนั้น.. ไม่จำเป็นต้องเยอะขนาดนั้นก็ได้ 5555+
# ข้อเสนอแนะ
หากเราทุกคนหันมาใช้ PoW ในการสร้างโน้ตและคอมเม้นท์ โดยตั้งค่าความยากที่ไม่สูงจนเกินไป เช่น 8 ก็จะช่วยลดปัญหาสแปมรกหูรกตาได้โดยที่เราไม่ต้องสิ้นเปลืองพลังงานมากเกินไป และยังช่วยให้ Relay และแอปพลิเคชัน Nostr สามารถกรองโน้ตสแปมได้ง่ายขึ้นด้วย
ปล. โน๊ตเป็นเพียงการอธิบายเบื้องต้นเกี่ยวกับ NIP-13 เท่านั้น หากต้องการศึกษาเพิ่มเติม สามารถอ่านเอกสารประกอบเพิ่มเติมได้ที่นี่ครับ
Good job 🙏🧡⚡️
ครั้งแรกของโลก!! ที่ใครก็สามารถสร้าง Social Media ได้ด้วย Nostr
แล้วจะเริ่มต้นยังไง? ตามรายละเอียดด้านล่างนี้เลยครับ...
.
#TBC2024 Advanced Stage
Getting Started with Nostr Development
.
1. Nostr from My Perspective: เป็นการแชร์มุมมองถึงทิศทางของการพัฒนา Application ในอนาคต และแสดงภาพวิวัฒนาการของ Protocol ตั้งแต่ Internet -> Bitcoin -> Nostr
2. Nostr vs Traditional: เปรียบเทียบ Infrastructure ปัจจุบัน กับ Nostr กให้เห็นข้อแตกต่างของการทำแอปปัจจุบัน กับ Nostr
3. Nostr vs Web3: เปรียบเทียบ Ideas, Concepts และประโยชน์ที่ผู้ใช้จะได้รับจาก Nostr และ Web3
4. Nostr Workflow: แสดงภาพการทำงานของ Nostr
5. NIPs (Nostr Implementation Possibilities): เป็นเอกสารข้อตกลงสำหรับนักพัฒนา แต่เราจะแสดงภาพจาก UI และ Mapping กับเอกสาร NIPs
6. Workshop แนะนำ Tools, สาธิตการใช้งาน Tools และสาธิตขั้นตอนการทำงานของ Nostr Workflow
7. Nostr Growth: การเจริญเติบโตของ Nostr โดยจะยกตัวอย่างจาก Application ที่มีในปัจจุบัน เมื่อแปลงมาเป็น Nostr มุมมองจะเป็นอย่างไร
.
สำหรับ Video ย้อนหลังสามารถติดตามได้ที่ nostr:npub1ejn774qahqmgjsfajawy7634unk88y26yktvwuzp9kfgdeejx9mqdm97a5 นะครับ😁
.
Slide:
https://drive.google.com/file/d/1OAO7g2Ow6Ws7y5oLUo0GclEXYxm-K8wk/view?usp=drive_link
.
Source code workshop:
https://github.com/nicky-dev/tbc2024-nostrdev
.
#siamstr #nostr #devstr
ขอบคุณครับ 🙏👏⚡️
HBD 1 ขวบครับ GM ☕️🧡⚡️
"อย่าคิดที่จะแก้กรรมให้คนอื่น" GM ขอให้เป็นวันที่ดีสำหรับทุกคน #siamstr #nostr
โน๊ตที่ประทับใจอีกหนึ่งโ๊ตครับ 🧡⚡️🕊️
ปรบมือรัวๆครับ 👏👏⚡️
nostr:nprofile1qqsrmd0ph8d22lxx5l2492r2sat5a63xtcr4nh0tsl2yupe8770d3rglsd88e แอพลื่นหัวแตกและและ zap ได้ง่ายมากครับ ปรบมือรัวๆ ⚡️🙏🧡
GM สุข วันหยุด #siamstr บอทเทส
วันนี้แดดดี






