Is the G of the elliptic curve the same for Bitcoin and Ethereum? If yes, then why can't we send bitcoin and ether to same public address? If no, then what's the reason behind implementing it like that? If they use the same method, then one can send both coins to same public address, right?
Is the G in elliptical curve same for bitcoin and ethereum?
Yes Ethereum also uses the secp256k1 curve that is defined using the generator point:
Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
Gy = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8
If yes then why can't we send bitcoin and ethereum to same public address?
For a number of reasons. Firstly, Bitcoin and Ethereum define addresses differently. Bitcoin uses the bech32 format starting
bc1 and Ethereum uses a hexadecimal string starting
0x. Secondly, Bitcoin addresses contain a checksum at the end of the address (to flag incorrectly typed addresses) whilst Ethereum addresses don't. Thirdly, Ethereum only encodes the last 20 bytes of the public key into the address. Fourthly it is not just a raw public key that is encoded in a Bitcoin address. Bitcoin uses a scripting language "Script" that it uses to outline the conditions needed for the coins to move which generally includes requiring at least one signature associated with a particular public key. These conditions are baked into the address.
So yes don't try sending Bitcoin and Ethereum to the same address, you will lose your coins.
According to the other answer they do share the same G, however there is a slight difference between the term address and the term public key. An address generally is derived from a public key. The public key is a pair of coordinates that we get from multiplying with the curve Generator. Because that is the case, technically it may be possible for you to use the same public key on both Bitcoin and Ethereum, but this does not imply you can use the same address. That is because an address takes a public key runs it through somewhat of a one-way function. This one-way function is fundamentally different on Bitcoin and Ethereum, because neither network should have to build software to support all the upgrades for the opposing network.
Since they are completely different networks and scripting systems, simply sending Bitcoin to an ETH address will not succeed. Furthermore since interoperability between the two systems is also not a fundamental focus, there is little effort to create a wallet that would represent a valid address for both chains derived from the same public key, even though it might technically be possible.