Очень хорошо, всё основное в одно месте, хотя точнее это «которые допускают начинающие разработчики», ну и надо коллективным разумом вспомнить чего не хватает, например, про «общий» except.
Нет, во-первых, новички не поймут проблему, во-вторых, не нужно новичкам вообще использовать global, он нужен очень редко и только тогда, когда понимают для чего он и почему без него нельзя обойтись.
Конечно, как же без global. А что будет, если этим ботом больше одного человека начнет пользоваться? Потом еще куча новичков на Тостер побежит, спрашивать, а чего это не работает.
У вас всё очень общее, как таковых «предложений реализации» нет, какие-то смешные утверждения, типа, «Предполагается, что у держателей шлюзов и бирж правильное ПО», «Получается 2 сети — хакерская, и нормальная» и прочее. И с чего бы это вас минусуют ;)
да у вас как-то всё очень поверхностно и нелогично, например:
1. официальная станция проверяет подлинность подписи
2. одна из неофициальных станций может заявить протест, если транзакция подписана неверной подписью клиента.
т.е. официальная считает подпись подлинной, а неофициальная не подлинной. Кто прав и как тогда проверить что подпись подлинная?
При этом ловите Exception, т.е. вообще все возможные ошибки, не делайте больше так.
Ну и если не используете with, учитывайте что close функция, ее надо вызывать (хотя при чтении это не критично)
1. официальная станция проверяет подлинность подписи
2. одна из неофициальных станций может заявить протест, если транзакция подписана неверной подписью клиента.
т.е. официальная считает подпись подлинной, а неофициальная не подлинной. Кто прав и как тогда проверить что подпись подлинная?