Desearch - это экспериментальная система для децентрализованной поисковой системы. Для достижения масштабируемости и устойчивости к разломам, Desearch Decougle вычисляет вычисления и хранение с использованием доверенной сети без сохранения и современного облачного магазина. Сеть прослеживается свидетелями, а магазин регулируется блокчейном. Текущая реализация Desearch использует Intel SGX в качестве надежного оборудования и Redis в качестве магазина.
ПРЕДУПРЕЖДЕНИЕ: В этом репошетке прототип академического подтверждения концепции и не получила тщательного обзора кода.
Пожалуйста, обратитесь к нашей бумаге OSDI'21 для получения более подробной информации.
@inproceedings{li2021desearch,
author = {Mingyu Li and Jinhao Zhu and Tianxu Zhang and Cheng Tan and Yubin Xia and Sebastian Angel and Haibo Chen},
title = {Bringing Decentralized Search to Decentralized Services},
booktitle = {15th {USENIX} Symposium on Operating Systems Design and Implementation, {OSDI} 2021},
pages = {331--347},
publisher = {{USENIX} Association},
year = {2021},
}
Требование к аппаратному обеспечению: рабочие столы, способные к SGX, или облачные машины, способствующие SGX. Чтобы проверить, поддерживает ли ваша машина SGX, пожалуйста, обратитесь к оборудованию Intel SGX.
Обратите внимание, что если вы хотите запустить несколько узлов SGX на вашей локальной машине без поддержки масштабируемого SGX, может потребоваться больше времени для начальной загрузки всей системы из -за дефицитной зашифрованной памяти (обычно 128 МБ/256 МБ на SGXV1).
Этот репо предоставляет не-SGX-версию в папке executor и версию SGX в папке sgx-executor . Версия без SGX помогает вам легче отлаживать, если вы хотите создать расширения для Desearch; Он использует ту же структуру папок, что и версия SGX. Обратите внимание, что только версия SGX содержит на основе ORAM запрашиватели.
В соответствии с Ubuntu 20.04, строительство исполнителей Desearch требует установленных следующих депутатов:
Вы можете ссылаться на папку deps для правильных версий Redis, Hieldis и Redis ++.
apt install -y libboost-all-dev
cd deps
tar zxf redis-6.2.6.tar.gz
tar zxf redis-plus-plus-1.2.3.tar.gz
pushd redis-6.2.6/deps/hiredis/
make -j $( nproc ) && make install
popd
pushd redis-plus-plus-1.2.3
mkdir build && cd build && cmake ..
make -j $( nproc ) && make install
popdКанбан - это немодифицированный Redis, который использует относительно дешевое облачное хранилище.
Просто запустите сервер Redis:
cd Kanban
cd deps && make hdr_histogram linenoise jemalloc
cd - && make all
./src/redis-server ./redis.conf Чтобы очистить все штаты из Канбана, вы можете выпустить ./src/redis-cli FLUSHALL .
Менеджер - это специальный исполнитель, который делает Канбан устойчивым к подделкам.
cd manager
make all
./manager Исполнитель состоит из всего поискового конвейера. Этот релиз консолидирует все роли поиска в одном исполняемом файле. Вы можете изменить executor/start.sh чтобы запустить больше исполнителей, как вам нравится.
cd executor
make all
bash ./start.shКлиент - это веб -сервер, который служит записью для Desearch.
cd client
make all
./client Затем дважды щелкните client/index.html или используйте причудливую веб -запись client/WebUI/index.html .


Чтобы продлить настройку WAN, вам необходимо изменить несколько конфигураций сети:
config.hpp : изменить KANBAN_ADDR на глобальный публичный IPexecutor/start.sh : изменить IP -адрес QUERIER на публичный, который могут достичь клиентовСм. Исполнитель/readme.md
Mulanpsl-2.0 (см. Здесь)