การสร้าง Runtime ที่น่าเชื่อถือสำหรับเว็บส่วนบุคคล

ทีมชุมชน BigGo
การสร้าง Runtime ที่น่าเชื่อถือสำหรับเว็บส่วนบุคคล

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

บริบททางประวัติศาสตร์ของคอมพิวเตอร์แบบคอมโพเนนต์

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

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

ระบบคอมโพเนนต์ในอดีต

  • Konfabulator (2003): เครื่องมือวิดเจ็ตรุ่นแรกสำหรับการปรับแต่งเดสก์ท็อป
  • Opera Widgets (2008): ระบบวิดเจ็ตที่ผสานรวมกับเบราว์เซอร์
  • OpenDoc (1990s): เฟรมเวิร์กเอกสารแบบคอมโพเนนต์จาก Apple
  • OpenSocial (2007-2012): ระบบข้อมูลและวิดเจ็ตข้ามเว็บไซต์
  • W3C Widgets API (2013): ข้อกำหนดมาตรฐานเว็บวิดเจ็ต

ปัญหาความไว้วางใจในการคำนวณสมัยใหม่

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

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

โซลูชันทางเทคนิคที่เกิดขึ้นใหม่

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

คอนเทนเนอร์ทั้งหมดเป็นแบบ distroless ดังนั้นจึงไม่มีใครสามารถ ssh ไปยังคอนเทนเนอร์เหล่านั้นได้ Postgres จะถูกสำรองข้อมูลผ่าน pgBackRest ไปยังที่เก็บวัตถุ Wasabi ด้วยคีย์การเข้ารหัสที่ลูกค้ามอบให้ซึ่งจะถูกฉีดเข้าไปในคอนเทนเนอร์

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

องค์ประกอบสถาปัตยกรรมทางเทคนิคปัจจุบัน

  • Runtime Environment: คอนเทนเนอร์ที่ปลอดภัยสำหรับการรันโค้ดที่ไม่น่าเชื่อถือ
  • Taint Tracking: การควบคุมการไหลของข้อมูลเพื่อทำเครื่องหมายข้อมูลที่มีความละเอียดอ่อน
  • Remote Attestation: การตรวจสอบความสมบูรณ์ของสภาพแวดล้อมการรัน
  • Transparent Data Encryption: การเข้ารหัสฐานข้อมูลด้วยคีย์ที่ผู้ใช้ควบคุม
  • Distroless Containers: คอนเทนเนอร์ขนาดเล็กที่ไม่มีการเข้าถึง shell
  • Network Policies: การจำกัดการสื่อสารขาออก

เส้นทางสู่การรับเข้า

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

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

ความท้าทายทางเทคนิคที่สำคัญ

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

มองไปข้างหน้า

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

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

อ้างอิง: Let the little guys in: Towards a context sharing runtime for the personalised web