Skip to content

Commit

Permalink
Increased sync timeout, relaxed validity threshold (#4)
Browse files Browse the repository at this point in the history
  • Loading branch information
maxirmx authored Apr 14, 2024
1 parent 7ecddbc commit b6daf0b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 13 deletions.
14 changes: 7 additions & 7 deletions dkgNode/Services/DkgNodeServer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -221,14 +221,14 @@ public void RunDkg()
}

// Таймаут, который используется в точках синхронизации вместо синхронизации
int syncTimeout = Math.Max(1000, Configs.Length * 500);
int syncTimeout = Math.Max(10000, Configs.Length * 1000);

PublicKeys = new IPoint[Configs.Length];

// Пороговое значение для верификации ключа, то есть сколько нужно валидных commitment'ов
// Алгоритм Шамира допускает минимальное значение = N/2+1, где N - количество участников, но мы
// cделаем N-1, так чтобы 1 неадекватная нода позволяла расшифровать сообщение, а две - нет.
int threshold = PublicKeys.Length - 1;
int threshold = PublicKeys.Length/2 + 1;

// 1. Собираем публичные ключи со всех участников
// Тут, конечно, упрощение. Предполагается, что все ответят без ошибкт
Expand Down Expand Up @@ -260,7 +260,7 @@ public void RunDkg()
}

// Здесь будут distributed deals (не знаю, как перевести), предложенные этим узлом другим узлам
// <индекс другого узла> --> наш deal для другого узла
// <индекс другого узла> --> наш deal для другого узла
Dictionary<int, DistDeal> deals = [];

if (ContinueDkg)
Expand All @@ -282,7 +282,7 @@ public void RunDkg()
deals = DkgNodeSrv.Dkg.GetDistDeals() ??
throw new Exception($"Could not get a list of deals");
}
// Исключение может быть явно созданное выше, а может "выпасть" из DistKeyGenerator
// Исключение может быть явно созданное выше, а может "выпасть" из DistKeyGenerator
// Ошибки здесь все фатальны
catch (Exception ex)
{
Expand All @@ -295,7 +295,7 @@ public void RunDkg()
IPoint? distrPublicKey = null;

// 3. Разошkём наши "предложения" другим узлам
// В ответ мы ожидаем distributed response, который мы для начала сохраним
// В ответ мы ожидаем distributed response, который мы для начала сохраним

if (ContinueDkg)
{
Expand All @@ -305,7 +305,7 @@ public void RunDkg()
// Console.WriteLine($"Querying from {Index} to process for node {i}");

byte[] rspb = [];
// Самому себе тоже пошлём, хотя можно вызвать локально
// Самому себе тоже пошлём, хотя можно вызвать локально
// if (Index == i) try { response = DkgNode.Dkg!.ProcessDeal(response) } catch { }
var rb = Clients[i].ProcessDeal(new ProcessDealRequest { Data = ByteString.CopyFrom(deal.GetBytes()) });
if (rb != null)
Expand Down Expand Up @@ -341,7 +341,7 @@ public void RunDkg()
{
for (int i = 0; i < PublicKeys.Length; i++)
{
// Самому себе тоже пошлём, хотя можно вызвать локально
// Самому себе тоже пошлём, хотя можно вызвать локально
// if (Index == i) try { DkgNode.Dkg!.ProcessResponse(response) } catch { }
Clients[i].ProcessResponse(new ProcessResponseRequest { Data = ByteString.CopyFrom(response.GetBytes()) });
}
Expand Down
13 changes: 7 additions & 6 deletions docker-compose-ghrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ services:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=8080
- ASPNETCORE_HTTPS_PORTS=8081
- Kestrel__Certificates__Default__Password_FILE=/etc/dkg/s.pwd
- ASPNETCORE_Kestrel__Certificates__Default__Path=/etc/dkg/s.pfx
- ASPNETCORE_Kestrel__Certificates__Default__Password=
ports:
- "8080:8080"
- "8081:8081"
Expand All @@ -25,7 +26,7 @@ services:
environment:
- DKG_NODE_SERVER_GRPC_PORT=5001
- DKG_NODE_SERVER_GRPC_HOST=dkg_node_1
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8081
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8080
- DKG_NODE_SERVER_NAME=First node
ports:
- 5001:5001
Expand All @@ -41,7 +42,7 @@ services:
environment:
- DKG_NODE_SERVER_GRPC_PORT=5002
- DKG_NODE_SERVER_GRPC_HOST=dkg_node_2
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8081
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8080
- DKG_NODE_SERVER_NAME=Second node
ports:
- 5002:5002
Expand All @@ -54,7 +55,7 @@ services:
environment:
- DKG_NODE_SERVER_GRPC_PORT=5002
- DKG_NODE_SERVER_GRPC_HOST=dkg_node_3
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8081
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8080
- DKG_NODE_SERVER_NAME=Third node
ports:
- 5003:5003
Expand All @@ -67,7 +68,7 @@ services:
environment:
- DKG_NODE_SERVER_GRPC_PORT=5004
- DKG_NODE_SERVER_GRPC_HOST=dkg_node_4
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8081
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8080
- DKG_NODE_SERVER_NAME=Fourth node
ports:
- 5004:5004
Expand All @@ -80,7 +81,7 @@ services:
environment:
- DKG_NODE_SERVER_GRPC_PORT=5005
- DKG_NODE_SERVER_GRPC_HOST=dkg_node_5
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8081
- DKG_SERVICE_NODE_URL=http://dkg_service_node:8080
- DKG_NODE_SERVER_NAME=Fifth node
ports:
- 5005:5005
Expand Down

0 comments on commit b6daf0b

Please sign in to comment.