Vladimir
опять совпадение х)
Маjко
Так фишка в том, что ты не описал как он всетаки работать будет х) Как будут форки разруливаться если они будут. Кто первый - не выход, так как сеть децентрализована
Можешь пруфануть что это не выход? По мне так вполне себе выход, большинство в сети перевесит и альтернативный форк откатистя
Vladimir
Вот кстати консенсус без PoW
в нем нужны "валидаторы". По факту это централизованная система с несколькими точками отказа.
Маjко
в нем нужны "валидаторы". По факту это централизованная система с несколькими точками отказа.
Валидаторы могут выбираться точно так же автоматически и децентрализовано, иметь ротацию
Tuntz
Нельзя так, используй трейтобъекты
Box<Fail> вместо failure::Error?
Маjко
Box<Fail> вместо failure::Error?
Нет, просто у себя генерик убери
Tuntz
типа `MyError(Box<Debug>)` ?
Маjко
Ох бля
Маjко
Я читаю жопой
Vladimir
Можешь пруфануть что это не выход? По мне так вполне себе выход, большинство в сети перевесит и альтернативный форк откатистя
Ну смотри, чтоб понять выход это или нет, нужно ответить на вопрос: "Что мешает злоумышленнику создать большое количество блоков, из любого места истории" - т.е. создать форк и склонить сеть выбрать этот форк
Маjко
Скорее всего
Маjко
Ничего не мешает и ничего его не остановит
Маjко
Кроме того что это невыгодно или невозможно
Vladimir
Что нужно злоумышленнику, чтобы в одном лице стать этими 51%
Vladimir
вот вопрос х)
Tuntz
так у меня внутри не ошибка ни разу - там задаваемый пользователем контекст, который реализует Debug
Vladimir
если нету PoW то - ничего
Tuntz
или мне всё равно надо к нему Fail херачить?
Маjко
если нету PoW то - ничего
А, я понял твой поинт.
Маjко
Да
Маjко
Проблемка
Vladimir
или мне всё равно надо к нему Fail херачить?
ты реализовал Fail для MyError<T> ?
Маjко
или мне всё равно надо к нему Fail херачить?
Нет. У тебя реализован Fail для MyError<T>?
Tuntz
#[derive(Debug, Fail)] #[fail(display = "MyError: {:?}", _0)] pub struct MyError<Context: Debug + Send>(Context);
Маjко
А точно MyInner реализует Debug + Send?
Tuntz
да
Tuntz
Debug дерайвится, unsafe impl Send ошибку не исправляет
Vladimir
сделай cargo expand
Vladimir
возможно Fail дерайвится с каким-то боундом
Vladimir
для женериков
Vladimir
например impl<T: Fail> for MyError<T>
Маjко
Херня которая разворачивает макросы
Vladimir
cargo install cargo-expand
Vladimir
она ток работает на найтли если че
Маjко
Проблемка
Ну окей, я думаю конкретно в этом случае мы вполне можем позволить себе сделать несколько authority нод
Vladimir
Но нужен ли блокчейн? У карго нет необходимости в иммутабельности
Vladimir
так как нет проблем с доверием
Vladimir
Какие?
Маjко
Левые юзеры не должны менять крейты, например
Vladimir
Левые юзеры не должны менять крейты, например
Проблемы с доверием. Это когда не доверяют централизованному хранилищу
Маjко
Проблемы с доверием. Это когда не доверяют централизованному хранилищу
Дык начался то разговор с того что у нас не централизовано хранилище. Хотя этот вопрос можно решить и без блокчейна, например выпуском сертификатов для подписи с проверкой через мозилловский авторити.
Vladimir
> "у нас не централизован" или централизовано?
Vladimir
Может оно и не должно быть децентрализованным?
Маjко
Тогда пропадает смысл
Маjко
Началось то с того что централизованное РКН забанил
Маjко
Хотя он так и сервер с сертами может побанить
Маjко
Беда
Маjко
А ТОН уже работает?
Крылатый
А он нужен разве?
Маjко
Пашке нужен
Крылатый
Ага, как i2p
Cat
но только "централизующие" ноды же не телефоны (вроде) в пайд пайпере там же смысл в том, что вся нагрузка на телефоны
Cat
ну так вот
Cat
это децентрализация
Маjко
я все посмотрел
Хреново смотрел, там явно было показано, что ноды запускались на серваках
Cat
т.е. пашка-то не distributed предлагает
Cat
Хреново смотрел, там явно было показано, что ноды запускались на серваках
ну вообще я думал мы про ситуацию в hoolie, при демонстрации VR
Cat
тогда ладно, хрен с ним
Tuntz
возможно Fail дерайвится с каким-то боундом
impl<Context: Debug + Send> ::failure::Fail for MyError<Context> where Context: ::failure::Fail, да
Маjко
Box<Debug> в помощь, да..
Tuntz
хммм
Tuntz
Additionally, all types that already implement std::error::Error, and are also Send, Sync, and 'static, implement Fail by a blanket impl.
Маjко
Навесь + 'static
Маjко
На T
Маjко
Можт прояснит
Маjко
Хотя ошибка от этого не исчезнет, да)
Aleksey
Box<Debug> в помощь, да..
извиняюсь, не понимаю, как это должно помочь. можно пояснить?
Vladimir
можешь копипастить из того что заэкспандилось
Evgεny
Я что-то не вдупляю, что с резултом
Evgεny
почему не указан тип ошибки?
Cuno
почему не указан тип ошибки?
потому что это io::Result