Reputation System for Online Communities (in Russian)
Anton Kolonin, Ben Goertzel, Deborah Duong, Matt Ikle, Nejc Znidar
РРепутационная система для онлайн-сообществ
Антон Колонин , Бен Герцель , Дебора Дуонг , Мэтт Айкл , Нэйт Знидар Aigents, Новосибирск, Россия ФондStitching SingularityNET, Амстердам, Нидерланды{anton, ben, deborah, matt}@singularitynet.io
Аннотация.
Понимание принципов консенсуса в сообществах инахождение путей для нахождения решений оптимальных сообщества вцелом становится критически важным по мере увеличения скоростей имасштабов взаимодействия в современных распределенных системах.Такими системами могут являться как социально-информационныекомпьютерные сети, объединяющие массы людей, так и много-агентныевычислительные платформы, в том-числе — одно-ранговые, действующиена основе распределенных реестров. Наконец, в настоящее времястановится возможным появление гибридных экосистем, которыевключают и человека, и компьютерные системы с использованиемискусственного интеллекта. Мы предлагаем новую форму консенсуса дляподобных систем, основанную на репутации участников, вычисляемойсогласно принципу «текучей демократии». Полагаем, что такая системабудет иметь большей сопротивляемостью к социальной инженерии иманипуляцией репутацией, чем у действующих систем. В этой статье мыобсуждаем основные принципы и варианты реализации такой системы, атакже представляем предварительные практические результаты.
Ключевые слова : коллективный интеллект, консенсус, одно-ранговыевычисления, распределенные системы, репутация, социальныевычисления, текучая демократия Введение и предпосылки
Начиная с появления децентрализованных и распределенных компьютерныхсистем без централизованного управления, стало понятно, что надежностьопределения репутации участников представляет собой серьезную проблему, иэта проблема была объектом всестороннего изучения [1]. Надежное решение поопределению репутации узла вычислительной сети оказывается критичным дляодно-ранговых систем, в которых каждый узел может взаимодействовать слюбым другим узлом в сети [2]. Стандартные теоретические основы длянахождения решения связаны с так называемой «задачей византийскихгенералов», где переменное число участников с переменными уровнями довериянезависимо голосует для достижения консенсуса по решению, которое вноситсяв публичный реестр, чтобы все сообщество узнало об этом решении и чтобы эторешение было для него благоприятным [3]. Поскольку уровень доверия каждогоузла системы заранее неизвестен, необходимо снизить риск воздействия напринятие решения со стороны узлов-«предателей», которые пытаются повлиятьна консенсус в пользу враждебной части сообщества, одержав верх надостальными членами. В существующих распределенных вычислительныхсистемах, основанных на технологии блокчейн, применяются различныеалгоритмы достижения консенсуса, использующие различные формывзвешенного голосования, каждая из которых предлагает определеннуюэвристику, какое качество узла в компьютерной сети можно использовать, чтобыдогадаться о его ожидаемом уровне доверия [4].Для построения любых систем коллективного интеллекта или простоколлективного принятия решения при большом числе участников и отсутствиюжесткой иерархической управляющей структуры («вертикали власти»),необходимы как достаточная автономность в выработке собственных вариантоврешений каждым и участников, так и возможность быстрого и надежногоопределения общественного консенсуса в пределах всей системы. Дляредотвращения злоупотреблений и манипуляций в подобной распределенноймного-агентной сети необходима высококачественная репутационная система.Например, в создаваемой системе общего искусственного интеллекта (ОИИ)SingularityNET, обеспечение высоко-надежного репутации требуетискусственного интеллекта (ИИ) само по себе, что ведет к взаимной рекурсиимежду ОИИ и оценкой репутации в распределенных системах ИИ. Такимобразом, умение построить надежную систему исчисления репутацииучастников является критически важным для решения проблем ОИИ, и любаяпарадигма ОИИ должна тем или иным образом решать "проблему доверия" вотношениях между элементами много-агентной системы. Мы полагаем, чторешение состоит из двух частей - А) относительно простой базовый алгоритмдля определения репутации как «уровня доверия» между участниками впростых общих случаях и Б) система, которая занимается верификацией оценокна основе базового алгоритма на основе методов ИИ, для более сложныхслучаев. Из описания очевидно, что подобное решение могло бы бытьвостребовано не только для обе спечений консенсуса в системахраспределенного ИИ, но и в существующих человеческих онлайн-сообществах,а также в грядущих смешанных человеко-машинных экосистемах.
Рис.1.
Типы консенсуса в распределенных системах .
Большинство алгоритмов достижения консенсуса, обсуждавшихся впредыдущих работах [4] и внедренных в существующие популярныераспределенные вычислительные системы, такие как Ethereum и Bitcoin,подвержены взлому при известных обстоятельствах. Алгоритмом достиженияконсенсуса, называемым «доказательство права работой» или Proof-of-Work(POW), где участник системы голосует вычислительной мощностью, которой онвладеет, может злоупотребить общество союзников, которые смогут в нужныймомент сконцентрировать свыше 51% компьютерной мощности для достиженияконсенсуса в свою пользу. С исторической точки зрения на человеческоесообщество, данный алгоритм соответствует «праву силы», характерному длябольшинства древних сообществ и животных стай и стад. Еще один известныйалгоритм достижения консенсуса, называемый «доказательство правафинансовой ставкой» или «Proof-of-Stake» (POS), подразумевает голосованиесуммой финансовых средств, которыми владеет каждый участник. Этоаналогично консенсусу в современных капиталистических обществах с «правоменег», где «богатый всегда богатеет». Такое решение приводит постепенно кглубокому разрыву в доходах, при котором со временем один участник илигруппа участников, сконцентрировавших достаточные средства, могут повлиятьна достижение консенсуса исключительно в личных интересах, а не интересахвсего сообще ства. Усовершенствованная версия POS, называемая«делегирование права доказательства финансовой ставкой» или «Delegated-Proof-of-Stake» (DPOS), предполагается как решение последней проблемыявным делегированием права управлять «делегатам», назначеннымучастниками, владеющими большими долями, но это лишь приводит к ручномуконтролю над распределенной системой. В настоящей работе мы предлагаем, по нашему мнению, болееперспективную версию алгоритма достижения консенсуса, называемую«доказательство права репутацией» или «Proof-of-Reputation» (POR), котораяможет быть использована для построения «репутационного консенсуса» иликонсенсуса, основанного на репутации. В этом случае, возможности участникаповлиять на достижение консенсуса могут определяться суммой репутации,социальным капиталом или «кармой», фактически заработанной участником впроцессе взаимодействия с другими участниками в указанный период времени,принимая во внимание репутации самих этих участников [5]. Описываемыйниже алгоритм реализует это на основе принципа «текучей демократии», гдеголоса одних участников неявно влияют на голоса других, перетекая в них, иназывается алгоритмом «текучего ранжирования» или «liquid rank». Побочным эффектом возможности вычислить надежный социальныйконсенсус в сообществе участников является способность выявить надежностькаждого из участников, поддерживая наиболее эффективные и безопасныекоммуникации между ними. Мы указывали на это в нашей предыдущей работепо разработке системы репутации для децентрализованного рынка услугискусственного интеллекта, называемого SinglularityNET [6]. Доказательствоправа репутацией предоставляет возможность измерить и отследить динамикуразвития репутации каждого участника общества. Это может быть применимо клю б ом у об ще с т ву и н т е лле ктуа ль н ых а ге н тов, ре а ль н ых люд е й ,взаимодействующих в социально-информационных сетях в среде Интернету,или даже гибридным человеко-машинным сообществам [7]. Вычислительныерешения построенные на основе описываемой технологии могут быть отнесенык классу «социальных вычислений» либо сама социальная средарассматривается как средство распределенных вычислений репутаций каждогоэлемента этой среды. Алгоритм расчета репутации
Описанный ниже алгоритм вычисления репутации основан на методахвычисления количественных характеристик элементов графов в социальныхсетях, опубликованных в более ранних работах [7,8,9], адаптированных кпроблеме расчета социальных репутаций для выстраивания лучшего алгоритмадостижения консенсуса [3,4,5,6]. Репутацию R i (t) участника общества i в момент времени t можно вычислитьинкрементально, на основании его репутации в предшествующий моментвремени R i (t-1) либо, в случае отсутствия таковой, определенной репутации поумолчанию Rd, принятой за его изначальную репутацию . Изменения врепутации участника i могут быть вызваны различного рода рейтингами(оценками), выпущенными множеством других участников j в отношенииконкретного аспекта репутаций k и конкретной предметной категории репутации c. Предполагается, что аспект k э т о стандартный критерий типа скоростиобслуживания, качества или доброжелательности, в то время как категория c может указывать на область компетенции участника, например, живопись,финансовый прогноз или доставка пиццы.ейтинги можно разделить на два вида. Первый – удостоверяющие рейтингитипа «ставка» S ijkc , которые могут присутствовать или отсутствовать в любоймомент времени t , которые j может присуждать i или отбирать у него. Далее,существуют транзакционные рейтинги F ijkce , которые можно регистрировать вистории взаимодействий участников и которые ассоциируются либо сфинансовыми транзакциями от j к i (финансовые рейтинги), либо с актамиголосования (рейтинги голосования) в отношении конкретных событий e(t) ,таких как публикации, посты, комментарии, номинации или задачи иобязанности, которые имеет i по отношению к j . Большинство рейтингов могутбыть явными или неявными. Явные рейтинги голосования имеют оценочноезначение, выраженное как позитивное, негативное или в виде любого числа наопределенной шкале, в то время как неявные представляют собой комментариии обзоры j в отношении i , где истинное значение рейтинга нужно определять изсреды, используемой для комментария или обзора, такой как текст наестественном языке. Удостоверяющие рейтинги S ijkc могут подкреплятьсястоимостью финансовой доли Q ij или нет. В последнем случае удостоверяющиерейтинги соответствуют «подписке» или «дружбе» в социальных сетях.Рейтинги голосования по транзакциям F ijkce могут подкрепляться финансовойценностью G ije или нет. Например, ценность голоса участника j в отношенииквалификации поставщика услуг i может усиливаться с учетом стоимости всейуслуги e(t) в рамках системы, где учитываются сделки по услугам илипоставкам товаров и вычисляются репутации поставщиков. Е с л и жеголосование не подкреплено финансовой ценностью, то оно соответсвуетотметке «нравится» в социальны сетях.Значения рейтинга можно определять в границах от -1 до для негативных ипозитивных рейтингов, а для целей визуализации их можно определять от -5 до , от до или в любых других границах, которые кажутся удобными длявосприятия в той или иной системе. Что касается финансовых рейтингов, топроведение упоминаемых ниже опытов с блокчейном Ethereum показало, чтожелательно стандартизировать нелинейные распределения финансовойценности транзакций с помощью логарифма следующим образом: F’ ijce = log (F’ ijce )/MAX(log (F’ ijce )) Рейтинги для различных аспектов k можно смешивать, чтобы сделать выводоб общей репутации, используя системный параметр смешивания H k . Затемследующие формулы помогут выявить дифференциальную репутацию в моментвремени t n как относительное улучшение репутации из-за удостоверяющие dSi(t n-1 ,t n ) и транзакционного dFi(t n-1 ,t n ) компонентов, где t для событий e(t) варьируется в пределах от t n-1 до t n . dS i (t n-1 ,t n )=Σ k (H k *Σ jct (S ijkc (t n )*Q ijc (t n )*R j (t n-1 ))) / Σ jct (Q ijc (t n )*R j (t n-1 )))/Σ k (H k )dF i (t n-1 ,t n )=Σ k (H k *Σ jct (F ijkce (t)*G ijce (t)*R j (t n-1 ))) / Σ jct (G ijce (t)*R j (t n-1 )))/Σ k (H k ) В упрощенном виде, когда не рассматриваются никакие аспекты иликатегории, улучшение репутации одобрения или транзакции можно упростить,как указано ниже. dS i (t n-1 ,t n )=Σ jt (S ij (t n )*Q ij (t n )*R j (t n-1 )) / Σ jt (Q ij (t n )*R j (t n-1 ))dF i (t n-1 ,t n )=Σ jt (F ije (t)*G ije (t)*R j (t n-1 )) / Σ jct (G ije (t)*R j (t n-1 )) На практике можно применять либо удостоверяющую репутацию, либотранзакционную репутацию. Если используются обе, смешанное улучшениерепутации можно рассчитать, используя смешивающие коэффициенты S и F длякаждого вида репутаций, соответственно . dP i (t n-1 ,t n ) = (S * dS i (t n-1 ,t n ) + F * dF i (t n-1 ,t n )) / (S + F) ифференциальную репутацию можно дополнительно нормализовать,максимально улучшив лучшую репутацию за период времени в интервале от 0.0до 1.0 : P i (t n-1 ,t n ) = dP i (t n-1 ,t n ) / MAX i (ABS(dP i (t n-1 ,t n ))) Основываясь на репутации, заработанной в предыдущий период с t o до t n-1 , новую репутацию за последнее время t n можно рассчитать, смешав предыдущуюценность репутации с дифференциальной . R i (t n ) = (( t n-1 - t o ) * R i (t n-1 ) + ( t n - t n-1 ) * P i (t n-1 ,t n ) ) / ( t n – t o ) Как выяснилось во время экспериментов, которые мы обсудим ниже,линейное вычисление репутации при его применении к экспериментальнымсообществам дает достаточно нелинейное распределение ценностей репутациив сообществе, когда высокие оценки имеют очень немногие члены, а уостальных членов сообщества репутации равны нулю. Для улучшенияраспределения для практических целей неотрицательную логарифмическуюдифференциальную репутацию можно рассчитать следующим образом, поэтомув двух вышеуказанных формулах lP i (t n-1 ,t n ) можно использовать вместо dP i (t n-1 ,t n ) . lP i (t n-1 ,t n ) = SIGN(dP i (t n-1 ,t n )) * log (1+ABS(dP i (t n-1 ,t n ))) Нашу методику оценки репутации можно преобразовать, чтобы заработаннаярепутация ухудшалась быстрее или медленнее. Мы можем применитьдополнительные смешивающие коэффициенты к самому последнему важномуинтервалу времени и к более ранним интервалам времени при расчете R i (t n ) , чтобы ценность ранее заработанной репутации могла ухудшаться быстрее илимедленнее после того, как её скорректировали с последней дифференциальнойрепутацией . Также возможно рассчитать более детальную структуру репутации, дляразличных аспектов или категорий, как мы покажем ниже на примеретранзакционной дифференциальной репутации. На основании этих идей можнорассчитать более точные репутации R ic (t n ), R ik (t n ) и R ikc (t n ) внутри общества . dF ic (t n-1 ,t n )=Σ k (H k *Σ jt (F ijkce (t)*G ijce (t)*R j (t n-1 ))) / Σ jt (G ijce (t)*R j (t n-1 )))/Σ k (H k )dF ik (t n-1 ,t n )=Σ jct (F ijkce (t)*G ijce (t)*R j (t n-1 )) / Σ jct (G ijce (t)*R j (t n-1 ))dF ikc (t n-1 ,t n )=Σ jt (F ijkce (t)*G ijce (t)*R j (t n-1 )) / Σ jt (G ijce (t)*R j (t n-1 )) Варианты реализации и практического применения
Положения и элементы алгоритма, предложенные выше, могут бытьреализованы и использованы многими способами, в зависимости от решений,принятых относительно временных интервалов расчета репутации, а такжевариантов обеспечения вычислений и хранения полученных данных, как будетрассмотрено ниже. В конце мы введем понятия «
Репутационный консенсус » и«
Доказательство права репутацией » и «
Репутационный майнинг ». Определение временных интервалов
Работа репутационной системы будет зависеть от определения границ временина основании охвата времени между циклами оценки репутации во временнойпромежуток от t n-1 до t n .С одной стороны, возможен перерасчет « за весь период существования »,когда учитываются все рейтинги между t и t n . В этом случае есть возможностьучесть прошлые изменения в истории рейтинга при последующих перерасчетах.Однако это гораздо дороже и занимает больше времени. Также в этом случаенельзя достичь ухудшения репутации, как это было указано выше, иотребуется усложнение функций дифференциальной репутации, что приведетк появлению дополнительной, ограниченной во времени весовой функции, чтобудет придавать больший вес более недавним рейтингам. С другой стороны, может быть « мгновенно-инкрементальный » перерасчет,где временные интервалы между t и t n соответствуют интервалам междупоследующими транзакциями, поэтому каждая транзакция влияет на глобальноеизменение репутации. В этом случае отсутствует отсрочка в изменениирепутации, но применение этого в распределенной среде может оказатьсясовсем не тривиальным. Вместе с тем это может оказаться благоприятным дляраспределенных систем, не основанных на технологии блокчейн. Может быть реализован и « практически-инкрементальный » перерасчет,промежуточный между предыдущими двумя, где временные интервалы между t и t n – это года, кварталы, месяцы, недели, дни и т.д. Это более эффективный ибыстрый способ, однако, изменение репутации может быть отсрочено, устаретьближе к концу интервала перерасчета. И, наконец, есть нечто среднее между двумя последними способами, такоекак « поблочно-инкрементальный » перерасчет, при котором используютсяблоки последних последующих транзакций для определения временногоинтервала. Внедрение этого способа в распределенные системы на основеблокчейн может оказаться вполне практичным. Варианты обеспечения репутационных вычислений
С т оч к и з р е н и я п од д е р ж а н и я с у щ е с т ву ю т ц е н т р а л и з о в а н н ы й ,децентрализованный и распределенный варианты. При « централизованном » варианте все репутации рассчитываются однойстороной или системой, которую назначило и которой доверяет сообщество,называемое Централизованное Репутационное Агентство.При « децентрализованном » варианте все репутации рассчитываютсямногими сторонами или системами, которым эту функцию доверилосообщество, причем система из нескольких участвующих сторон можетназываться Децентрализованных Репутационным Агентством. В этом случаесуществуют еще два варианта. Первый - когда все агентства должны достичьконсенсуса по текущему состоянию репутации, поэтому их можно назватьДецентрализованным Координированным Репутационным Агентством. Второйвариант – когда все они независимо поддерживают репутации, и в этом случаеони будут являться Независимыми Децентрализованными РепутационнымиАгентствами.В случае « распределенного » варианта все участники сообщества отвечаютза расчет репутаций, например, как в блокчейне, где все участники сообществамогут отвечать за регистрацию и проверку транзакций. В этом случае такжевозможно либо достичь скоординированного консенсуса всех участников посостоянию репутаций («координированное агенство»), либо каждый будетиметь личную точку зрения на репутацию других («независимые агенства»).
Варианты хранения репутационных данных
При любом из вышеописанных вариантов возможно несколько подходов кхранению репутационных данных, а именно, они могут быть транзитными, слокальным постоянного хранением или глобальным постоянным хранениемдецентрализованным или распределенным способом. В « транзитном » варианте все репутации всегда рассчитываются «на лету»вместе с доступными данными по удостоверениям и транзакциям. В случае« локального постоянного хранения » все вычисляемые репутации хранятся влокальном хранилище специально сформированного Репутационного Агентстваили любого участника системы, без необходимости синхронизировать данныепо статусу репутационной системы с другими участниками. Что касается« глобального постоянного хранения », то репутационные данные в этомслучае поддерживаются децентрализованным или распределенным способом вовсех Репутационных Агентствах или всеми участниками системы. ецентрализованный репутационный консенсус
Если использовать разработки из нашей более ранней работы [6],небезынтересно рассмотреть, как различные Репутационные Агентствадостигают децентрализованного консенсуса в отношении совместноиспользуемых репутационных данных. Предлагается следующий алгоритмадминистрирования этого процесса. Во время каждого цикла расчета репутации, каждое агенство отправляетдругим свою версию статуса репутационной системы или информацию осостоянии репутационных данных, определяя репутацию для всех известныхучастников. Для всех получателей в течение цикла каждое последующее полученноесостояние после первого должно быть идентичным предыдущему. Если очередное получаемое состояние не равно предыдущему, тогда наборп о с л е д у ю щ и х с о с т о я н и й о т м е ч а е т с я к а к о с п а р и в а е м ы й и вадминистрацию/службу текущего контроля отправляется предупреждение.4. Как только получен требуемый системный минимум послледовательныхидентичных состояний, состояние отмечается как достоверное, и большесостояния не принимаются. Когда получен указанный системный максимум не идентичных состоянийи имеется минимальное количество идентичных состояний, тогда состояние,которое поддерживается большинством отправлений, отмечается какдостоверное, больше состояния не принимаются, и в администрацию/службутекущего контроля отправляется предупреждение, идентифицирующееотправителей не идентичного состояния. Если в течение установленного системного периода, начиная с первогоотправления, не происходит описанное в п. 4 и п. 5, консенсус считаетсянарушенным, никакие репутации не обновляются, а в администрацию/службутекущего контроля отправляется предупреждение, что нужно проверить всюрепутационную систему. В случае применения вышеуказанного процесса в распределенныхсистемах, применяющих алгоритм достижения репутационного консенсуса для«доказательства права репутацией» или «Proof-of-Reputation» (POR) согласнонижеприведённому определению, голосование за принятое состояние репутацииможно проводить с учетом репутации самих Агентств репутации ссоответствующими изменениями в урегулировании спора, как это указано в п. 5выше.
Доказательство права репутацией
В случае, когда сообщество, которое применяет расчеты репутации, проводитраспределенные вычисления, необходимые для распределенного консенсуса врамках системы на основе распределенного реестра, такой как блокчейн,вычисленная репутация может использоваться для целей достиженияконсенсуса в самой системе. Уровень репутации, заработанной конкретнымузлом блокчейна, может влиять на его возможность повлиять на формированиеблока таким же образом, как имеющаяся вычислительная мощность в случаеProof-of-Work или «сумма финансовой ставки» в случае Proof-of-Stake. Такогорода консенсус можно назвать «доказательство права репутацией» или «Proof-of-Reputation» (POR).
Майнинг репутации
Если репутации поддерживаются при распределенной реализации, когда ихвычисляют посредством участия каждого участника сообщества, тогда этоможно считать процессом «майнинга». Чтобы это произошло, состояниярепутации, отправленные участниками, должны соответствовать протоколудецентрализованного репутационного консенсуса, описанного выше. В этомслучае участник или несколько первых участников, которые первыми отправилиоответствующие состояния репутации, признанные остальными участниками,имеют право получить компенсацию от сообщества, как это происходит валгоритме консенсуса Proof-of-Work посредством решения криптографическихзадач, не имеющих никакой практической ценности. Апробация в социальных сетях и блокчейнах
В процессе изучения возможностей практических вычислений репутации всуществующих социальных сетях и блокчейнах, проводились эксперименты наплатформе социальных вычислений Aigents [7,9] с использованием социальныхсетей, таких как Facebook и Google+, а также социальных сетей на основетехнологии блокчейн, таких как Steemit и Ethereum. Ниже мы подведемнекоторые итоги нашей работы.
Рис. 2.
Распределение участников сообщества в социальной сети на блокчейн Steemitдля ближайшего окружения выбранного «центрального» пользователя за выбранныйинтервал времени период на основании явных и неявных рейтингов. Вертикальнаяпозиция узла графа соответствует уровню репутации участника в данном ограниченномсообществе; размер кружка-«ореола» вокруг узла представляет сходство междусоответствующим участником и участником в центре графа; толщина стрелок междуузлами соответствует интенсивности явных и неявных рейтинговых взаимодействиймежду участниками. Верхняя диаграмма построена без логарифмической нормализации,нижняя с логарифмированием рассчитанных репутаций.
Facebook и Google+
Эти социальные сети, используемые платформой Aigents, позволяют оцениватьрепутации ближайшего социального окружения и пользователей систем,основанных на взаимодействии пользователя и других равноправныхпользователей на своей домашней странице. Результаты исследованийограниченного круга пользователей, которые согласились поделиться своимопытом, показывают значительную надежность в случае достаточноинтенсивного общения. С другой стороны, если большая часть общенияпользователя происходит в группах или на домашних страницах другихользователей, официальные программные интерфейсы социальных сетейограничивают доступ к этим данным, в связи с чем надежность результатовпадает. Также, к сожалению исследователей и разработчиков приложений, внастоящее время Facebook практически полностью ограничил официальныйдоступ к данным пользователей для разработчиков приложений, так что внастоящее время возможности подобных исследований за пределами самой сетиFacebook практически равны нулю. Из-за ограничений конфиденциальности,результаты анализа данных в этой статье приведены быть не могут.
Рис. 3.
Сетевой график отдельного сообщества Steemit вокруг нескольких «лидеровмнений» - на расстоянии до четырех сетевых переходов («рукопожатий»). В левомверхнему углу — использованы все типы рейтингов; в правом верхнем — толькокомментарии; в левом нижнем — только финансовые транзакции; в правом нижнем —только голосования.
Steemit
Поскольку социальная сеть Steemit основана на технологии публичногоблокчейна, все её результаты находятся в открытом доступе и представляютвозможность для исследования. Было проведено изучение многочисленныхпубличных аккаунтов на предмет вычислений репутаций по сетевымсоциальным графам, полученным из блокчейна. В этом случае явные рейтингитранзакций, такие как голосование за сообщения и комментарии, а такжеподразумеваемые рейтинги, такие как непрямые комментарии, использовались вупрощенном форме. То есть финансовая ценность в Steemit не ассоциироваласьс рейтингами, и подразумеваемая ценность комментария считаласьположительной вне зависимости от эмоционального тона комментария.Изучение показало, что такая упрощенная форма хорошо соответствуетожидаемой реальности, в соответствии с рассмотрением историивзаимодействия реальных участников. Попутно обнаружилось, чтоиспользование репутаций с логарифмической зависимостью позволяет болеечетко идентифицировать социальную структуру, как это показано на Рис. 2. Другое исследование на данных Steemit проводилось с использованиемметодов сетевого анализа с выборочным включением тех или иных видоврейтингов — включая финансовые транзакции, голосования и комментарии вразличных комбинациях — результаты исследования представлены на Рис 3. Вотличии от Рис. 2, относительная репутация участника сети в сообществепределялась не вертикальным положением, а только насыщенностью цвета, аграфическое пространство позволяет отражать структуру взаимодействия междуучастниками сообщества и его внутреннюю иерархию.
Ethereum
В блокчейне Ethereum доступны только финансовые рейтинги транзакций, и мыиспользовали их для вычисления изменения репутаций участников сети на всемпротяжении жизненного цикла Ethereum. Было обнаружено, что распределениеценностей финансовой транзакции слишком нелинейно и без примененияоперации логарифмирования в формуле расчета репутации распределениеучастников происходит по схеме «победитель забирает все», то есть нескольколидеров оказываются в самом верху репутационной иерархии, а все остальныеоказываются примерно на одном уровне около нуля. Поэтому нам пришлосьподключить логарифмическое масштабирование финансовых транзакций как науровне стоимости каждой транзакции, так и на уровне вычислениярепутационных состояний по каждому интервалу времени. В результатеоказалось возможно получить правдоподобные, хотя и существенно нелинейныераспределения репутации участников. Для оценки достоверности полученных результатов составлялся«эталонный список» участников с «ожидаемыми» значениями репутации, гдеа д р е с а п о т е н ц и а л ь н о « о п а с н ы х » с ч е т о в ( п о д а н н ы мhttps://etherscamdb.info/scams/) помечались значением 0.0, а адреса потенциально«благонадежных» участников (по данным https://etherscan.io/) помечалисьзначением 1.0. Репутации из данного списка сопоставлялись с расчетнымирепутациями участников экосистемы Ethereum расчетом коэффициентакорреляции по Пирсону. На сегодняшний день, результаты можно считать оченьпредварительными, так как на сегодняшний день не все варианты параметровбыли опробованы. Тем не менее, различные варианты дают стабильноположительные значения коэффициента корреляции между указаннымисписками, что указывает на возможность автоматического расчета ожидаемойрепутации участников экосистемы в реальном времени. Выводы и заключение
Данная статья является переводом нашей более ранней работы [10] снебольшими дополнениями в части результатов, полученных за прошедшиеполгода, а также нижеследующих выводов. Представлена исчерпывающая модель вычисления репутаций в много-агентных системах, основанная на различного рода историческихданных, представляющих разнообразные способы взаимодействиямежду агентами. Предложены различные способы построения репутационных систем, взависимости от конкретных условий и требований. Часть предложенных разработок доступна в виде вычислительнойплатформы персональной социальной аналитики Aigents на вебсайтеhttps://aigents. com а также в открытом коде платформы Aigents:https://github.com/aigents/aigents-java. Развитие репутационной системы и исследование её возможностей дляраспределенных экосистем и корпоративных систем ведется в рамкахпроекта по созданию экосистемы сервисов искусственного интеллекта соткрытым кодом SingularityNET: https://github.com/singnet/reputation. Продолжение работ идет как как в области имитационногомоделирования, для изучения устойчивости репутационной системырепутации и репутационного консенсуса к различного родаанипуляциям и видам мошенничества направленным на умышленноеискажение репутаций участников в пользу атакующих. Ожидается дальнейшее развития распределенных репутационныхсистем и репутационных агенств, основанных на обсуждаемыхпринципах, а также их дальнейшее усовершенствование существующих . Благодарности
Выражаем признательность Алексею Муравьеву и его коллегам за содействие винтеграции Aigents с сетью Steemit и мотивацию в выполнении этой работы, атакже - Евгении Сигачевой и её команде за помощь в переводе этой статьи нарусский язык.
Ссылки
1. Swamynathan G., Almeroth K., Zhao B.: The design of a reliable reputation system(Сваминатан Г. , Алмерот К. , Жао Б. Разработка надежной системы репутации).Electron Commer Res 10: 239–270, DOI 10.1007/s10660-010-9064-y, 31 августа 2010,стр. 239-270 (2010).2. Gupta M., Judge P., Ammar M.: A Reputation System for Peer-to-Peer Networks. (ГуптаМ., Джадж П., Аммар М.: Система репутации для пиринговых сетей.) Семинар поподдержке сетевых и операционных систем цифрового аудио и видео 2003г., 1–3июня, 2003г., Монтерей, Калифорния, США, ACM 1-58113-694-3/03/0006 (2003).3. Lamport L., Shostak R., Pease M.: The Byzantine Generals Problem. (Лэмпорт Л.,Шостак Р. , Пиз М. : Задача византийских генералов.) ACM Transactions onProgramming Languages and Systems, Том. 4, №. 3, Июль 1982, Страницы 382-401(1982).4. Cachin C., Vukolić M.: Blockchain Consensus Protocols in the Wild. (Качин К., ВуколичМ.: Протоколы консенсуса в блокчейне на практике) 31-й Международныйсимпозиум по распределенным вычислениям (DISC 2017), Редактор: Andréa W.Richa (Андреа Уи. Рича); Статья № 1; стр. 1:1–1:16, Материалы международнойконференции по информатике в Лейбнице, 10.4230/LIPIc - s.DISC.2017.1 (2017).5. Aigents: Proof of reputation as Liquid Democracy for Blockchain. Steemit (2017).(Aigents: Доказательство репутации как делегативная демократия для технологииб л о к ч е й н ) (https://steemit.com/blockchain/@aigents/proof-of-reputation-as-liquid-democracy-for-blockchain6. Kolonin A.: Reputation System Design for SingularityNET. (Колонин А.: Разработкас и с т е м ы р е п у т а ц и и д л я S i n g u l a r i t y N E T ) M e d i u m ( 2 0 1 8 ) .https://medium.com/@aigents/reputation-system-design-for-singularitynet-8b5b61e8ed0e7. Kolonin A., Shamenkov D., Muravev A., Solovev A.: Personal analytics for societies andbusinesses with Aigents online platform. (Колонин А.. Шаменков Д., Муравьев А.,Соловьев А.: Персональная аналитика для обществ и бизнеса с онлайн—платформой Aigents.) Международная мультиконференция по инженерным,компьютерным и информационным наукам SIBIRCON – 2017 – Материалыконференции (2017 г.).8. Garin E., Mescheriakov R. (Гарин Е., Мещеряков Р.): Method for determination of thesocial graph orientation by the analysis of the vertices valence in the connectivitycomponent. Вестник Южно-уральского государственного университета, Серия«Математика. Механика. Физика», 2017, том 9, № 4, стр. 5-12 (2017г.).9.