Please try the following:
 - It seems like you've tried to created a custom chain definition to synchronise and validate with different authorities. But you've only created a custom chain specification customSpec.json based on code changes in a "dev" chain id that should be specified in src/chain_spec.rs. But you don't have a chain id "dev" since it appears you renamed that chain id to "tread_dev" [here][1], so create your custom chain specification with the correct chain id that exists:
```bash
./target/release/transmit-node build-spec --chain tread_dev --disable-default-bootnode > customSpec.json
``` 
Also after trying to generate a chain specification you've tried to then build a "raw" chain definition for the new chain from the custom chain specification, but you haven't used `--raw`, so try using that flag as shown below:
```
./target/release/transmit-node build-spec --chain customSpec.json --disable-default-bootnode --raw > dev.json
```
 - Have you tried changing the `--node-key` to `88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee` (without the `0x` prefix)? 
 - Why don't you explicitly specify a different `--rpc-port` for Bob (i.e. 9934) and Charlie (i.e. 9935) other than the RPC port 9933 that Alice is using? 
 - Why are you running two Charlie validators (both using `--charlie`) instead of just one Charlie and one Dave `--dave`? 
 - Have you tried using `--unsafe-ws-external` and `--unsafe-rpc-external` too? 
 - Does `unsafe` need to use a capital letter like `--rpc-methods=Unsafe`? 
 - Why do you need `--in-peers 256`? 
 - Have you tried using `--execution=native -lruntime=debug`?


  [1]: https://github.com/justinFrevert/transmit-test/blob/main/node/src/chain_spec.rs#L69