Blockchain-Based Contribution Tracking for Collaborative Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current collaborative coding environments lack a fair and secure method to track and measure programmer contributions, leading to trust issues and difficulties in credit assignment and dispute resolution, especially in public or decentralized spaces.

Innovation Solution

A distributed network of computer nodes using blockchain technology to record and verify programmer contributions, ensuring transparency and immutability of code transactions, with smart contracts managing agreements and tracking contributions as blocks in a shared ledger.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a distributed blockchain network is used to track programmer contributions, then transparency and security of contribution tracking are improved, but system complexity and operational overhead increase

Engineering Contradiction:
Improvecontribution tracking securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the blockchain network into multiple independent computer nodes that each maintain copies of the ledger. This segmentation allows the system to achieve high reliability through distribution while managing complexity by making each node independently operable and identical in structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each computer node in the network is designed to perform multiple functions: storing blockchain data, validating transactions, creating blocks, and communicating with other nodes. This multi-functionality reduces overall system complexity by eliminating the need for specialized components for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If all computer nodes communicate directly with each other, then network reliability and decentralization are improved, but communication overhead and processing time increase

Engineering Contradiction:
Improvenetwork decentralizationVSAvoidcommunication time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-establishing direct communication channels between all nodes and pre-validating transaction formats before they enter the network. This allows nodes to process transactions more efficiently once they are in the network, reducing overall communication and processing time.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If code submissions are verified and added as blocks to the blockchain, then contribution measurement accuracy is improved, but transaction processing time and computational resources increase

Engineering Contradiction:
Improvecontribution measurement accuracyVSAvoidtransaction processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The blockchain system performs self-service by automatically verifying code submissions, validating transactions, and adding blocks to the ledger without requiring external intervention. This automation improves measurement accuracy while reducing overall processing time by eliminating manual verification steps.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where nodes verify transactions and provide confirmation to the network. This feedback loop ensures accurate contribution measurement while the parallel verification process across multiple nodes reduces overall processing time through concurrent validation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10438170B2Blockchain for program code credit and programmer contribution in a collective
Publication Date: 2019.10.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10438170B2 patent drawing
  • US10438170B2 patent drawing
  • US10438170B2 patent drawing

AI summary

A system for producing a computer program code collaboratively using blockchain includes a plurality of computer nodes, the plurality of computer nodes forming a distributed network for collaborative work. Each of the computer nodes communicates directly with the others, and is operated by a user in accordance with a common smart contract. Contributions of each of the users are entered into the blockchain at respective computer nodes as blocks when transactions have been completed in accordance with the following steps: writing code for inclusion in said computer software program; submitting the code for the computer software program to the distributed network to complete a transaction to add a block with the code to the blockchain of the computer software program; detecting by the distributed network of the submission of code for the computer software program; and adding the code as a block to the blockchain of the computer software program.