Avatar
PusanStudio
3464552d14ece7bb7054eef015d4d38c59a90a2e5d0fed19b5b04f7a5607b431
มนุษย์เป็ดคนหนึ่ง - Full Stack Developer - Hardware Engineer & IoT Automation - IT & Network & System Engineer - Data & Cyber Security - Blockchain, DApp, Smart Contract Dev

หลังจากผม Setup lnbits เล่นเอง ได้ไม่ถึงวันเจอช่องโหว่แบบงงๆ

เป็นช่องโหว่ของระบบหนึ่งในไทย ผสมกับช่องโหว่ lnbits

เลยทำทำให้ Blotcard ของผู้ให้บริการเจ้าหนึ่ง เกือบ 700 ใบรวมๆ 3 ล้านกว่า sats มีความเสี่ยงโดนขโมยตังได้ทุกเมื่อ

.

ซึ่งอาจจะเป็นเราเอง ขโมยซะเลยตั้ง 3 ล้าน sats ก็เกือบแสนบาทอยู่ หวานเจี๊ยบเลยยย

ถุ้ยยย อะหยอก โชคดีว่าไม่แพ้เสียงในหัวสภาพ

.

แจ้งอุดสิครับรอไร ฝืนเอาไปตรูโดนคนไทยไล่ล่าค่าหัวแน่นอน 🤣 และน่าจะทำคอมมูในไทยหลอนไปอีกนาน

.

ใดๆได้แจ้งให้เจ้าของ node รับทราบไปละ รอให้แพทช์ระบบให้ 100% ก่อน

เดะมาเล่าเบื้องหลังของคนบ้าแห่งการ over engineering ที่นั่งเขียน NTAG424-DNA card emulator จนสร้าง lnurlw ที่เป็น withdrawRequest โดยไม่ต้องมีบัตรจริง เอามาผสมกับช่องโหว่ จนสามารถดูดตังได้

#siamstr

มีอะไรให้ลอง จะลองให้หมด 5555

นั่ง setup lnbits ลง extensions นั่งทำบัตรอะไรเสร็จ

ปัญหาใหม่ แล้วตรูจะเอา Bolt Card ไปจ่ายกับใคร ร้านไหน 🤣

เปิดดูแมพทั้งจังหวัดไม่มีร้านรับ Lightning Contactless เลย 🤣 ขนาด Lightning ปกติยังไม่มี

ดูแววได้ประเดิมเปิด PoS รับ Lightning เป็นร้านแรกในจังหวัดละ

#siamstr

ได้ NFC Card (NXP NTAG 424 DNA) มาตับหนึ่งจาก supplier สุดน่ารัก หามาจนได้

น่าเอามาจับทำ Bolt Card แท้

เป็นเจ้าเดียวที่ฝากหา esp32-s3 มีจอทัช สำหรับทำ Nostr Remote Signing Device อีก

แถมเครื่องพิมพ์เรา ดันพิมพ์บนบัตร pvc ได้อีกต้องหาลายบัตรละ

ดูแววปีนี้ได้จะเปิด Lightning Node ของตัวเองจริงๆละ ใช้บ่อยจัด เจอกัน Bolt Card Service

#siamstr

Happy New Year 2026

ขอบคุณในความหวังดีของ nostr client ที่ช่วย sync relay ให้นะ 🤣

event ที่ผมลอง labs ใน private relay ก็ได้กระจายเป็นสิบๆ public relay ในพริบตา

คือผมใช้ acc หนึ่งไว้ลองซน ต่อไว้แค่ private relay อย่างเดียว พังจะได้รีเซ็ต DB ล้างได้

ละเอา acc นี้ไว้มอนิเตอร์ ละต่อไว้หลาย public relay + private relay ที่ตัวรองเกาะอยู่ ละ nostr client หวังดี sync ให้

ละคือ ฉีกตามมาตรฐานไปเยอะอยู่ ดีว่าอยู่ kind 10k+ เลยไล่ประกาศทับได้ทัน

แต่เท่าที่ poc มาโอเคเลย

คือทำให้อัพไฟล์ผ่าน nostr client ทั่วไปผ่าน blossom นี่แหละ แต่ server จะคายเป็น ipfs url ออกมาเป็นค่าเริ่มต้น แทนลิ้ง sha256

แต่ถ้าเข้าผ่านลิ้ง sha256 ปกติ ที่เป็น blossom url ก็จะ redirect เป็น ipfs (จริงๆ ตาม bud-01 อนุญาตให้ redirect เพื่อใส่ file extension แต่เราลักไก่นิดหน่อย)

แล้วใช้ฟีเจอร์ bud-03 sync server list จะได้สลับไปใช้ client อื่นไม่ต้องใส่ url media server ใหม่ (อันนี้ก็ลักไก่เอา เลยทำให้เอา sha256 คนอื่นมาใส่เซิฟเราได้ ทำรองรับตามมาตรฐานไว้ แต่เอา cid ที่เป็นมาตรฐานเราไปใส่กับเซิฟชาวบ้านไม่ได้)

จะได้เล่นของใหม่แบบไม่ต้องทำ client เอง

ยอมเสียความ decentralized ของ blossom

แต่ได้ความ decentralized ของ ipfs eco system มาแทน

#siamstr

ด้วยความกาวจากเมื่อคืน จะเขียน Media Server (blossom/nip96 ) ขึ้นมาใหม่แบบ serverless

ไหนๆก็ต้องเก็บไฟล์ไว้ใน s3 อยู่แล้วก็เลย peer ไฟล์เข้า ipfs ไปด้วยเลยละกัน

ตอนแรกจะทำเป็น media server & relay ถ้าเจอ ipfs url ในอีเว้นโน้ต ตัว relay จะ ช่วย pinning ไฟล์ให้ไรงี้

แต่พึ่งมาเห็น repo นี้มะกี้ ชอบไอเดียการ pinning sync ผ่าน nostr มาก

https://github.com/besoeasy/file-drop

nostr:nevent1qvzqqqqqqypzqp3u664h250d95n84jzg92pf58gryr5k3nshu20vzh25k25fsxwkqqsvzqf8wtvx7eqrmet9yr7a2q9k6sz59ylwdeekx47d0x9f432z0ngg98sad

จะเกิดอะไรขึ้นถ้ามีโมดูล ราคาหลักร้อย สามารถดัดแปลง vending machine เก่าๆ

ที่เป็น โมดูลรับเหรียญ โมดูลรับธนาบัตร Pulse ธรรมดาๆ

ให้สามารถรับ Bitcoin Lightning (nostr, coinos ,opennode) หรือคริปโตเชนอื่นๆได้

และสามารถนับยอดขายจากการหยอดเหรียญ ธนาบัตร บันทึกเข้าระบบหลังบ้าน เป็นสถิติได้

หรือเกิดเคสเครื่องอมตัง หรือไฟดับ ก็สามารถ remote สั่งการ vending machine จากระยะไกลได้

หรือถ้าเป็นโมดูลมีจอแพงขึ้นมาหน่อยหลักพันต้นๆ ก็จะรับคริปโตเพิ่มได้อีกหลายแบบ

หรือพวง Payment Gateway ทั้งในไทยและตปท. ได้ (เช่น พร้อมเพย์, ทรูวอเล็ตม อาลีเปย์ วีแชตเปย์)

#siamstr #foss

วันนี้นั่งกาวๆก็คิดว่า ถ้าเราทำ IoT Gateway บน Blockchain layer 2 ได้แล้วทำไมบน Nostr จะทำบ้างไม่ได้

จริงๆพอมานั่งไล่ nip บน nostr ดูมีฟีเจอร์ที่จำเป็นหมดนี่เลยนี่หว่า ยังไม่ต้องสร้าง kind ใหม่เป็นของตัวเองเลย 555

ลองไล่แบบคร่าวๆกาวๆ ฟีเจอร์ที่ IoT Gateway ควรมี

- Authentication & Authorization ก็ให้ทุก device มี key pair เป็นของตัวเอง verify event signature เอา

- Auto Discovery ก็ใช้ Relay Gossip (NIP-66) หรือ Relay List Metadata (NIP-65) วิ่งหากัน หรือให้แต่ละ device มี nip-05 ไปเลย

- ACL Rule จะใช้ท่า group relay (NIP-29) หรือ เก็บ npub set (NIP-51)

- Data Encryption (NIP-44) & Data Privacy (NIP-17+NIP-59 ) ในการสื่อสารระหว่าง device

- Data Store จะเก็บแบบมี history หรือเก็บแค่ last state ก็เลือกช่วง kind เก็บเลย

- Get/Set Pub/Sub ก็เป็นฟีเจอร์พื้นฐานของ nostr อยู่ละ

และที่สำคัญคือถ้าทุก vender ใช้ standard เดียวกัน เราก็จะสามารถควบคุม device ข้าม vender กันได้

แบบคล้ายๆ Matter Protocol ที่เป็น Open Standard ให้เราใช้แอพ ใช้ device ข้ามค่ายกันไปมาได้ แค่บน nostr มีความ decentralized

*** คำเตือน ทฤษฎีอาจจะมีความกาวหน่อยๆ ยังไม่ได้ PoC หรือ implement บน nostr จริงๆ อาจมีข้อมูลผิดพลาดบ้างหรือยังไม่ครบถ้วน ***

#siamstr

นั่งทำ filter relay กรองสแปม ขำๆ ลองใช้ config เดิมๆ

บัญชีผมก็โดนคัดออกไปด้วย 🤣 คะแนน WoT ผมน้อยเกินไป

หรือนี่เป็นสาเหตุที่ลองคุยกับบางคนไม่เห็น จนต้องไปคุยกันข้างนอก

ทั้งๆที่ relay ก็ตรงกันหลายตัวละนะ 🤣

ตอนนี้มี Media Server ที่เป็น opensorce หลายตัวให้เราเลือกโฮสต์เองเลยครับ มีทั้งแบบ NIP-B7 (Blossom) หรือ NIP-96 (HTTP File Storage)

แต่ถ้าหมายถึงเขียนระบบขึ้นมาใหม่เองเลย ในมุม dev ส่วนตัวไม่ค่อยยากครับ มีให้ implement ไม่เยอะมาก แค่ขาอัพโหลด ดาวน์โหลด ลิสไฟล์ ลบไฟล์ ทั่วไปเลย

งานใหญ่จริงๆคงเป็นเรื่องค่าใช้จ่าย จะออกแบบหรือวางระบบ cdn ยังไงให้ Media Server เราโหลดไว ลื่น เสถียร รวมถึงการเลือกใช้ Storage อะไรในการจัดเก็บไฟล์ต่างๆ

โดยที่ไม่เปลืองค่าใช้จ่ายในการโฮสต์มากเกินไป ทั้งค่า cloud, storage, bandwidth ต่างๆ ครับผม

พูดถึงการ Signing ด้วยความผมไม่ชอบ extension หลายๆตัวทั้งดูไม่น่าไว้ใจ ux/ui เก่าโบราณบ้าง

ส่วนทำไมไม่ใช้ Ably อ๋อ ไม่ชอบเป็นการส่วนตัว คือไม่อยากพึ่ง 3party ยิ่งไม่ใช้ FOSS ยิ่งไม่ค่อยอยากพึ่งอีก

ขนาด relay ยังเปิดเองแรกๆก็เปิดแค่ relay ธรรมดาๆ 2 วันที่ผ่านมาได้ศึกษา nostr จริงจัง ตอนนี้ relay งอกยัน Signing, NWC, DM, Group, Search, Broadcast และมีแววเพิ่มอีกเรื่อยๆ เดะมาเล่าแบ่งปันอีกที

รวมถึง Media Server (blossom & nip-96) ก็กำลังทำใช้เองอยู่

.

ไหลลงทะเลไปไกลละเข้าเรื่องดีกว่า

.

ตอนแรกผมก็ทำ NSD (Nostr Signing Device) ด้วย esp32 (TTGO T-Display) นี่แหละ

เหมือนจะดี มันไม่ได้ง่ายแบบ security key ที่ browser, pc, mobile ส่วนใหญ่รองรับ Web Authentication API

ให้ browser, app คุยกับ hw ได้เลยโดยไม่ต้องลง extension เพิ่ม หรือฝั่งมือถือก็มีแอพคุยผ่าน otg, nfc ได้เลย เช่น fido, webauthn

แต่กับ NSD ไม่เลย สุดท้ายมันก็ยังต้องลง extension เพื่อบริด NSD ผ่าน serial หา nip-07

นี่ยังไม่รวมต้องลง driver ของ usb to serial ให้คอมมองเห็น ftdi chxxx ชิพของ esp32 อีก

พอคุยผ่าน extension ก็ต่อเข้ามือถือก็ไม่ได้เหมือนเดิม ไม่สะดวกเอาเสียเลย เลยอาจจะยังน้า

คงต้องรอจนกว่า nostr จะโดนบรรจุเข้าในมาตฐาน browser ก็น่าจะอีกนาน

.

เลยมาจบที่ NRSD (Nostr Remote Signer Device) ใช้ esp32-s3 + Touch Display 3.5inch

เออนี่แหละที่ตามหา จบสักทีใช้งานง่ายสะดวก ออกมาเป็น qrcode bunker url ใช้บนคอมก็ได้ มือถือก็ได้

มีข้อเสียเดียวแค่ต้องพึ่ง wifi ออกเน็ต เดี๋ยวดัดแปลงให้วิ่งบน NB-IoT หรือบ้าหน่อยก็ LoRaWAN อีกที

.

แต่ก็ยังใช้ควบคู่กับ Amber บนมือถือ และ browser extension ที่ทำขึ้นมาเองง่ายๆให้บริด nip-46 หา nip-07 เพราะยังมีอีกหลายเว็ปที่ยังไม่รองรับ Remote Signer

https://github.com/lnbits/nostr-signing-device

https://github.com/lnbits/nsec-remote-signer

#siamstr #foss

โชคดีที่นั่งเปิด Signing Relay + ทำ Web Singer เป็นของตัวเองเรียบร้อยแล้ว

เว็ป https://nsec.app ได้ cert หมดอายุเป็นที่เรียบร้อย

แล้ว google tld (ex. .app .dev) เป็น HSTS Preloading ฝังลงใน browser client

ก็จะไม่สามารถเข้าโดเมนพวกนี้แบบไม่มี cert หรือ cert ไม่ถูกต้องได้เลย 🤣

https://cdn.nostrcheck.me/3464552d14ece7bb7054eef015d4d38c59a90a2e5d0fed19b5b04f7a5607b431/1b0fbe24e7b5fc7187903217bd79446df0bd9d52e7128828de78bf1ce0b24b9d.webp

ระหว่างนั่งฝึก implement nostr ไปทีละ nip แบบ build from scratch

นั่งคราฟ payload ต่อ raw socket ก็มีไอเดียแปลกๆลอยมา

หลายปีก่อนยุค JIB Chain เราเคยนำ USB "4G LTE WiFi modem" ที่มีขายในแอพส้ม,ฟ้า ราคา 1-2 ใบแดง

มาจับลง bootloader + kernel ใหม่ ให้เป็น linux (aka. OpenStick) เพื่อเอามารัน JBC Nodes & Validators แบบประหยัดไฟได้

น่าจับน้องมาปัดฝุ่น เอามารันพวก Signing Relay หรือ Broadcast Relay หรืออะไรก็ได้ ที่เน้นรันตลอดยาวๆที่เก็บข้อมูลไม่เยอะ

น้องกินไฟต่ำมาก ~5w น้อยกว่า Raspberry Pi ซะอีกและราคาถูกมากกก

เผื่อใครสนใจศึกษาตัว OpenStick

https://www.kancloud.cn/handsomehacker/openstick/2636505

https://github.com/OpenStick/OpenStick

https://github.com/HandsomeMod/HandsomeMod

#siamstr

Nostr มี

Signing Device (aka. Serial Bridge NIP-07)

และ Remote Signing (NIP-46)

ถ้าจับรวมกันเป็น Signing Device ที่วิ่งบน Remote Signing ก็คงดี

ถึง Signing Device จะต้องเกาะ wifi ออกเน็ตตลอดเวลาก็เถอะ

ยกเว้นจะเล่นท่ายากให้ Singing Device ตอนเสียบ usb เข้า pc/mobile ให้จำลองตัวเองเป็น networl interface แล้วสร้าง bunker url ที่แนบ local relay พ่นออกมาทาง hid interface ค่ดบ้า

จะได้ plug and play ได้เลยไม่ต้องลง app, extension, driver เพิ่มเติม 🤣

วันนี้อากาศเย็นๆ สมัคร nostr มานานแล้ว อยากมาลองศึกษา เล่นจริงจังละ

ด้วยความอยากทำ app, bot, client บน nostr มานานมากละ

แล้วไม่อยากไปรบกวน relay คนอื่น ก็เลยเปิด relay ขำๆขึ้นมา (มั้ง)

รัน strfry 2 replica ครอบด้วย Traefix เป็น loadbalance + ssl บน docker ง่ายๆ

จริงๆจะมาสารภาพบาป มะกี้ผมเผลอ full sync จาก upstream ไปตอนไหนมะรู้

ที่รู้ๆ 2-3 ล้านกว่าๆ event เข้ามาที่ database relay ผมเรียบร้อย พึ่งเห็นใน log

ถ้าเจ้าของ relay ตามมาจาก Pubkey ที่ Relay ผมไปถล่มมา

ผมขอโทษ 🤣