본문 바로가기
C.W.K.
Stream
Lesson 02 of 04 · published

원본과 걷어낸 사본

~11 min · 원본, 걷어낸-사본, 보존, 출처

Level 0찬 쇠
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

원본과 걷어낸 사본

봉인된 레일에서 Anvil은 모든 결과물을 두 형태로 보존해. 원본 사본은 자리가 실제로 제출한 것을 말하고, 걷어낸 배포 사본은 다른 자리와 가려진 화면에 전달해도 되는 것을 말해. 원본만 남기면 정체의 단서가 새고, 걷어낸 사본만 남기면 저자가 실제로 무엇을 썼는지 증명할 수 없어.

걷개는 배포 사본이 생기기 전에 알려진 모델·업체·브레인 이름과 스스로를 밝히는 단서 부류를 다른 말로 바꿔. 기록 줄기에는 민감한 문자열 자체가 아니라 어떤 부류가 걸렸는지만 기록해. 이건 범위가 정해진 장치지 완벽한 익명화 마법이 아니야. 사전에 없는 단서는 못 잡고 지나갈 수 있어.

원본과 걷어낸 사본은 같은, 덧붙이기만 하는 제출 사건에 딸린 영속 기록으로 남아. 나중에 규칙이 바뀌어도 예전 화면을 덮어쓰지 않아. 그때 무엇을 저장하고 전달했는지가 그대로 남아야 하니까.

Open Run은 더 가벼운, 다른 경계를 써. 보고서와 진행 방식 공개, 그 밖의 산문에는 눈에 띄는 단서만 걷어내지만, 코드 같은 결과물 파일은 망가뜨리지 않도록 바이트 그대로 둬. 대놓고 서명을 남기면 제출이 막힐 수 있어도, 그 회차의 과제서가 이미 쓰는 낱말은 허용돼.

원본은 제출된 진실이고 걷어낸 사본은 전달된 진실이야. 둘 다 보존하고, 가리는 장치가 무엇을 보장하고 무엇을 못 하는지 솔직히 밝혀.

Code

제출 하나, 봉인 레일에서의 두 가지 사본·python
def archive(submission_id, author_bytes, scrub):
    """한 사건에 두 사본이 함께 매달린다. 둘 중 하나만 남기면 무언가를 잃는다."""
    scrubbed, hit_classes = scrub(author_bytes)
    return {
        "submission_id": submission_id,
        "raw": author_bytes,            # 저자가 실제로 쓴 것 (증명용)
        "scrubbed": scrubbed,           # 남에게 건네도 되는 것 (전달용)
        "scrub_hits": hit_classes,      # 부류만. 내용은 절대 아님
    }


def fake_scrub(b):
    return b.replace(b"vendor-a", b"[REDACTED]"), ["model-name"]


rec = archive("s-01", b"built by vendor-a", fake_scrub)

assert rec["raw"] != rec["scrubbed"]                  # 둘은 다르다
assert b"vendor-a" in rec["raw"]                      # 원본은 온전하다
assert b"vendor-a" not in rec["scrubbed"]             # 배포본은 걷렸다
assert rec["scrub_hits"] == ["model-name"]            # 기록엔 부류만
print(rec["scrubbed"], rec["scrub_hits"])

External links

Exercise

봉인된 레일의 제출 하나와 Open Run의 제출 하나를 놓고, 살아 있는 회차에서 저자·다른 자리·아빠·심사위원이 각각 어떤 사본을 받을 수 있는지 적어 봐.
Hint
두 레일은 정체의 진실과 전달 장치가 서로 달라.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.