บทความ
ไม่ว่าจะ ข่าวสาร บทสัมภาษณ์ และ Digital Skill บนสื่อ
มีให้คุณได้อ่านบทความดี ๆ มากมายแล้วที่นี่
โดย: สุวิชา บัวคอม
| Security
Introduction to cryptography
คุณรู้ตัวหรือเปล่าว่าในชีวิตประจำวันคุณได้ใช้การเข้ารหัสโดยที่คุณไม่รู้ตัว หรืออาจจะรู้ตัวในบางเรื่องที่เราเข้าใจการทำงานของสิ่งนั้นแล้ว สาเหตุหลักที่ทำให้คุณไม่รู้ตัวว่าคุณได้ใช้การเข้ารหัสก็เพราะว่า ปัจจุบันมีสิ่งอำนวยความสะดวกมากมายโดยส่วนมากจะมาในรูปแบบของโปรแกรมประยุกต์ (Application) เช่น ตอนที่สมัครใช้งานระบบต่างๆบน application หรือ เว็บไซต์ (website) จะมีช่องให้กรอกรหัสผ่าน (password) เราก็ใส่รหัสผ่านของเราลงไปโดยไม่รู้เลยว่าปลายทางที่รับรหัสผ่านของเราไปเก็บจะมีการเข้ารหัสหรือไม่ ตอนที่เราส่งข้อความหาเพื่อนจริงๆแล้วมีหลายขั้นตอนมาก เริ่มจากที่เราสั่งงาน application ของเราให้ส่งข้อความไปหาเพื่อน ข้อความจะถูกส่งผ่านระบบ Internet ที่เราเชื่อมต่ออยู่ และเพื่อนของเราก็รับข้อความที่เราส่งโดยไม่รู้เลยว่าระหว่างทางที่ส่งมามีคนสามารถแอบอ่านข้อมูลของเราหรือไม่และข้อความของถูกเข้ารหัสไว้อย่างปลอดภัยหรือเปล่า ในบางครั้งเราก็อยากเก็บข้อมูลที่เป็นความลับไว้ในคอมพิวเตอร์ของเราไม่ให้คนอื่นมาเข้าถึงข้อมูลของเราได้ ถึงแม้ว่าขโมยเครื่องของเราไปแล้วแกะเอาฮาร์ดดิส (harddisk) ไปเปิดดูก็ตามถ้าเรารู้และเข้าใจการเข้ารหัสอย่างถูกวิธี เราก็เก็บข้อมูลลับหรือภาพลับไว้ในเครื่องเราได้อย่างสบายใจ ไม่ต้องกังวลอะไรตัวอย่างที่ยกมาด้านบนนี้กล่าวถึงการนำศาสตร์การเข้ารหัสไปช่วยในการทำให้ข้อมูล เป็นความลับ (confidentiality) นอกจากจะนำศาสตร์นี้ไปใช้ทำให้ข้อมูลเป็นความลับแล้วยังสามารถนำไปใช้ในเรื่องของความครบถ้วนสมบูรณ์ (integrity) ของข้อมูลเพื่อให้แน่ใจว่าข้อมูลไม่ถูกแก้ไขระหว่างทางที่ส่งมาหาเรา และการรับรองความถูกต้อง (authenticity) เพื่อยืนยันว่าข้อมูลที่เราได้รับมาเป็นของจริงที่ถูกส่งมาจากต้นทางตัวจริง ขอเกริ่นคร่าวๆไว้เท่านี้ ต่อไปจะเริ่มลงเนื้อหาเชิงวิชาการ
โดย: Pii Khunanupabkhun
| Blockchain
20 โปรเจคบล็อคเชน ที่มีคนช่วยกันดันมากที่สุด
ปกติเวลาเราจะเช็คดูว่าโปรเจคไหนที่ดูน่าเชื่อถือมากที่สุดในปัจจุบันปี 2562 หนึ่งในวิธีที่ง่ายและมีประสิทธิภาพมากคือการไปดูประวัติการทำงานที่ใน github ของโปรเจคนั้นๆ โปรเจคไหนมีคนออกความเห็น มีประวัติการพัฒนาและแก้ไขโค้ดอยู่เนืองๆ ไม่นานจากปัจจุบัน โปรเจคพวกนั้นคือโปรเจคที่ยังมีชีวิตอยู่ มีคนใช้งานหรือมีคนฝากความหวังไว้กับมันอยู่ ถ้าโปรเจคไหนเหลือคนทำแค่ไม่กี่คน แปลว่าโปรเจคนั้นถูกพัฒนาจนถึงขีดสุดไปเรียบร้อยแล้ว หรือไม่ก็ไม่มีใครสนใจแล้วเว็บ state of the dapps ช่วยเรียงลำดับโปรเจคบล็อคเชนที่มีศักยภาพมากที่สุดไว้ โดยดูจากปัจจัยต่างๆ ทั้งจาก github จำนวนคนใช้ และมูลค่าของโปรเจคในปัจจุบัน โดยโปรเจคเหล่านี้ถูกพัฒนาอยู่บนเชนต่างๆเช่น Ethereum, EOS, Steem and xDai ซึ่งทำให้เราพอมองเห็นภาพรวมของโลกบล็อคเชนในขณะนี้ได้นั่นเองในบรรดา 20 โปรเจคต่อไปนี้ มีโปรเจคที่สร้างบน Ethereum อยู่ถึง 16 โปรเจค ตัวเลขนี้ถึงแม้ว่าจะเป็นเพียงส่วนหนึ่งของทั้งหมดในโลกบล็อคเชน แต่ก็ยากจะปฏิเสธได้ว่า Ethereum จะเป็นเชนที่มีบทบาทสำคัญต่อไปในอนาคตอย่างแน่นอน20 อันดับโปรเจคบล็อคเชน เรียงตามจำนวนประวัติการพัฒนาล่าสุด 30 วัน จากเว็บ state of the appStatus แพลตฟอร์มระบบให้คนมาพัฒนาต่อยอดเป็น แอพแชท บราวเซอร์ เว็บไซท์ ต่างๆ ทั้งในมือถือและในจอคอม มี Ethereum เป็นแกนCosmos ตั้งเป้าเป็นระบบแกนของเว็บไซท์ยุคใหม่ในอนาคตทั้งหมด โดยเป็นบล็อคเชนที่ใช้อัลกอริทึม Tendermint ที่ผ่านการต่อบล็อค(ขุดเหมือง)ด้วย Proove of Stake High Fidelity สังคมโลกเสมือน ที่ๆเราสามารถนัดเจอใครก็ได้ผ่านหน้าจอคอม โปรเจคเป็น Vertual Reality สร้างบน EOSARK เป็นบล็อคเชนที่มีเป้าหมายในการเป็นผู้นำในวงการ ตัวเชนเองใช้ DPos(Deligated Proove of Stake) เป็นระบบในการต่อบล็อคGnosis ถูกสร้างมาเพื่อให้ผู้ใช้ ใช้ทำนายพยากรณ์ข้อมูลต่างๆ ซึ่งมีมูลค่ามหาศาลสำหรับผู้ที่มีความเชี่ยวชาญในแต่ละสาขาชีพ โปรเจคนี้ถูกพัฒนาบน EthereumStorj ระบบเก็บข้อมูลคลาวด์ เปิดให้ผู้ที่สนใจสามารถสร้างรายได้โดยใช้พื้นที่ไม่ได้ใช้ในคอมพิวเตอร์ตัวเองเป็นที่เก็บข้อมูลให้คนอื่นOrigin Protocol ตลาด e-commerce ที่สร้างบน EthereumAragon แอพการจัดการและการบริหารสำหรับภาครัฐและเอกชน สร้างบน EthereumeSteem แพลตฟอร์มลงแสดงผลงานและสื่อต่างๆ เช่น รูปภาพ ความเห็นบทความ หรือคลิปวีดีโอ สามารถสร้างรายได้ให้กับผู้มีผลงานโดดเด่น Augur แพลตฟอร์มแห่งการทำนายอนาคตที่สามารถวางเงินเดิมพันในเรื่องที่ทายได้ สร้างบน EthereumSimple Token การจัดการมูลค่าของธุรกิจ หรือบริษัทในรูปแบบ digital token เน้นที่ความเสถียรในการใช้งานจริงผ่าน EthereumDecentraland โลกเสมือนสร้างบน Ethereum อสังหาริมทรัพย์ในโลกดิจิตอลSingularityNET ชุมชน AI โลก บันทึกและวิเคราะห์ข้อมูลผ่าน Ethereum เพื่อ AI ที่มีประสิทธิภาพมากที่สุดMetaMask กระเป๋าเงินดิจิตอลสำหรับเหรียญคริปโตที่สร้างบน Ethereum0x ตลาดซื้อขายเหรียญคริปโต สร้างบน Ethereum (ตลาดทั่วไปใช้ database ของตัวเอง)Aion Network ระบบแพลตฟอร์มให้คนมาพัฒนาแอพต่างๆ ลงบน EthereumOmiseGO ระบบการเงินแห่งโลกอนาคต ทำงานบน Ethereum วิจัยและพัฒนาเทคโนโลยี Ethereum เพื่อให้มีประสิทธิภาพเพียงพอต่อการใช้งานจริงในทุกอุตสาหกรรมRaiden Network ระบบการเงิน ที่ทำงานนอกเชน และค่อยนำมาสรุปใส่ Ethereum อีกที ทำให้การโอนเงินแต่ละครั้งรวดเร็วและลดค่าธรรมเนียมได้มหาศาลSelf key ระบบระบุตัวตนและจัดการข้อมูลส่วนตัวบน EthereumBasic Attention Token ระบบกระจายรายได้ค่าโฆษณาต่างๆคืนแก่ผู้บริโภคผู้รับเสพโฆษณานั้น สร้างบน Ethereum
โดย: Laris
| IoT
เรียนรู้โลกของ IoT และรู้จักกับ IoT Reference Model
สวัสดีผู้อ่านทุกท่านค่ะ วันนี้ผู้เขียนจะมาพูดถึงการพัฒนา หรือเขียนโปรแกรมในระบบ IoT กันนะคะ โดยเราจะเริ่มกันที่ทฤษฎี หรือ Reference กันสักนิดนึงก่อน แล้วจะค่อยๆลงไปทางการเขียนโปรแกรม ทั้งเรื่อง MQTT Protocol, Arduino Framework, HomeAssistant และอื่นๆ กันอีกต่อไปค่ะ สำหรับวันนี้เรามาเริ่มกันที่ IoT Reference Model กันก่อนนะคะในระบบ IoT หรือ Internet of Things นั้น โดยรวมแล้วเราจะต้องมีองค์ประกอบอย่างน้อย 3 ส่วนนี้เสมอThingsCommunication & DataApplicationแต่ว่าในปัจจุบัน เรายังไม่มี การกำหนด Standard Model ให้กับ IoT พูดง่ายๆก็คือ ยังไม่มีใครเข้ามากำหนดมาตรฐานต่างๆให้กับ IoT เหมือนเช่นใน Network Communications ที่มีทั้ง OSI Model หรือ TCP/IP Protocol Suite ใช้สำหรับอ้างอิง จึงทำให้ IoT มีคำนิยามต่างกันไปตามบริบทที่ต่างกัน ซึ่งในบทความนี้ผู้เขียนจะอ้างถึง Internet of Things ในฉบับของ Internet of Things World Forum​ (IoTWF) กันนะคะ และเราจะใช้เป็น Reference Model เพื่อให้มีความเข้าใจตรงกัน เวลาเราพูดถึง IoT และ IoT EcosystemIoT World Forum ได้แบ่ง IoT Ecosystem เป็น 7 เลเวล ซึ่งในแต่ละเลเวลจะมีคำนิยาม และ หน้าที่ของตัวเอง และ บทบาทที่เกี่ยวข้องกับเลเวลถัดไป ดังนี้1. Physical devices & controllersPhysical devices และ controllers ที่ใช้ควบคุม device เหล่านี้คือสิ่งที่ถูกเรียกว่า ‘Things’ ใน IoTเนื่องจากไม่มีกฎตายตัวว่า Devices พวกนี้จะต้องมีไซส์ใหญ่เล็กแค่ไหน หรือว่า ผลิตจากแหล่งไหน IoT References Model จึงได้กำหนดความสามารถเบื้องต้นของอุปกรณ์ที่จะสามารถเรียกว่าเป็น Device ใน IoT ว่า Device ต้องมีควมสามารถในการเปลี่ยนจาก analog เป็น digital ได้ สามารถผลิต data ได้ และ สามารถเรียกข้อมูล และ สามารถถูกควบคุมผ่าน Internet ได้2. Connectivityสิ่งสำคัญในเลเวลนี้ก็คือ การรับส่งข้อมูลได้ถูกต้องภายในระยะเวลาที่กำหนด การรับส่งข้อมูลนี้รวมไปถึง การรับส่งระหว่างอุปกรณ์ในเลเวล 1 และ Network หรือ ระหว่าง Network ด้วยกัน หรือ ระหว่าง Network ในเลเวลนี้ และ เลเวล 3 ที่อยู่ถัดไปนอกจากนั้น ในเลเวลนี้ยังมีการนำ Protocols หลายชนิดมาใช้ ซึ่งจำเป็นต้องมีการแปลความหมายของ Protocol แต่ละชนิด เพื่อให้สามารถทำงานร่วมกันได้ เพราะ Protocol ต่างชนิดกัน จะมีการสื่อสารและแปลความหมายแตกต่างกันไป รวมไปถึงเรื่อง Security ในระดับ Network อีกด้วย และในเลเวลนี้ Network เองก็จะเรียนรู้เกี่ยวกับ Network Anaylytics ด้วยตัวเอง (Self Learning)3. Edge (Fog) Computingในเลเวลนี้ข้อมูลจะถูกคัดกรอง รวบรวม และ ย่อยให้เป็นข้อมูลที่ถูกต้องและเหมาะสมกับการจัดเก็บ และ ถูกนำไปใช้ในเลเวลถัดไป (Data Accumulation)4. Data Accumulationในเลเวลนี้ข้อมูลจะถูกทำให้อยู่ในสภาวะที่เสถียรที่สุด ไม่มีการเปลี่ยนแปลง (at rest) และจะถูกจัดเก็บไว้ใน Memory หรือ Disk ซึ่งเป็นข้อมูลที่สามารถนำไปใช้กับ Application ที่ไม่ใช่แบบ Real Time (non-realtime basis) นั่นหมายความว่า Application สามารถเข้าถึงข้อมูลเหล่านี้ได้ตลอดเวลาที่ต้องการจะเห็นได้ว่าหน้าที่หลักของเลเวลนี้คือการเปลี่ยนข้อมูลให้อยู่ในรูปแบบที่สามารถเรียกดูได้ (Query-Based) ซึ่งมีความสำคัญต่อการเชื่อมต่อระหว่าง Real-Time Network และ Non-Real-Time Applications5. Data Abstractionเนื่องจากข้อมูลที่ได้มาจากอุปกรณ์หลากหลายชนิด หลากหลายที่ และ ด้วยความหลากหลายนี้ทำให้ข้อมูลเหล่านี้ไม่สามารถถูกจัดเก็บไว้ที่แหล่งจัดเก็บข้อมูลที่เดียวกัน ได้ทั้งหมด ซึ่งมีหลายสาเหตุที่เป็นไปได้ เช่น ข้อมูลที่เยอะเกินไปสำหรับจัดเก็บไว้ที่เดียว ดังนั้นหน้าที่หลักของเลเวลนี้คือการจัดการข้อมูลแล้วแหล่งจัดเก็บที่เหมาะสมกับข้อมูลเพื่อให้ง่ายสำหรับการพัฒนาและเพิ่มประสิทธิภาพให้กับ Application ที่ใช้งานข้อมูลเหล่านี้6. Applicationสำหรับ เลเวลนี้ IoT Reference Model ไม่ได้กำหนดตายตัว ซึ่ง Application เหล่านี้สามารถเป็นได้ตามแต่ลักษณะของข้อมูลจากอุปกรณ์นั้นๆ หรือ แล้วแต่ความต้องการทางธุรกิจ ตัวอย่างเช่น Applicaiton บางกลุ่มก็จะเน้นเฉพาะไปที่ข้อมูลที่ได้จากการ Monitoring หรือ Controlling บางกลุ่มมีการรวบรวมข้อมูลที่มาจากตัวอุปกรณ์เอง หรือจากอุปกรณ์อื่นก็ได้ทั้งสิ้น7. Collaboration & Processesในเลเวลนี้ หลักๆจะเป็นความเกี่ยวข้องของผู้ใช้และ IoT System ที่มีผลในเชิงธุรกิจ ให้มีประสิทธิภาพที่สุดจะเห็นได้ว่าแต่ละเลเวล ตั้งแต่เลเวลล่างสุด (เลเวล 1) จนถึงเลเวลสูงสุด(เลเวล 7 ) มีความสัมพันธ์ที่เห็นได้ชัดเจนเลยคือ อุปกรณ์ (Devices) เป็นตัวรับและส่งข้อมูล ซึ่งเชื่อมต่อกับ Network และ Network จะส่งต่อข้อมูล โดยผ่าน Edge Computing ก่อนที่จะจัดเก็บเข้าสู่ Databases เพื่อให้ Applications สามารถดึงข้อมูลมาประมวลผลก่อนที่จะนำเสนอสู่ ผู้ใช้ เพื่อนำไปใช้ประโยชน์ต่อไปหลังจากทำความเข้าใจกับ IoT Ecosystem กันพอคร่าวๆแล้ว ในบทความถัดไปเราจะมาเริ่มต้นความสนุกกับ IoT ในแบบฉบับโปรแกรมเมอร์กันแล้วนะคะ (ไวเนอะ) หลังจากนี้ก็เราจะค่อยๆเรียนรู้จาก Opensource Tools ในโลกของ IoT และการเขียนโปรแกรมไปพร้อมๆกับลงมือทำกันค่ะ

พบบทสัมภาษณ์ได้ที่นี่เร็ว ๆ นี้

พบDigital Skill บนสื่อ ได้ที่นี่เร็ว ๆ นี้