this post was submitted on 09 Mar 2024
1297 points (94.2% liked)

Lemmy Shitpost

26776 readers
4012 users here now

Welcome to Lemmy Shitpost. Here you can shitpost to your hearts content.

Anything and everything goes. Memes, Jokes, Vents and Banter. Though we still have to comply with lemmy.world instance rules. So behave!


Rules:

1. Be Respectful


Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.

...


2. No Illegal Content


Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means:

-No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)

...


3. No Spam


Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.

...


4. No Porn/ExplicitContent


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.

...


5. No Enciting Harassment,Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.

...


6. NSFW should be behind NSFW tags.


-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.

...

If you see content that is a breach of the rules, please flag and report the comment and a moderator will take action where they can.


Also check out:

Partnered Communities:

1.Memes

2.Lemmy Review

3.Mildly Infuriating

4.Lemmy Be Wholesome

5.No Stupid Questions

6.You Should Know

7.Comedy Heaven

8.Credible Defense

9.Ten Forward

10.LinuxMemes (Linux themed memes)


Reach out to

All communities included on the sidebar are to be made in compliance with the instance rules. Striker

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] saigot@lemmy.ca 5 points 8 months ago* (last edited 8 months ago) (2 children)

Please share a source! I can't find anything as robust as a whitepaper (the bitcoin whitepaper doesn't use the term).

NIST informally defines it as:

A distributed digital ledger of cryptographically-signed transactions that are grouped into blocks. Each block is cryptographically linked to the previous one (making it tamper evident) after validation and undergoing a consensus decision. As new blocks are added, older blocks become more difficult to modify (creating tamper resistance). New blocks are replicated across copies of the ledger within the network, and any conflicts are resolved automatically using established rules.

Which git certainly meets this.

IBM informally defines it as:

Blockchain is a shared, immutable ledger that facilitates the process of recording transactions and tracking assets in a business network. An asset can be tangible (a house, car, cash, land) or intangible (intellectual property, patents, copyrights, branding).

Which git meets.

[–] Knock_Knock_Lemmy_In@lemmy.world 11 points 8 months ago* (last edited 8 months ago) (2 children)

Git is hash linked, not cryptographicly linked. Only cryptographicly valid changes are allowed to blockchain state. All data can be modified in git.

Yes. IBMs definition is bad and could equally apply to git. They've totally forgotten about the private key aspect.

I'll see if I can source a better definition online, but make no promises.

Edit: https://aws.amazon.com/what-is/blockchain/ the last line is not applicable to Git

[–] saigot@lemmy.ca 4 points 8 months ago* (last edited 8 months ago) (1 children)

Oh a 3rd definition, that definitely hurts the case that blockchain is vague ill defined term. If it were a well-defined term, there would be whitepapers defining it like merkle trees or bitcoin. Blockchain is just a marketing term defined by businesses, not scientists or engineers and thus is vague and variable.

I also don't think your definition is a very good definition. Do you think git fundamentally changes when it moves from sha1 to sha256? Or are you referring to the fact that the payloads of cryptocurrency's blockchain is required to be signed (just like you can optionally require git commits to be signed)? I don't think that's fundamental to blockchain either.

Only cryptographicly valid changes are allowed to blockchain state. All data can be modified in git.

No. You can't modify the chain in git. Each commit is an immutable snapshot of the repository. To change history you have to create a new hash and then broadcast that to everyone that they should stop using the old one. Depending in how your network is setup you may onky have to convince a centralized server, or you might have to convince 51% of the actors on your network or you may just choose to only form a network that agrees with you. You could alter bitcoin's blockchain too, but you'd need 51% of the network to agree with you.

[–] Knock_Knock_Lemmy_In@lemmy.world 5 points 8 months ago* (last edited 8 months ago) (1 children)

Oh a 3rd definition, that definitely hurts the case that blockchain is vague ill defined term.

The phrases used to describe the technology to the public may change, but the technolgical approach doesn't

If it were a well-defined term, there would be whitepapers defining it like merkle trees or bitcoin.

There are hundreds of blockchain whitepapers, all of which link blocks of data via hash functions and only accept state changes if they are valid and cryptographicaly signed.

Blockchain is just a marketing term defined by businesses, not scientists or engineers and thus is vague and variable.

If we were discussing web3 or Metaverse then you may have a point. But no-one in tech is confused about what blockchain is anymore.

Do you think git fundamentally changes when it moves from sha1 to sha256?

No.

Or are you referring to the fact that the payloads of cryptocurrency's blockchain is required to be signed

Yes. Exactly this.

(just like you can optionally require git commits to be signed)?

Optionally is the key word. Blockchain transactions must be signed, and they must be accepted as following the blockchain rules by validators.

I don't think that's fundamental to blockchain either.

Find me a blockchain that doesn't require signed transactions to make state changes.

No. You can't modify the chain in git.

I didn't say anything about modify the chain.

Each commit is an immutable snapshot of the repository.

A commit can contain any data it likes. A commit to a blockchain is highly restricted. Only cryptographicly valid rule following changes are allowed to blockchain state.

[–] cmhe@lemmy.world 1 points 8 months ago* (last edited 8 months ago) (1 children)

Optionally is the key word. Blockchain transactions must be signed, and they must be accepted as following the blockchain rules by validators.

But this is just a policy decision, not a property of the technology. You can easily implement a script that checks if every commit from remotes are signed, accepts them if they are and drops them if they aren't or the signature is invalid.

If you contribute to a project where the majority require signed commits, then you need to sign commits in order for your change to be integrated into the consensus.

That has nothing to do with the technology itself, just with the application.

So if you state that signatures are required to be a blockchain, then you can use git to create a blockchain, by just having that policy.

(IMO I wouldn't say that signatures are required, just that blockchains usually have them.)

[–] Knock_Knock_Lemmy_In@lemmy.world 2 points 8 months ago

You can easily implement a script that checks if every commit from remotes are signed, accepts them if they are and drops them if they aren't or the signature is invalid.

Now add some logic to check whether the actual data is valid (i.e. bob has enough coins in his account to send to Charlie).

Make some incentive to ensure only the main branch survives and forks are either eliminated or merged.

Automate

Now git replicates blockchain's functionality.

So if you state that signatures are required to be a blockchain, then you can use git to create a blockchain, by just having that policy.

Yes, but add automatically processing the content of the commit for validity and incentives to reduce the number of forks.

(IMO I wouldn't say that signatures are required, just that blockchains usually have them.)

Without public key cryptography you just have a hash linked list (like Git).

[–] uis@lemm.ee 1 points 8 months ago (1 children)

Hash is cryptographic function.

[–] Knock_Knock_Lemmy_In@lemmy.world 3 points 8 months ago (1 children)

A hash function doesn't check if a signature is valid. Neither does git. Blockchain does check.

[–] uis@lemm.ee 0 points 8 months ago (1 children)
[–] Knock_Knock_Lemmy_In@lemmy.world 1 points 8 months ago (1 children)
[–] uis@lemm.ee 1 points 8 months ago (1 children)

Again, find the difference. Each block(commit object) has its content(blobs and trees) and metadata like parent blocks(commit objects), time(and message). So one commit corresponds only to one history.

[–] Knock_Knock_Lemmy_In@lemmy.world 1 points 8 months ago (1 children)

But git can branch in multiple forks and states of the database. Blockchain has mechanisms to ensure there is convergence to one state.

[–] uis@lemm.ee 1 points 8 months ago* (last edited 8 months ago) (1 children)

Still haven't found it. You suddenly started talking about consensus protocol. Bitcoin blockchain branches too, but consensus protocol sets last block(HEAD in git) to block with longest history.

[–] Knock_Knock_Lemmy_In@lemmy.world 1 points 8 months ago

Ive not suddenly started talking about consensus protocols. Yes, selecting the next (not necessarily longest) block is part of that consensus, but so is checking that the data contained in a block is cryptographicly sound and is following the rules of that specific blockchain. That second part is not native to GIT.

If you like, you can think of blockchain as a subset of GIT that includes additional constraints.

[–] dev_null@lemmy.ml 1 points 8 months ago* (last edited 8 months ago)

How does it "certainly meet it"? There is no consensus mechanism in git, new blocks are not replicated across the network, there is no network at all, git works offline. You can replicate changes with remotes but there is no "git network" in any similar sense. And conflicts are definitely not resolved automatically. And the git hashes are certainly not cryptographic.

That's 4 ways it doesn't meet the definition. You could maybe stretch the meaning of a network to make it 3.