Does a smart contract have a private key ? Can it send the result of exucuting his code to the other nodes ?
There are two types of accounts in Ethereum: 1. Externally Owned Accounts(EOA) 2. Contracts Accounts
Every contract binds to a contract account. Contracts accounts has associated code and code execution is triggered by transactions or messages (calls) received from other contracts. So the contract account is not managed by a private key but transactions/messages from EOAs or other contract accounts. And yes, it can send result through sending message to other "contract".