async initJoin() {
    $.checkState(this.#round == 0, 'initJoin must be called before the rounds ');

    const unsignedMessageR1 = await this.#dkg.initDkg();
    const serializedMsg = DklsTypes.serializeBroadcastMessage(unsignedMessageR1);
    const signedMessage = await DklsComms.encryptAndAuthOutgoingMessages(
      { broadcastMessages: [serializedMsg], p2pMessages: [] },
      [],
      this.#authKey
    );

    return this._formatMessage(signedMessage);
  }
Initialize the keygen session with a broadcast message to send to the other participants
@returns {Promise<{round: number, partyId: number, publicKey: string, p2pMessages: Object[], broadcastMessages: Object[]}>}