Hello, in my attempts at creating an alternative to bitcoin from scratch, I encountered this serious issue related to transaction signing. I am capable to sign transaction details locally, but if I sign the transaction locally and then broadcast the ledger update, the transaction signing does not matter, because I can forge the file after signing the transaction.
Where exactly is the transaction signed in Bitcoin
In the scriptSig.
and how is it assured that the transaction broadcasted to peers is indeed signed and not forged?
A proof-of-work system is used to maintain the consensus on which transactions have actually occurred.
Perhaps you should try reading the whitepaper?
https://bitcoin.org/bitcoin.pdfIs the only solution really a ledger with history of all transactions?
The public ledger with a proof-of-work to establish consensus is the ingenious solution that Satoshi Nakamoto came up with after a few decades of others failing to come up with workable solutions. Prior to that, the only known solution was a centralized system where a "clearing house" was used to keep track of which transactions actually occurred. If you come up with a decentralized solution that doesn't require a public ledger, let us know.