2

I understand all wallets must connect to some kind of node that exposes JSON-RPC, either a publicly run Node as a Service, or run by yourself.

My question is, why can't you post transactions to the network without running permanent software? If it's about discovery, well nodes discover each other and your bittorrent browser discovers seeds.

Having to access nodes lowers anonymity, because now you are either dependent on a NaaS company, or you're dependent on a cloud company that you would use to run your node.

2 Answers 2

2

First of all, blockchain network is made up of nodes. When you are connecting to a node, it means you are connecting to the network itself.

If there are no nodes, there is no blockhain.

Let us recall the blockchain definition one time: Blockchain is a distributed-decentrailized ledger that stores transactions.

While the distributed ledger is composed of different computers(nodes) that stores the data synchronously to the other nodes, there is a single point of authority. For example, AWS. While AWS uses distribtued technology, they have control all over the serves.

However, there is no single point of control in the blockchain. So It is decentrailized too.

Now, the answer to your question is simple. You can do that. But it is just everytime you want to post a transaction to the network, you need to download all the transactions that happened since your node went down to stay sync to the other nodes in the network and also maintain the consensus.

Which is big headache and time waste if you ask me. Instead of doing that you can simply run the node all the time and submit the transaction when you want.

There are different types of nodes in the network. Full nodes, and Archive nodes, and light nodes.

You can read more about full node and archive node here.

As for the light node, it just maintain headers of the block. And used to query and sumbit the transaction.

Although running a light node is suffice to sumbit the transaction, you still have to download all the blockheaders after your node went down.

And the reason to download the all historic data is also simple - verify transactions and avoid double spending.

You can read more about nodes here.

Tell me if it helps!

EDIT:

Blockchain: What are nodes and masternodes?

Blockchain Node Providers and How They Work

Introduction to Blockchain: Fundamentals

The Actual Networking behind the Ethereum Network: How It Works

As I have explained below, the node discovery works like this:

Your PC -> Internet(JSON RPC for ethereum) -> node[Node discovery protocol] -> Other nodes(blockchain)

5
  • I understand why there are nodes. My question is why do you have to run node software to broadcast transaction requests
    – f.khantsis
    Sep 23, 2022 at 12:24
  • You might have stumbled upon terms called on-chain and off-chain. Blockchain is an isloated system. Especially, EVM, it runs on sandbox environment. So only way to communicate with the blockchain is by nodes. For example, if you are running a node your computer, node is not even capable of knowing the your local time, even though it is running on your system. That is why evm calculates time through block creation. Of course, blockchain now is able to communicate with real world(off-chain) with the help of oracles. That is but an extra layer built on the network not the built-in feature itself.
    – Ad-h0c
    Sep 23, 2022 at 14:27
  • Think of blockchain as iron-wall room. And only way to enter or exit the room through multiple doors it have. And the doors are in fact nodes. So that is the reason you have run nodes to broadcast the transactions or even query the data.
    – Ad-h0c
    Sep 23, 2022 at 14:29
  • So what necessitates running of a node to send transaction requests? Nodes communicate with each other over the internet, and discover each other over the internet. So why can't you use the same discovery protocol to send your transaction request into the ether without relying on a specific cloud, NaaS, or on premises node?
    – f.khantsis
    Sep 23, 2022 at 18:27
  • Each blockchain uses different types of protocols. For example, ethereum uses node discovery protocol to communicate between the nodes. And you cannot use the node discovery protocol, if you are not the node itself. It is no brainer. Also, you use JSON-RPC to communicate with the node from your computer. I have added some links in my answer above. Please read them for further clarification. If you think I have answered your question, consider accepting the answer. Thank you.
    – Ad-h0c
    Sep 25, 2022 at 3:59
1

Blockchain is a p2p network of nodes running virtual machines. The only way to interact with a chain - is through its virtual machine (EVM in the case of ethereum-like chains). You may want to run your own gateway for privacy purposes (https://ethereum.org/en/run-a-node/). Node providers like Alchemy / Infura / Ankr simplify it for you, handling all the hardware and software administration. There are also lots of public nodes (https://chainlist.org/). Anyways, "permanent running software" is the idea of decentralization and data distribution.

3
  • I understand that you can run a node, or use a public node. But running a node is heavy, and using a provider is not decentralized. I am wondering why can't regular computers off the internet send transaction requests.
    – f.khantsis
    Sep 23, 2022 at 12:26
  • lol what do u mean by normal computer? normal computer runs software to access different networks with different protocols, same as we're here chatting via www protocols, such a HTTP. you need software to follow and access protocols and data in chain. pls try to read docs first before ask something Sep 23, 2022 at 14:49
  • By normal computer I mean a computer that is not running heavy node software.
    – f.khantsis
    Sep 23, 2022 at 18:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.