nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 16 Apr 2024 06:25



Reply to topic  [ 25 posts ]  Go to page Previous  1, 2
[Realms] децентрализованные виртуальные миры 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
вот думаю, а не уйти ли в полную анонимность? т.е. никаких е-мейлов и паролей - только ключ!

Тебе, конечно, виднее... но анонимность сейчас не тренд Интернета...
На многих радиотехнических сайтах тебе картинку скачать не дадут без регистрации. :-?
На мой взгляд - это перебор... но таков уж общий тренд сейчас...

ну можно скажем совсем новичкам запрещать общаться в чате - пусть только бродят как массовка :lol:
если они начнут участвовать в виртуальной экономике (выполнять контракты и зарабатывать виртуальные деньги), то у них будет расти карма и если карма будет больше скольки-то, то можно разрешать писать в чат (карму можно быстро заминусовать если они начнут хулиганить)
и потом полной анонимности небудет - система будет знать IP-адрес пользователя в любом случае :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


27 Sep 2020 01:35
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Интересный вопроc - чем собственно могут отличаться реалмы (т.е. Realm Virtburg скажем от какого-то гипотетического Realm Sirius)?

Что-то мне думается, что валюта между ними должна быть одна и таже ( Realm(s) Credits? ), но скажем пороги вхождения в разные реалмы могут быть разными - т.е. 100 кредитов, дающихся новому пользователю Realm Virtburg не даются просто так - пользователь выполняет какую-то задачу на своём компьютере, чтобы заработать эти кредиты. Другой реалм может иметь более низкий порог вхождения (скажем 10 кредитов или 1 кредит), но соответственно там может быть больше "хулиганов", которые зашли просто нагадить.

Может ли один и тот же пользователь иметь разные имена в разных реалмах? Да нет проблем!

Может ли пользователь заработать виртуальные деньги в одном реалме и истратить в другом? Наверное нет (т.к. в другом реалме может оказаться слишком просто их заработать) - скорее всего юзер входя в реалм первый раз переводит свои заработанные кредиты в виртуальные деньги реалма, но тогда валюты в разных реалмах будут всё-таки разные (хоть и эквивалентные).

Может ли пользователь заработать больше чем 100 кредитов, чтобы прийти в реалм с большим количеством денег? По идее в его виртуальном кошельке могут быть сколько угодно заработанных кредитов, но наверное при заходе в реалм первый раз надо брать только 100, чтобы все новички были равноправными (у каждого по 100).

Может ли пользователь дозаработать кредитов после того как зашёл в реалм и перевёл первые 100 кредитов? Наверное дозаработать может (выполнив ещё вычислительных задач), но он не сможет ввести заработанное в тот же самый реалм, куда он уже зарегистрировался, но он может перевести остаток на другой кошелёк - другому пользователю, причём как бесплатно, так и за реальные деньги! т.е. теоретически человек может не ждать 1 час, зарабатывая 100 кредитов, а может просто КУПИТЬ их на рынке за баксы и сразу зарегистрироваться в желаемом виртуальном мире (в данном случае Realm Virtburg)!!!

Выходит, что узел сети Realm(s), неподключённый ни к одному Realm, является чисто узлом некоей новой криптовалюты со своим блокчейном?...

P.S. Или может просто сесть на хвост к Ethereum и сделать всё на его платформе со смарт-контрактами и нон-фанджибл токенами?...

P.P.S. С другой стороны, если верить сайту https://www.stateofthedapps.com/ в настоящий момент существует 14 развитых платформ для распределённых приложений на блокчейнах:

  • Ethereum
  • EOS
  • Klaytn
  • Hive
  • Blockstack
  • ICON
  • Steem
  • POA
  • xDai
  • Neo
  • OST
  • Loom
  • GoChain
  • TRON

Так что добавление в этот список ещё одной платформы всего лишь требует выполнения следующих условий:

  • Public DApp platform with smart contract capability
  • Mainnet launched
  • Decentralized nodes operated by separate parties
  • Open source codebase
  • At least 10 DApps live
  • Block explorer that can link to individual contracts

P.P.P.S. Вот например 10 самых популярных распределённых приложений (Dapps) в категории Games (отсортировал по убыванию количества активных пользователей за сутки):
Attachment:
Screenshot from 2020-09-28 01-52-54.png
Screenshot from 2020-09-28 01-52-54.png [ 157.59 KiB | Viewed 4740 times ]

Вот например такая игра есть:
Attachment:
Screenshot from 2020-09-28 02-39-41.png
Screenshot from 2020-09-28 02-39-41.png [ 526.61 KiB | Viewed 4739 times ]

Судя по описанию, автора этой игры посещали те же мысли, что и меня 20 лет назад, когда я обдумывал Виртбург :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


27 Sep 2020 04:02
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
В биткоине (и многих других криптовалютах) для записи адресов в человеческом формате используется контринтуитивная система кодирования Base58 (это когда последовательность битов заменяется на последовательность символов в количестве 58 штук, т.е. не являющимся степенью двойки - 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz) - я думаю у нас за основу можно взять что-то более стандартное и простое (с основанием, которое есть степень двойки), например систему кодирования Base32 описанную в RFC4648: https://tools.ietf.org/html/rfc4648#section-6 (более распространённая base64 для записи названий ключей не подходит т.к. там есть похожие символы O и 0, 1 и l, а также символы нецифробуквенные, которые при клике в текст мышой определяются как разделители и не выделяются). При кодировании Base32 (ABCDEFGHIJKLMNOPQRSTUVWXYZ234567) ключ длиной 32 байта (256 битов) будет закодирован 52 символами, причём последний 52й символ покроет только последний бит и т.к. лишние 4 бита всегда будут нулями, то последним символом может быть только один из двух символов A (последний бит 0) или Q (последний бит 1). При ручном вводе ключа если человек ошибся и написал 1 или 0, то их можно автоматически подменять на I и O - точно также 8 можно подменять на B (ошибка такого плана менее вероятна, но кто знает - пусть такая замена тоже будет).

P.S. А вот в Ethereum используется обычная hex-запись, например https://etherscan.io/address/0x9469d013805bffb7d3debe5e7839237e535ec483

_________________
:dj: https://mastodon.social/@Shaos


28 Sep 2020 01:11
Profile WWW
Senior
User avatar

Joined: 21 Aug 2018 07:39
Posts: 164
Location: Кемеровская обл.
Reply with quote
Ноль должен быть с чертой :twisted:
Интересно с каких пор пошла мода на пустые нули?


28 Sep 2020 08:28
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Ну в графических средах нули редко перечёркнутые

Подумалось тут как сортировать текстовые строки, записанные в base32 (ABCDEFGHIJKLMNOPQRSTUVWXYZ234567) - наверное можно временно подменить 234567 на [\]^_` тогда символы будут идти чётко друг за другом в соответствии с кодами ASCII, а после сортировки вернуть обратно 2...7

Ну или в бинарном виде сортировать, а base32 использовать только для ввода человеком и вывода человеку...

_________________
:dj: https://mastodon.social/@Shaos


06 Oct 2020 22:37
Profile WWW
Senior
User avatar

Joined: 21 Aug 2018 07:39
Posts: 164
Location: Кемеровская обл.
Reply with quote
Как вариант от начинающего Кэпа: сделать свою таблицу кодирования где цифры идут первыми.
Или нужна совместимость с base32?


06 Oct 2020 23:02
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Icer wrote:
Как вариант от начинающего Кэпа: сделать свою таблицу кодирования где цифры идут первыми.
Или нужна совместимость с base32?

Лучше брать что-то стандартное, чтобы не возникало недовольства пользователей :no:

_________________
:dj: https://mastodon.social/@Shaos


06 Oct 2020 23:07
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Существующие нынче криптовалюты подтверждают создание блока (consensus) либо через Proof-of-Work (перебирание хешей, чтобы получить красивый хеш с определённым количеством нулей вначале) либо через Proof-of-Stake (голосуют только те, у кого фантиков накопилось больше) с небольшими вариациями (см. https://www.investopedia.com/terms/c/consensus-mechanism-cryptocurrency.asp). Я вот задумался про новую концепцию "Proof-of-Useful-Work", чтобы не просто тупо хеши считать, а делать что-то полезное, например запускать некие полезные программки, выдающие предсказуемый и повторяемый вывод (оказывается уже были такие мысли и у других - см. видео тут: https://www.coursera.org/lecture/cryptocurrency/proof-of-useful-work-aD8Pb).

P.S. Вот такая штука существует какое-то время - типа криптовалюта на базе BOINC вычислений: https://gridcoin.us/
Минус на мой взгляд что BOINC программы приходят отдельно и имеют полный доступ к машине как обычные программы
В реальности полезные вычисления должны быть на виртуальной машине, работающей песочнице - чтобы небыло доступа к диску и к чужим областям памяти
И можно даже сделать так, чтобы исключить центральный авторитет, который будет эти программы одобрять-неодобрять - типа засылать в сетку можно будет любые программы, но они должны выдавать повторяемый результат и работать какое-то определённое время, иначе засылальщик будет наказан временным или постоянным отключением от сети.

P.P.S. Программы могут быть такие, где можно относительно быстро проверить результат (например поиск каких-то паттернов игры Жизнь либо построение оптимальных троичных схем в DDT) - тут всё понятно, а могут быть программы, результат работы которых неизвестен (например проведение массовых боёв роботов по типу Robot Warfare 1 или 3D рендеринг через трассировку лучей) - в этом случае проверка результата будет заключаться в выполнении того же задания на некоторых других узлах и последующей сверке результатов (если какой-то узел выдаёт левоту, несовпадающую с как минимум двумя другими копиями, то его надо наказывать)...

_________________
:dj: https://mastodon.social/@Shaos


12 Oct 2020 01:50
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Realms Credits (RC) можно разбить на более мелкие части:
Code:
mRC -> milliRC (1/1000)
uRC -> microRC (1/1000000)
nRC ->  nanoRC (1/1000000000)
pRC ->  picoRC (1/1000000000000)
(хотя наверное пико сильно мелковато будет)

P.S. Например по умолчанию, когда узел не участвует ни в одном реалме, он не может получать или отправлять сообщения (чтобы исключить спам), но если очень надо, то можно послать ненулевое количество RC денег кому-то, написав сообщение в поле memo, и минимальным ненулевым количеством денег может стать 1 nRC :mrgreen:

P.P.S. Плюс как минимум 1 nRC пойдёт валидаторам блока для включения транзакции в блок, который потом прицепится в блокчейн - сумма всех денег на оплату транзакций включённых в блок может быть поделена между тремя валидаторами - 50% может пойти самому первому валидатору, решившему задачу и по 25% двум другим, которые быстрее всего подтвердили корректность решения...

_________________
:dj: https://mastodon.social/@Shaos


13 Oct 2020 01:22
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
Reply with quote
Shaos wrote:
В биткоине (и многих других криптовалютах) для записи адресов в человеческом формате используется контринтуитивная система кодирования Base58 (это когда последовательность битов заменяется на последовательность символов в количестве 58 штук, т.е. не являющимся степенью двойки - 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz) - я думаю у нас за основу можно взять что-то более стандартное и простое (с основанием, которое есть степень двойки), например систему кодирования Base32 описанную в RFC4648: https://tools.ietf.org/html/rfc4648#section-6 (более распространённая base64 для записи названий ключей не подходит т.к. там есть похожие символы O и 0, 1 и l, а также символы нецифробуквенные, которые при клике в текст мышой определяются как разделители и не выделяются). При кодировании Base32 (ABCDEFGHIJKLMNOPQRSTUVWXYZ234567) ключ длиной 32 байта (256 битов) будет закодирован 52 символами, причём последний 52й символ покроет только последний бит и т.к. лишние 4 бита всегда будут нулями, то последним символом может быть только один из двух символов A (последний бит 0) или Q (последний бит 1). При ручном вводе ключа если человек ошибся и написал 1 или 0, то их можно автоматически подменять на I и O - точно также 8 можно подменять на B (ошибка такого плана менее вероятна, но кто знает - пусть такая замена тоже будет).

P.S. А вот в Ethereum используется обычная hex-запись, например https://etherscan.io/address/0x9469d013805bffb7d3debe5e7839237e535ec483

Для укорачивания адресов можно воспользоваться ещё не сломанным хешом 25-летней давности RIPEMD-160 (как в биткоине):

https://homes.esat.kuleuven.be/~bosselae/ripemd160.html

20-байтовый хеш в таком случае форматом Base32 будет закодирован в виде строки длиной всего 32 символа, что несколько лучше, чем 52 символа...

_________________
:dj: https://mastodon.social/@Shaos


30 May 2021 01:35
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 25 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.