REEE (REcommendation Engine Extension)

Пользователи делятся с нами историей просмотров YouTube и получают рекомендации по просмотру видео (что смотрели пользователи с похожими историями), а также получают соответствующее количество наших монет.

прозрачность

Чтобы доказать, что наше расширение для видео-рекомендаций обеспечивает конфиденциальность и заслуживает доверия, мы сделали исходники доступными (без лицензии). Кроме того, оно не требует компиляции – нет обфускации, нет минимизации, нет сборки модулей. Аналогично, смарт-контракт удобен для аудита.

реализация

(В диаграмме есть ссылки – но они работают только при прямом просмотре (right-clickOpen Image in New Tab или что угодно в этом духе) – и он в целом удобнее.)

REEE

Пропущено на диаграмме:

фронтенд (расширение)

Сначала мы хотели создать форк youtube-watchmarker, который “запрашивает” у YouTube историю просмотров. Вскоре мы поняли, что для наших случаев использования лучше “запрашивать” у браузера.

blockchain, smart contract, fungible token

Сначала мы создали совершенно обычную «валюту» ERC20/BEP20, опубликовав в смарт-цепочке BNB Binance совершенно простой смарт-контракт, написанный в Solidity.

К счастью, еще до того, как мы начали его использовать, мы поняли, что существует потенциал для простой и в то же время масштабной оптимизации затрат – одна крупная операция обходится радикально дешевле, чем множество мелких. Итак, мы добавили наши собственные методы – оболочки, которые принимают массивы вместо отдельных значений и вызывают встроенные методы в цикле.

Работая над этим, мы пришли к выводу, что для обеспечения прозрачности простой импорт лучше, чем подход без зависимостей. После этого изменения наши изменения будут единичными и очевидными, а остальное сделает заслуживающая доверия третья сторона с удобным распределением кода по файлам и папкам.

бэкенд

MetaMask-кошелёк

В то время стандарты кошельков находились в зачаточном состоянии, а сами кошельки едва ли пытались помочь в их внедрении. Таким образом, было невозможно поддерживать выбор кошельков без того, чтобы половина кода не состояла из костылей и хаков. В любом случае, только MetaMask пользовался популярностью и имел развитую официальную документацию.

В результате мы использовали eth_signTypedData_v4.

итог

Мы опубликовали бесплатную альфа-версию расширения и попытались продвигать ее в соответствующих группах/хэштегах/разделах социальных сетей. Конечно, вышеупомянутые вознаграждения были частью нашей маркетинговой стратегии. После того, как мы получили разочаровывающее количество пользователей, нам пришлось закрыть проект.

info

link:
https://addons.mozilla.org/en-US/firefox/addon/recommendationengine/
client:
Woj
date:
2021-09–2022-01
role:
разработка всего, что выходит за рамки непосредственно механизма рекомендаций по видео